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

businessworker突然全掉了,重啟半小時(shí)后又全部掉了

dou號(hào)

1.平時(shí)晚上10點(diǎn)左右業(yè)務(wù)量都比較低了,但是昨天晚上BusinessWorker進(jìn)程突然全沒(méi)了,查看log日志,發(fā)現(xiàn)只有昨天凌晨時(shí)候有一次錯(cuò)誤4,可能是有鏈接連接到register上了,但晚上10點(diǎn)左右日志并沒(méi)有記錄下來(lái)任何東西,應(yīng)該不是這個(gè)錯(cuò)誤吧。但保險(xiǎn)起見(jiàn),還是把注冊(cè)地址改成127.0.0.1了($register = new Register('text://127.0.0.1:xxxx');)。在重啟gatewayworker的過(guò)程日志記錄了錯(cuò)誤,stop的時(shí)候顯示stopping。。。見(jiàn)左下圖。然后出現(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三個(gè)錯(cuò)誤,重啟成功后,businessworker恢復(fù)正常,但是半個(gè)小時(shí)后,BusinessWorker進(jìn)程又全部沒(méi)了,不知道為什么。查看阿里云監(jiān)控發(fā)現(xiàn)在兩次businessworker全掉的時(shí)候cpu,進(jìn)程數(shù)和負(fù)載都大幅上漲,是因?yàn)閎usinessworker掉線(xiàn)造成的嗎?

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

3819 3 0
3個(gè)回答

walkor 打賞

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

  • dou號(hào) 2019-09-03

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

  • walkor 2019-09-03

    1、不更新也行
    2、有機(jī)會(huì)把gateway進(jìn)程數(shù)設(shè)置為2,gateway進(jìn)程不要高于cpu數(shù)。businessworker進(jìn)程數(shù)50也沒(méi)什么問(wèn)題
    3、不需要

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

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

  • dou號(hào) 2019-09-03

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

  • walkor 2019-09-03

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

  • dou號(hào) 2019-09-04

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

  • walkor 2019-09-04

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

  • dou號(hào) 2019-09-04

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

dou號(hào)

?

  • 暫無(wú)評(píng)論
dou號(hào)

非活躍數(shù)圖

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??