目前使用gatawayworker搭建了一個(gè)名為proxy_server的服務(wù),主要就是數(shù)據(jù)轉(zhuǎn)發(fā)而已,沒有涉及什么數(shù)據(jù)庫等東西。目前并沒有找到什么規(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)在很怕不知不覺什么時(shí)候服務(wù)就又資源吃緊掛掉了。這個(gè)服務(wù)已經(jīng)上線半年了。最近開始出現(xiàn)cpu資源異常,找不到原因。
64000 是因?yàn)闃I(yè)務(wù)異常進(jìn)程退出了。
最近才出現(xiàn)問題可以想下最近業(yè)務(wù)代碼或者業(yè)務(wù)上有沒有什么調(diào)整,比如更改了業(yè)務(wù)代碼、配置,在線用戶數(shù)激增等等。
出現(xiàn)問題時(shí)可以運(yùn)行 php start.php status 貼下運(yùn)行狀態(tài)。
通過命令 strace -p 進(jìn)程id 可以跟蹤系統(tǒng)調(diào)用,也能大致看出來是因?yàn)槟男┱{(diào)用導(dǎo)致cpu偏高。
cpu偏高一般是由于業(yè)務(wù)代碼沒考慮到性能問題導(dǎo)致的,比如死循環(huán)、大數(shù)組循環(huán)等等