我在passenger / nginx上运行的rails应用程序上有一个ruby。该应用程序允许用户对非常大的文件(VM备份,有时200Gig)进行下载访问,并且我与ISP的突发连接速度高达100 Mbit / sec。
问题是,如果你开始下载其中一个大文件,传输将尽可能高地攀升,这是我不想要的。我想限制这些大文件的下载到固定速率,如150 Kbps,同时仍然允许在应用程序的其他部分更快的速度。这可能吗?
答案 0 :(得分:5)
您应该在nginx配置文件中包含这样的指令(在服务器配置块中):
limit_rate 150k;
这限制了客户答案的传输速度。它作为每个连接的限制,而不是总服务器传输速率。 (也许您可以调整max_clients = worker_processes
* worker_connections
作为解决方案来限制总转移。)
查看limit_rate的nginx文档。还有一个limit_rate_after
指令,仅在下载超过一定大小后才能设置此限制。