如何增加apache2中同时连接的数量? 我正在使用一个JavaScript应用程序,定期轮询服务器,我试图阻止客户被locking。 我知道我应该切换到一个非locking的networking服务器,但在这之前,有没有什么破解我可以在Apache中做到这一点优化? 谢谢。
在这个网站上search“ MaxClients ”,这应该会提供很多信息来帮助你开始。
根据您的服务器资源,可能会有一些指令需要查看,这些指令可能会影响同时连接的数量,从而影响Web服务器的性能。 以下是一些示例(根据您的环境,有些示例可能需要configuration,也可能不需要configuration):
在Apache级别上,您将希望最大化MaxClients值,而不会耗尽内存。 例如,你可以将MaxClients设置为1000,它可以正常运行,直到你有太多的并发连接,你用完了RAM并开始使用交换,此时服务器的性能将会下降。
作为粗略的指导,您可以运行top并查看所有httpd条目,以获得RES和SHR列之间的区别。 这个值是Apache客户端进程使用的大概内存。 将希望使用的Apache的内存总数除以该数字即可获得初始MaxClients。 例如,对于使用3GB的平均Apache进程大小为20MB,则可以使用3000/20 = 150 MaxClients。
如果您希望进一步增加MaxClients,则可以尝试通过不加载任何不需要的模块来减小Apache进程的大小。
正如你所提到的,你可能希望考虑一个替代的Web服务器,或者可能的双Apache Web服务器,以增加可能的并发连接数。 当Apache被configuration为服务器dynamic页面(PHP等)时,它相对耗尽内存,这使得在用完RAM之前可以有多less连接。 在这种情况下,通常的select是使用较轻的Web服务器(Lighttpd,Nginx等)来提供所有的静态内容,并让Apache仅仅为dynamic页面提供服务。