当用户数量达到大约250个并发时,我在Apache服务器中面临一个问题。只有当空闲工作人员编号设置为0时,才会出现此问题。
因此,我的问题是,一个Apache工作人员是否只为一个请求服务,还是更多?如何将员工或最大用户增加到至少700并发?
我在Windows2008上使用Apache2.2,R2和MPM类型是: mpm_winnt。
发布于 2013-04-21 20:02:49
mpm_winnt在设计上似乎与mpm_worker非常接近。mpm_worker使用多个进程(服务器),每个进程具有多个线程来服务连接。mpm_winnt只使用一个进程。
因此,您可以使用ThreadLimit和ThreadsPerChild指令来优化并发连接的数量。
在盲目地改变这两种情况之前,请先阅读一下这两份文件。
发布于 2013-04-21 15:33:36
看看MaxClients -这是一个常见的设置前叉和工人。
http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients
发布于 2013-04-21 16:26:29
对于典型的较小的服务器配置,使用Pre叉MPM,您可能需要如下所示:
StartServers 5
MinSpareServers 1
MaxSpareServers 10
ServerLimit 500
MaxClients 500
MaxRequestsPerChild 5000注意,这将限制在500。如果你想要的更多,只需增加价值。对于一般的小型网站来说,这些值是合理的,但是如果您的站点不是“泛型”,那么您确实需要花费一些时间并根据您的站点来调整这些值。
如果您比这个大得多,那么是时候切换到不同的MPM了,比如员工或事件。然而,这可能需要改变站点的各个方面,这取决于您正在使用的技术。
对于线程MPM (事件、工作人员)和一般较小的网站:
StartServers 5
MinSpareThreads 1
MaxSpareThreads 10
MaxClients 1024
ThreadsPerChild 64
MaxRequestsPerChild 50000MPM WinNT只有一个进程(子进程),因此您需要将ThreadsPerChild提高到合理的水平。另一个答案有指向相关Apache手册页的链接。
https://serverfault.com/questions/501338
复制相似问题