首頁 >後端開發 >php教程 >DZ 論壇經常 502, 求幫助

DZ 論壇經常 502, 求幫助

WBOY
WBOY原創
2016-08-04 09:22:231310瀏覽

一個地方小門戶,也就幾千 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的子進程數量和最大請求數量來暫時解決。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn