高并发下,apache频繁重启 apache频繁重启apache并发php长运行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你这样改改看看,httpd.conf文件, 我觉得一般瓶颈都在mysql上。 如果还不行, 果断换nginx,我前一段时间也是这样, 现在用nginx, 目前很愉快了。 <IfModule prefork.c> StartServers 5 MinSpareServers 5 MaxSpareServers 10 ServerLimit 2000 MaxClients 1500 MaxRequestsPerChild 1000</IfModule> child process exited with status 255 -- Restarting子进程的退出状态255——重启windows 中的 php 是不支持线程的如果你是通过 fsockopen 模拟,那就是主动发起的 http 进程。对于 apache 而言,这与浏览器发起的并无区别当并发的 http 请求超过了 Apache 预设的并发数时,只会产生排队现象,而不会造成崩溃当然,并发数是要有内存做保证的。内存不足,崩溃就是自然的另外,如果 http 响应程序长时间没有输出的话,Apache 就会将其挂起。这不是 Apache 的问题,而是相应程序的问题 谢谢,我还没用过nginx,现在决定去试试 没注意你是windows系统, 可能版主说的对吧。 我就是通过 fsockopen模拟实现的。我监控过一段时间当apache发生错误时任务管理器中的内存不高,应该不是内存不足引起的吧。我也看网上说要输出,于是我也输出了如下echo ' ';//一个空格ob_flush();flush();输出写的对吗?输出缓冲区内容flush这两句不知是否要加,我理论功底不好,只是觉得输出内容一直放在缓冲区会有问题,请版主指正。 貌似有windows版的,总之我先看看去。实在不行只有整体换Linux了,就是相应需要修改的项目就多了点。 php在linux下面跑。 基本上不需要改多少。 对应的文件注意大小写就好。 如果是windows下,建议使用fsockopen来模拟运行。 不要想了 更成Linux 这个时候可以继续使用apache 或者 nginx 即使你现在临时解决了win下的问题 下一个坑继续在等你. 一个坑接着一个坑的,太残酷了吧...不过也确实随着系统越做越大,麻烦也越来越多,只得为以前没经验留下的隐患买单。昨天想了个临时解决办法,写了一个监控程序监控多线程的运行,一旦发生长时间不操作就再次启动多线程(程序长时间运行现在观察好像不太会发生自己停止,基本上就是apache重启引起的,所以跟着他重启也就是了)。今天观察了一下发现还算稳定,总算轻松了一把。接下来我会尝试用最简单的程序,测试下apache并发时是否会发生不断重启的现象,把问题先定性一下,然后再决定是解决程序问题还是更换环境。 确认下来应该就是apache的问题了。windows的nginx有问题,当一个访问未结束前,其他访问也不能执行,而我却偏偏要写一个长时间执行的程序。环境问题就没办法了,看来目前最大的希望还是投向linux,哪怕又是一个坑。谢谢各位,先结贴了。 PHP强制下载的问题 如何用PHP建立一个订单系统的数据库??? 有个问题一直没有搞明白,今天一定要搞明白 请帮一个php初学都看一个简单的错误,谢谢大家了. 望穿秋水,心急如焚! smarty模板和php之间数据传递问题 $mi++;$mi=$mi%5;可以缩写成什么? *********[HELP]PHP 一些问题******************** 征求一个三级联动的下拉框的源码 关于php editor的问题 怎样得到循环的两个相邻的数值的差 在线等,急。PHP替换指定位置的字符串
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 1000
</IfModule>
子进程的退出状态255——重启windows 中的 php 是不支持线程的如果你是通过 fsockopen 模拟,那就是主动发起的 http 进程。对于 apache 而言,这与浏览器发起的并无区别
当并发的 http 请求超过了 Apache 预设的并发数时,只会产生排队现象,而不会造成崩溃
当然,并发数是要有内存做保证的。内存不足,崩溃就是自然的另外,如果 http 响应程序长时间没有输出的话,Apache 就会将其挂起。这不是 Apache 的问题,而是相应程序的问题
我监控过一段时间当apache发生错误时任务管理器中的内存不高,应该不是内存不足引起的吧。
我也看网上说要输出,于是我也输出了如下echo ' ';//一个空格
ob_flush();
flush();输出写的对吗?输出缓冲区内容flush这两句不知是否要加,我理论功底不好,只是觉得输出内容一直放在缓冲区会有问题,请版主指正。
实在不行只有整体换Linux了,就是相应需要修改的项目就多了点。
不过也确实随着系统越做越大,麻烦也越来越多,只得为以前没经验留下的隐患买单。
昨天想了个临时解决办法,写了一个监控程序监控多线程的运行,一旦发生长时间不操作就再次启动多线程(程序长时间运行现在观察好像不太会发生自己停止,基本上就是apache重启引起的,所以跟着他重启也就是了)。
今天观察了一下发现还算稳定,总算轻松了一把。
接下来我会尝试用最简单的程序,测试下apache并发时是否会发生不断重启的现象,把问题先定性一下,然后再决定是解决程序问题还是更换环境。
windows的nginx有问题,当一个访问未结束前,其他访问也不能执行,而我却偏偏要写一个长时间执行的程序。
环境问题就没办法了,看来目前最大的希望还是投向linux,哪怕又是一个坑。
谢谢各位,先结贴了。