高并发下,apache频繁重启
有几台服务器都是windows2008系统
我配置了一下每台服务器的apache的最大并发量即ThreadsPerChild 1000
这几天为了优化原来的程序,需要写一个多线程(php借助apache的多线程实现)的长时间运行的程序,线程数是50个。
发现这些长时间运行的程序最多执行1个小时就会统一停止,找了半天原因发现当程序停止时apache的错误日志里会有“child process exited with status 255 -- Restarting.”的信息,然后apache就自动重启了。
于是我就检查每台服务器上的apache的错误日志,发现越高并发量的服务器,apache的重启频率就越频繁,有台并发在200左右的服务器竟然每隔几分钟就重启一次。
后来我试着用一个线程执行那个长时间运行的程序,发现1天下来都没有问题,再换50个线程的1小时不到又停了。
哎,我已经凌乱了,对apache实在不够了解,apache配置就设置了个多端口和并发数,其他都是原配,是不是还有些重要的配置我忽略了?
网上找了一段时间,没有合适的解决办法,各位一起分析讨论下吧
“child process exited with status 255 -- Restarting.”apache重启的问题如何解决?
php长时间执行程序遇到apache自动重启时怎么自动恢复?
------解决思路----------------------
你这样改改看看,httpd.conf文件, 我觉得一般瓶颈都在mysql上。 如果还不行, 果断换nginx,我前一段时间也是这样, 现在用nginx, 目前很愉快了。
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 1000
已抢66455个
抢已抢37080个
抢已抢20550个
抢已抢2519个
抢已抢18972个
抢