我現(xiàn)在遇到一個問題。現(xiàn)象是:個別用戶在連接成功后,在0-2秒之內會斷開連接。檢查了客戶端,可以確定不是客戶端主動斷開。
這個斷開連接數(shù)量,從服務器日志來看,還是比較頻繁的。
現(xiàn)在服務器連接人數(shù)大約在1000左右。
請問出現(xiàn)這種問題的可能性有哪些?
Linux參數(shù)配置:
tcp_max_tw_buckets:20000
tcp_max_syn_backlog:262144
tcp_tw_recycle:0
file-max:6815744
root soft nofile 65535
root hard nofile 65535
CPU核數(shù):16核
Gateway進程數(shù):32
Worker進程數(shù):64
有event擴展:
libevent
libevent support => enabled
extension version => 0.1.0
Revision => $Revision$
libevent version => 2.0.22-stable
也已經按照手冊優(yōu)化內核了。
你這個workerman版本太太低了,備份下整個項目,然后升級下workerman。
升級前先stop workerman
然后再壓測下,出現(xiàn)問題后 php start.php status 貼下
之前有3.5的時候出現(xiàn)過
http://wenda.workerman.net/?/question/2689?notification_id-9630__rf-false__item_id-5179__answer_id-5179__single-TRUE#!answer_5179
這個問題。到現(xiàn)在也沒有解決。但是這個問題在3.2中是沒有的。
而且之前我們一只在用3.2比較穩(wěn)定。現(xiàn)在不太敢用3.5了。
這個和3.2有重要關系嗎?請問除了升級版本,有什么好的辦法嗎?
從status來看系統(tǒng)負載并不高,你這個問題有可能是業(yè)務問題或者客戶端問題。
你可以通過 tcpdump -Ans 4096 -iany port 8890 抓包看是客戶端還是服務端關閉了連接,關閉連接前傳輸了什么數(shù)據
@1:如果是業(yè)務問題,那 workerman.log里應該有記錄的異常信息吧?我們仔細排查過,業(yè)務并沒有卡住的情況存在,每次請求響應都挺快的
斷開連接問題先檢查客戶端是否有定時發(fā)送心跳數(shù)據?;睿瑆orkerman是否安裝了event擴展,并按照workerman手冊優(yōu)化了linux內核