技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

如何分析php-cgi進(jìn)程占用cpu資源過多負(fù)載高的原因

來源:技術(shù)員聯(lián)盟┆發(fā)布時間:2019-03-01 06:05┆點擊:

  服務(wù)器環(huán)境:redhat linux 5.5 , nginx , phpfastcgi

  在此環(huán)境下,一般php-cgi運行是非常穩(wěn)定的,但也遇到過php-cgi占用太多cpu資源而導(dǎo)致服務(wù)器響應(yīng)過慢,所遇到的php-cgi進(jìn)程占用cpu資源過多的原因有:

  一些php的擴(kuò)展與php版本兼容存在問題:實踐證明 eAccelerater與某些php版本兼容存在問題,具體表現(xiàn)是啟動php-cgi進(jìn)程后,運行10多分鐘,奇慢無比,但靜態(tài)資源訪問很快,服務(wù)器負(fù)載也很正常(說明nginx沒有問題,而是php-cgi進(jìn)程的問題),解決辦法就是從php.ini中禁止掉eAccelerater模塊,再重啟php-cgi進(jìn)程即可。

  程序中可能存在死循環(huán),導(dǎo)致服務(wù)器負(fù)載超高(使用top指令查看負(fù)載高達(dá)100+), 需要借助Linux的proc虛擬文件系統(tǒng)找到具體的問題程序。

  php程序不合理使用session , 這個發(fā)生在開源微博記事狗程序上,具體表現(xiàn)是有少量php-cgi進(jìn)程(不超過10個)的cpu使用率達(dá)98%以上, 服務(wù)器負(fù)載在4-8之間,這個問題的解決,仍然需要借助Linux的proc文件系統(tǒng)找出原因。

  程序中存在過度耗時且不可能完成的操作(還是程序的問題)。