国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

businessworker突然全掉了,重啟半小時后又全部掉了

dou號

1.平時晚上10點左右業(yè)務量都比較低了,但是昨天晚上BusinessWorker進程突然全沒了,查看log日志,發(fā)現(xiàn)只有昨天凌晨時候有一次錯誤4,可能是有鏈接連接到register上了,但晚上10點左右日志并沒有記錄下來任何東西,應該不是這個錯誤吧。但保險起見,還是把注冊地址改成127.0.0.1了($register = new Register('text://127.0.0.1:xxxx');)。在重啟gatewayworker的過程日志記錄了錯誤,stop的時候顯示stopping。。。見左下圖。然后出現(xiàn)worker exit unexpected;can not connect to tcp://127.0.0.1:xxxx Connection refused in workerman/gateway-worker/src/Lib/Gateway.php:725;exit with status 64000三個錯誤,重啟成功后,businessworker恢復正常,但是半個小時后,BusinessWorker進程又全部沒了,不知道為什么。查看阿里云監(jiān)控發(fā)現(xiàn)在兩次businessworker全掉的時候cpu,進程數(shù)和負載都大幅上漲,是因為businessworker掉線造成的嗎?

2.第二次重啟時懷疑是進程數(shù)不夠,于是增加了businessworker數(shù)量,由40增加到50,我的cpu內(nèi)核是2核。與此同時我發(fā)現(xiàn)我的nonestablished連接數(shù)達到了22000左右,發(fā)現(xiàn)原來因為遇到一些問題把net.ipv4.tcp_max_tw_buckets參數(shù)改成22000了,于是又把這個參數(shù)改成了20000。這次重啟后系統(tǒng)沒有出現(xiàn)businessworker掉的情況。
?
3.出現(xiàn)businessworker掉線的時候,發(fā)現(xiàn)所有設備連接都是通信超時而不是斷開連接。
?
4.GatewayWorker重啟后,TCP活躍連接數(shù)每35分鐘會稍微波動一下,我們設備是35分鐘會自動發(fā)送一條登錄信息過來,短時大量的消息過來,會造成TCP活躍數(shù)波動嗎?見右下圖

3814 3 0
3個回答

walkor 打賞

1、你應該是用了較老的GatewayWorker,老版本status看不到BusinessWorker進程并不是BusinessWorker沒了,一般是由于業(yè)務代碼長時間阻塞導致php start.php status沒響應了。通過ps auxf命令能看到BusinessWorker進程還在。 新版本GatewayWorker如果BusinessWorker進程沒響應status時仍然可以看到進程,但是狀態(tài)會是busy。
?
停止的時候有報錯可以忽略,因為有些進程正在處理業(yè)務,gateway和BusinessWorker之間通訊終端導致一些報錯,屬于正常情況。
?
2、業(yè)務代碼執(zhí)行了一些Gateway::xxx接口時,businessWorker會向Gateway進程發(fā)起一些短連接請求,所以會有nonestablished連接,一般都是TIME_WAIT連接,數(shù)量不高于net.ipv4.tcp_max_tw_buckets設定的值都屬于正?,F(xiàn)象,net.ipv4.tcp_max_tw_buckets最好不要超過30000。
?
3、通訊超時應該是由于BusinessWorker進程不響應導致的
?
4、這個具體看業(yè)務,比如這時大量請求發(fā)來后業(yè)務代碼處理過程中可能會發(fā)起mysql redis http等查詢調(diào)用,可能會建立mysql redis等新的tcp連接。比如登錄信息發(fā)來后業(yè)務判斷登錄失敗或超時斷開連接都有可能造成波動都是正常的。
?
BusinessWorker進程不響應可以通過這里定位?http://doc.workerman.net/debug/busy-process.html
status里消失但是ps auxf能看到的BusinessWorker進程就是busy進程。

  • dou號 2019-09-03

    謝謝worker解答,但還是有幾個問題沒弄明白。
    1.請問需要將gatewayworker盡快換成新版的嗎?我剛剛?cè)orkerman官網(wǎng)下了一份,日期顯示是2019/08/30
    2.我的cpu內(nèi)核是2核,gateway進程數(shù)設置為6,businessworker為50,會不會有點高影響性能?
    3.我阿里云上面non_established連接數(shù)是20000左右,established連接數(shù)一萬二,我需要根據(jù)established連接數(shù)調(diào)整net.ipv4.tcp_max_tw_buckets的大小嗎?

  • walkor 2019-09-03

    1、不更新也行
    2、有機會把gateway進程數(shù)設置為2,gateway進程不要高于cpu數(shù)。businessworker進程數(shù)50也沒什么問題
    3、不需要

    一萬多在線連接注意一定要安裝event擴展,并按照手冊http://doc.workerman.net/appendices/kernel-optimization.html 優(yōu)化好linux內(nèi)核

    2個cpu支撐1萬多連接數(shù),如果服務重啟造成客戶端斷開重連,可能會導致businessWorker瞬間處理大量請求。2個cpu有可能處理不過來,會出現(xiàn)cpu和負載爆高的情況,從而導致businessWorker短時間內(nèi)無法響應status,看起來就像businessWorker消失了一樣??梢钥紤]給服務器加些cpu,或者再加一臺服務器做分布式部署。

  • dou號 2019-09-03

    @1:
    1.如果把gateway進程數(shù)設置為2,我的businessworker進程數(shù)是否需要相應增加?
    2.剛剛系統(tǒng)又出現(xiàn)了cpu,負載和tcp連接數(shù)爆高的情況,是系統(tǒng)正常運行時突然爆高,期間并沒有重啟服務器,我用您發(fā)我的指令查看了一下businessworker進程,如圖所示,然后查找了其中一個pid,因為急著恢復系統(tǒng),所有也就沒有做后續(xù)操作,直接重啟了gatewayworker。按照您發(fā)我的那份文檔,應該是系統(tǒng)在不斷循環(huán)系統(tǒng)調(diào)用,手冊上說‘例如上面經(jīng)過定位應該是業(yè)務在調(diào)用curl,而對應的url長時間沒有返回數(shù)據(jù),導致進程一直等待。這時候可以找url提供者定位url返回慢的原因,同時應該在curl調(diào)用的時候加上超時參數(shù),比如2秒沒返回就超時,避免長時間阻塞卡死(這樣進程可能會出現(xiàn)2秒左右的busy狀態(tài)’,這個里面的超時參數(shù)在哪里修改,跟Socket連接的超時設置相關嗎?還是我程序中所有設置curl_init()的地方都加上超時判斷就可以了?
    3.目前正常情況下我們2核CPU的使用率在33%左右,還有很多剩余,需要給服務器加CPU嗎?

  • walkor 2019-09-03

    1、已經(jīng)夠多了,應該不用設置了
    2、這個不好定位,有可能是業(yè)務阻塞然后導致請求無法響應,大量設備斷線重連導致大量請求發(fā)了過來
    3、2個cpu處理1萬多連接的數(shù)據(jù)感覺太少了,要加配置

  • dou號 2019-09-04

    @1:
    1.昨晚我將gateway進程改到2后,重啟之后非活躍連接數(shù)呈鋸齒狀,一直到今天上午活躍連接數(shù)上升之后,才趨于穩(wěn)定。這樣正常嗎?因為回復里不能發(fā)圖,所以圖我發(fā)評論里了
    2.您說2個cpu處理1萬多連接的數(shù)據(jù)感覺太少了,要加配置。那么增加CPU后,比如到4核,會降低內(nèi)存的使用率嗎?因為現(xiàn)在我們的系統(tǒng)內(nèi)存消耗很厲害,已經(jīng)80%了,本來是想加內(nèi)存的。

  • walkor 2019-09-04

    1、正常
    2、cpu不影響內(nèi)存占用,內(nèi)存不夠也要加

  • dou號 2019-09-04

    @1:好的,謝謝Walkor解答,感謝

dou號

?

  • 暫無評論
dou號

非活躍數(shù)圖

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??