這里詳細描述問題
個別進程會報 May be the send buffer are overflow ,其他進程正常,這個怎么平均處理一下
php start.php status 看看是不是有businessworker 發(fā)生阻塞。
這時候應(yīng)該有businessworker 處于 [busy] 狀態(tài),產(chǎn)生這個問題的原因:
客戶端數(shù)據(jù)發(fā)送到Gateway網(wǎng)關(guān),網(wǎng)關(guān)轉(zhuǎn)發(fā)給businesswroker 運行業(yè)務(wù),但是業(yè)務(wù)邏輯進程發(fā)生阻塞,
gateway 網(wǎng)關(guān)數(shù)據(jù)積壓過多,gateway進程就報這個錯誤了。
你得看看是什么原因阻塞的,還有htop 等等命令看看這個進程PID是否屬于CPU占用過高,
一般CPU過高就是業(yè)務(wù)邏輯導致負載,這種情況只能想辦法負載均衡到其它進程,如果這個進程占用率低那就是網(wǎng)絡(luò)阻塞導致businessworker 無法正常工作,那你就要處理一下網(wǎng)絡(luò)IO的問題了。
gateway 支持負載均衡,默認是隨機分配,可以自己實現(xiàn)負載均衡。