> 백엔드 개발 > PHP 튜토리얼 > DZ 论坛经常 502, 求帮助

DZ 论坛经常 502, 求帮助

WBOY
풀어 주다: 2016-08-04 09:22:23
원래의
1309명이 탐색했습니다.

一个地方小门户,也就几千 pv,突然现在开始经常不开了。
log 提示:

<code>WARNING: [pool www] child 13760, script '/home/wwwroot/luntan/forum.php' (request: "GET /forum.php") execution timed out (77.310180 sec), terminating</code>
로그인 후 복사
로그인 후 복사

某云的 4核心4G 120G 的 SSD 云盘。

Centos 7 + Nginx + PHP5.4 + RDS (Mysql 5.6)。 开了 memcached

主要还是 php 挂了,PHP-FPM 参数如下:

<code>pm = dynamic
pm.max_children = 180
pm.start_servers = 100
pm.min_spare_servers = 60
pm.max_spare_servers = 180
pm.max_requests = 3096
pm.process_idle_timeout = 10s
request_terminate_timeout = 60
request_slowlog_timeout = 0</code>
로그인 후 복사
로그인 후 복사

从性能监控哪里看,网站打开时间变长的时候,数据库的读取也变长了,是不是还要调整数据库参数? 不过我看了数据库的监控,所有参数 iops、连接使用率、内存使用率 等最高也就跑到 80% 左右。

实在想不通了,求助

回复内容:

一个地方小门户,也就几千 pv,突然现在开始经常不开了。
log 提示:

<code>WARNING: [pool www] child 13760, script '/home/wwwroot/luntan/forum.php' (request: "GET /forum.php") execution timed out (77.310180 sec), terminating</code>
로그인 후 복사
로그인 후 복사

某云的 4核心4G 120G 的 SSD 云盘。

Centos 7 + Nginx + PHP5.4 + RDS (Mysql 5.6)。 开了 memcached

主要还是 php 挂了,PHP-FPM 参数如下:

<code>pm = dynamic
pm.max_children = 180
pm.start_servers = 100
pm.min_spare_servers = 60
pm.max_spare_servers = 180
pm.max_requests = 3096
pm.process_idle_timeout = 10s
request_terminate_timeout = 60
request_slowlog_timeout = 0</code>
로그인 후 복사
로그인 후 복사

从性能监控哪里看,网站打开时间变长的时候,数据库的读取也变长了,是不是还要调整数据库参数? 不过我看了数据库的监控,所有参数 iops、连接使用率、内存使用率 等最高也就跑到 80% 左右。

实在想不通了,求助

这情况看起来像php资源耗尽了,没法处理新的情况,然后就挂了。
然而几千pv绝不可能造成这样的结果,几千UV还有可能.要不就是被cc了吧。
你可以:

  1. 搞负载均衡彻底解决

  2. 调高php-fpm的子进程数量和最大请求数量来临时解决。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿