修改httpd.conf文件
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
MaxClients 150
MaxRequestsPerChild 1000
</IfModule>
MaxClients 150
为
ServerLimit 2000
MaxClients 2000
如果没有 <IfModule prefork.c> </IfModule prefork.c>部分则需添加 注: 相关命令
ServerLimit 指令
说明 | 服务器允许配置的进程数上限 |
---|---|
语法 |
ServerLimit number |
默认值 |
参见下面的说明 |
作用域 | server config |
状态 | MPM |
模块 |
prefork , worker |
对于prefork
MPM,这个指令设置了MaxClients
最大允许配置的数值。对于worker
MPM,这个指令和ThreadLimit
结合使用设置了MaxClients
最大允许配置的数值。任何在重启期间对这个指令的改变都将被忽略,但对MaxClients
的修改却会生效。
使用这个指令时要特别当心。如果将ServerLimit
设置成一个高出实际需要许多的值,将会有过多的共享内存被分配。如果将ServerLimit
和MaxClients
设置成超过系统的处理能力,Apache可能无法启动,或者系统将变得不稳定。
对于prefork
MPM,只有在你需要将MaxClients
设置成高于默认值256的时候才需要使用这个指令。要将此指令的值保持和MaxClients
一样。
对于worker
MPM,只有在你需要将MaxClients
和ThreadsPerChild
设置成需要超过默认值16个子进程的时候才需要使用这个指令。不要将该指令的值设置的比MaxClients
和ThreadsPerChild
需要的子进程数量高。
注意
Apache在编译时内部有一个硬限制"ServerLimit 20000
"(对于prefork
MPM为"ServerLimit 200000
")。你不能超越这个限制。