項目是車輛GPS對接,通過JT808協(xié)議,兩種對接方式
1.平臺轉(zhuǎn)發(fā)(TwxGateway)
客戶端少,大概10幾個,每個客戶端轉(zhuǎn)發(fā)大量數(shù)據(jù),正常情況下最多的大概每秒100-200組數(shù)據(jù)
2.設(shè)備直傳(pass_808)
一萬多客戶端,每個客戶端大概30S一組數(shù)據(jù)
如下圖,會出現(xiàn)轉(zhuǎn)發(fā)的gateway大量占用內(nèi)存,top之后cpu基本上100%
所有worker進程busy,top發(fā)現(xiàn)cpu基本沒有占用
通過strace -ttp 分析
卡在recvfrom(59,
kill -SIGALRM之后,依舊會卡在該處
lsof -nPp 分析后,發(fā)現(xiàn)是在接收本地數(shù)據(jù)
worker進程已經(jīng)分布式部署,依舊會時??ㄋ?,是否考慮為單個gateway數(shù)據(jù)傳輸過大,導致gateway進程cpu占滿,以至于worker進程一直卡在從gateway取數(shù)據(jù),處于busy狀態(tài)
或者有其他問題,該如何判定解決