目前使用gatawayworker搭建了一個(gè)名為proxy_server的服務(wù),主要就是數(shù)據(jù)轉(zhuǎn)發(fā)而已,沒(méi)有涉及什么數(shù)據(jù)庫(kù)等東西。目前并沒(méi)有找到什么規(guī)律,有時(shí)候從進(jìn)程里看到php的cpu占用非常高,每個(gè)php進(jìn)程都到了80-95的占用。重新啟動(dòng) gatawayworker服務(wù)可以恢復(fù)正常狀態(tài)?,F(xiàn)在看日志也不知道是哪里的原因,只看到日志里有以下記錄:
2016-11-14 21:43:16 WORKER EXIT UNEXPECTED
2016-11-14 21:43:17 worker exit with status 64000
,現(xiàn)在很怕不知不覺(jué)什么時(shí)候服務(wù)就又資源吃緊掛掉了。這個(gè)服務(wù)已經(jīng)上線半年了。最近開始出現(xiàn)cpu資源異常,找不到原因。
64000 是因?yàn)闃I(yè)務(wù)異常進(jìn)程退出了。
最近才出現(xiàn)問(wèn)題可以想下最近業(yè)務(wù)代碼或者業(yè)務(wù)上有沒(méi)有什么調(diào)整,比如更改了業(yè)務(wù)代碼、配置,在線用戶數(shù)激增等等。
出現(xiàn)問(wèn)題時(shí)可以運(yùn)行 php start.php status 貼下運(yùn)行狀態(tài)。
通過(guò)命令 strace -p 進(jìn)程id 可以跟蹤系統(tǒng)調(diào)用,也能大致看出來(lái)是因?yàn)槟男┱{(diào)用導(dǎo)致cpu偏高。
cpu偏高一般是由于業(yè)務(wù)代碼沒(méi)考慮到性能問(wèn)題導(dǎo)致的,比如死循環(huán)、大數(shù)組循環(huán)等等