2013-06-26 25 views
0

所以我想用django nginx解決方案提供一些文件。問題是許多正在服務的文件具有巨大的大小,並且用戶有一些配額來下載文件。 所以我怎麼能找出多少文件大小服務於用戶?我的意思是說,也許用戶關閉下載文件連接。所以我怎麼才能找到合適的服務規模?如何找出nginx提供多少文件大小?

謝謝!

回答

1

使用Nginx,您可以使用log_module來記錄推送到日誌文件的帶寬量,但這不完全是您想要的,但可以幫助實現您的願望。

因此,現在您將擁有可以解析的日誌,以獲取文件大小和總帶寬,然後使用腳本更新數據庫,然後您可以授權將來的下載,如果達到其限制或在某些軟件極限範圍。

Server Fault with similar question

另一種選擇是,做一個假設,保存在一個數據庫中的文件大小,只要保持理貨的請求,以便當過他們打一個下載鏈接,它會立即增加他們的下載數量,如果是超過他們的限制,然後只是無效鏈接,否則使鏈接有效,並將它們傳遞給Nginx。

另一種選擇是編寫一個定製的Nginx模塊,它在更細粒度的層次上執行增量,但這可能比您的情況需要更多的炒作。

+0

好的。謝謝@sean。第一個解決方案可以考慮作爲最後的解決方案! :D但關於你的第二個選擇。這不完全是我想要的。比方說,用戶請求一個400 MB的文件,只收到2MB並關閉他的連接。所以呢?我不能減少400MB的報價!我只需爲該用戶設置2MB的帶寬使用量。 – DrHossein

+0

這是真的,我不完全確定如何最好地處理,只是使用日誌本身,因爲它是非常粗糙的粒度。 – sean