大概是這么個(gè)過程
用的websocket
其中有個(gè)客戶端需要每隔一秒發(fā)送一個(gè)ws.send 一個(gè)消息、服務(wù)器響應(yīng) 回復(fù)給全部客戶端 在線列表【含頭像以及昵稱數(shù)據(jù)】
其他應(yīng)該是沒啥會(huì)這樣消耗這么多帶寬的地方
ps 已經(jīng)統(tǒng)計(jì) 帶寬出現(xiàn)峰值時(shí)候才只有137個(gè)人在線啊
我服務(wù)器帶寬買的才12M 嚇?biāo)牢伊?
這可咋整?
貼下帶寬監(jiān)控 :
帶寬占用大和workerman沒直接關(guān)系,和你業(yè)務(wù)有關(guān)。
你可以根據(jù)自己的業(yè)務(wù)估算需要多大帶寬。
比如你說的137人在線,其中一個(gè)人發(fā)了一個(gè)圖片,圖片10kB。
137個(gè)人同時(shí)看到聊天信息下載圖片,瞬間帶寬 137*10kB/S=1.3MB/S=10Mbit/S。
但是這個(gè)你不能說是workerman的問題
咱們workenman 用wesocket協(xié)議 返回客戶端的包數(shù)據(jù)最大是多少M(fèi)啊 我擔(dān)心我返回在線用戶列表數(shù)據(jù)過多 里面有頭像和昵稱等數(shù)據(jù) 造成發(fā)送不出去或是報(bào)錯(cuò)
walkor大大
幫我看看 150人左右的 這個(gè)workerman的status 正常不
8核的
每個(gè)gateway占用的內(nèi)存貌似不高 每個(gè)的請(qǐng)求數(shù)卻又這么多
有點(diǎn)暈乎
[attach]466[/attach]
gateway的connections鏈接數(shù)不代表全部是客戶端的鏈接,connections包含了該進(jìn)程內(nèi)所有tcp的鏈接數(shù),包括gateway與Worker的內(nèi)部通許鏈接,gateway與register的鏈接。
手冊有這部分介紹 http://doc3.workerman.net/advanced/status.html
所以截圖的connections部分統(tǒng)計(jì)是正常的,每個(gè)gateway有4個(gè)BusinessWorker的鏈接和1個(gè)Register的鏈接。
請(qǐng)求數(shù)多少是否正常可以自己算,我不清楚你的業(yè)務(wù),這個(gè)沒法幫你
walkor大大
那為何重啟workerman 請(qǐng)求數(shù)就掉下去了 不重啟居就一直下不去
理論上當(dāng)時(shí)沒有用戶進(jìn)聊天室呢
對(duì)于這個(gè)每個(gè)gateway請(qǐng)求數(shù)的含義 連接數(shù)又具體代表啥子含義
對(duì)于服務(wù)器未正式投入工作或是只有少量用戶在聊天室內(nèi)
total_request 也就是各個(gè)gateway的請(qǐng)求數(shù) 顯示很多的話
可能的原因
幫我分析分析唄
按照你的業(yè)務(wù)邏輯,一個(gè)客戶端每秒發(fā)一個(gè)請(qǐng)求到workemran,那一天也要8萬的請(qǐng)求呢。
看到你截圖里的請(qǐng)求數(shù)也正常啊
我剛用測試服務(wù)器又測試了下
發(fā)現(xiàn) 請(qǐng)求數(shù)只要一上去了 就下不來了
20161220 凌晨2點(diǎn)的監(jiān)控 并且我確定截此圖后
服務(wù)器沒有客戶端連接了
[attach]469[/attach]
然后 今天下午3點(diǎn)多 我再次查看下監(jiān)控
截圖如下
[attach]470[/attach]
請(qǐng)求數(shù)還是下不去
主要是 若是只有少量請(qǐng)求數(shù) 那應(yīng)該是正常的 但是沒有客戶端鏈接服務(wù)器
仍然有 700+的請(qǐng)求數(shù)
哪里來的?
我猜測 gateway的請(qǐng)求數(shù) 只要一上去 就下不來了
重啟workeman 可以讓請(qǐng)求數(shù)降下來
請(qǐng)求數(shù)是累加的吧,意思是這個(gè)進(jìn)程從開始到現(xiàn)在一共處理了多少個(gè)請(qǐng)求,除非進(jìn)程重啟,否則不會(huì)下去啊。
@latin 說的對(duì)
手冊也有明確說明
http://doc3.workerman.net/advanced/status.html