PHP运行卡死.是被攻击还是代码问题

网站目前日IP5000左右 PV2万左右
一直运行正常.也有过日IP9000 PV 4万 也没出问题

昨天晚上2点左右.突然打不开了...一直持续到今天中午

服务器可以正常登陆..服务器上其它网站正常
在服务器上重新开个空间.把这个网站转过去.用其它域名.也正常访问
把域名解析过去新开的空间..就挂了...
但老的空间.用备用域名.又可以正常访问..

提示错误.一直是 The FastCGI pool queue is full

按网上的修改也没有用..
下午现在又突然正常了........

是不是域名被人攻击? 是啥攻击?怎么样防止.请教大神们

阅读 4.1k
5 个回答

看不懂你说的什么‘空间’是什么意思?

The FastCGI pool queue is full。
意思就是你fastcgi连接池被用完了。
当访问php页面的时候,每个连接都会创建一个fastcgi连接。
fastcgi连接数过多,基本原因就是页面长时间在处理,导致cgi资源没有被释放,同时又有新的连接进来,不断创建新的cgi连接。超过最大连接数的时候,nginx会抛出HTTP 502异常。
php-fpm最大连接数是可以配置的,只要你内存足够。
ps aux | grep php-fpm 命令查看一下有多少个链接了。

被攻击讲道理可能性不大,人家没事攻击你的小网站干嘛,大网站的话,也不会问这么低级的问题。
估计你是用着一些可视化界面配置的服务器和网站,对底层的一些通信不是很了解。

解决方案:
可以先重启一下php-fpm,如果还是出现这个问题,你应该排除代码什么地方可能会造成堵塞。

最后补充一点:如何排除,你应该查看每个php每个请求(文件或者路由)的运行时间。两个地方可以看:
1是框架提供的请求日志。2是php-fpm慢日志。

看日志。

详情一些的情况。

优化代码或者负载均衡

链接超时是不是没有上限?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题