首頁 >後端開發 >PHP問題 >php cgi 行程佔用太多怎麼辦

php cgi 行程佔用太多怎麼辦

藏色散人
藏色散人原創
2020-08-05 10:07:343277瀏覽

php cgi行程佔用太多的解決方法:1、從「php.ini」禁止掉eAccelerater模組;2、借助Linux的proc虛擬檔案系統找到具體的問題程式;3、借助Linux的proc檔案系統找出原因。

php cgi 行程佔用太多怎麼辦

推薦:《PHP影片教學

一般情況下,PHP-CGI只在使用者造訪的時候會佔用CPU資源,但是最近有同事反映,伺服器上的PHP-CGI進程佔用了非常多的CPU,但是存取流量卻非常少。這顯然是一個不正常的現象,說有些地方有故障。以下導致此問題可能存在的原因,在此與大家分享。

1. 相容性問題
如果php的擴充與php版本相容有問題,已經有反映過類似的案例, eAccelerater與某些php版本相容存在問題,具體表現時啟動php-cgi進程後,
運行10多分鐘,奇慢無比,但靜態資源存取很快,伺服器負載也很正常(這表示伺服器解析功能的nginx是沒有問題,而是php-cgi進程的問題)。
解決方法
從php.ini禁止掉eAccelerater模組,再重啟php-cgi進程即可。

2. 程式中可能存在死循環
如果程式中存在死循環,一定會導致伺服器負載超高(使用top指令查看負載高達100 )。
解決方法
借助Linux的proc虛擬檔案系統找到特定的問題程式。

3. php程式不合理使用session
在查閱的資料中有看到,這個發生在開源微博記事狗程式上,具體表現是有少量php- cgi進程(不超過10個)的cpu使用率達98%以上,
伺服器負載在4-8之間,
解決方法
需要藉助Linux的proc檔案系統找出原因。

4. 程式中存在過度耗時且不可能完成的操作
如果是這樣的話,是因為程式本身在寫的時候,就寫的不夠規範。需要與軟體的設計者以及程式設計工程師共同解決。

以上是php cgi 行程佔用太多怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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