1.设置apache的最大连接数(增加参数)
Apache2.4下的conf下的httpd.conf
文件结尾增加
<IfModule mpm_winnt_module>
MaxConnectionsPerChild 100000 #进程请数
ThreadsPerChild 1024 #服务线程数量
</IfModule>
KeepAliveTimeout 5 #保持连接
MaxKeepAliveRequests 100 #单个请求
Timeout 60 #连接超时60秒
FcgidMaxRequestLen 51200000 #请求大小50MB
以上的ThreadsPerChild 350,表示worker进程下的线程数, MaxRequestsPerChild 0 表示每个子进程能够处理的最大请求数,0为不限制。如果不限制有可能会占满内存导致崩溃
ThreadsPerChild
每个子进程的最大并发线程数。
MaxRequestsPerChild
每个子进程允许处理的请求总数。如果累计处理的请求数超过该值,该子进程将会结束(然后根据需要确定是否创建新的子进程),该值设为0表示不限制请求总数(子进程永不结束)。
该参数建议设为非零的值,可以带来以下两个好处:
可以防止程序中可能存在的内存泄漏无限进行下去,从而耗尽内存。
给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
2.php进程数的增加(直接修改参数值)
apche2.4下conf下extra下httd-fcgid.conf改FcgidMaxProcesses
<IfModule fcgid_module>
# Global mod_fcgid settings
FcgidIOTimeout 120
FcgidConnectTimeout 120
#表示PHP进程数量
FcgidMaxProcesses 32
FcgidOutputBufferSize 128
ProcessLifeTime 360
FcgidMaxRequestsPerProcess 1000
FcgidMinProcessesPerClass 0
FcgidMaxRequestLen 209715200
# Do not comment out below line
</IfModule>