2010-11-17 38 views
1

我在乘客/ nginx上運行Rails應用程序的紅寶石。該應用程序允許用戶下載訪問非常大的文件(虛擬機備份,有時爲200Gigs),並且我與ISP之間的連接速度高達100 Mbit/sec。如何限制使用Rails或Nginx的下載速度

問題是,如果你開始下載這些大文件中的一個,轉移將盡可能高,這是我不想要的。我希望將這些大文件的下載限制爲固定速率,例如150 Kbps,同時仍允許應用程序其他部分的速度更快。這可能嗎?

+0

對我來說這是一個serverfault的問題。這是一個nginx配置。 – shingara 2010-11-17 14:55:21

回答

4

你應該在你的nginx的配置文件,這樣的指令(你的服務器配置的塊內):

limit_rate 150k; 

這限制了回答客戶端的傳輸速度。它用作每個連接的限制,而不是整個服務器的傳輸速率。 (也許你可以調整max_clients = worker_processes * worker_connections作爲解決方法來限制總傳輸。)

看看limit_rate的nginx文檔。還有一個limit_rate_after指令,只有在下載超過特定大小後纔有用於設置此限制。