我有一个文件服务器,想尽我所能优化它,我正在考虑限制文件的下载速度(通过 PHP),想知道这样做有什么好处。是的,它可能会使用更少的 RAM,但可以建立更多的人;那是对的吗?
我正在使用最新的 PHP 运行 Nginx。
编辑
我刚刚检查了我可以通过 Nginx 进行带宽限制,所以我可以这样做。
为什么它会使用更少的 RAM?如果您将文件从磁盘流式传输到网络端口,则实际上根本不需要 RAM。但是,如果您通过 PHP 执行此操作,则需要保持 PHP 实例运行,这会占用一些 RAM。如果您放慢速度,该实例将运行更长时间。越来越多的实例将同时运行,所有这些都会占用越来越多的 RAM。
您最好的策略是尽可能快地处理请求,因为这样它们就消失了,您可以停止使用系统资源来处理它们。您的用户的频率不会改变,您处理这些用户的速度越慢,他们使用资源的时间就越长。
除了@deceze 写的 - 在你开始“优化”之前弄清楚你的限制资源是什么。
带宽限制可能会占用服务器上更多的内存/CPU 资源(因为进程可能正在等待网络 I/O)。除非您确定地知道网络带宽是问题所在(如果是,您的文件服务器不是您应该优化的 - 您应该改进网络),否则它绝对不会有任何好处。