項(xiàng)目涉及幾十個(gè)設(shè)備的連接,客戶說(shuō)在同一時(shí)刻所有設(shè)備會(huì)發(fā)送消息過(guò)來(lái),消息上附帶圖片,然后說(shuō)我服務(wù)端就擁堵了,出現(xiàn)了延遲。
我想問(wèn)有什么辦法來(lái)檢測(cè)是否擁堵了呢?非常感謝
我認(rèn)為擁堵不擁堵得有個(gè)數(shù)據(jù)指標(biāo)來(lái)衡量才科學(xué),比如要求從客戶端發(fā)起請(qǐng)求到服務(wù)端響應(yīng)必須在1秒之內(nèi)完成,如果超過(guò)了這個(gè)時(shí)間指標(biāo),那么就認(rèn)為是是擁堵的,如果是擁堵了話那么就可以根據(jù)這個(gè)指標(biāo)繼續(xù)優(yōu)化服務(wù)器的處理能力。
過(guò)程是這樣的,客戶端的日志記錄了發(fā)送開始與結(jié)束的時(shí)間間隔為30ms,
09:55:06.191298 849 messagehandler] send message begin
09:55:06.223420 849 messagehandler] send message end
服務(wù)端實(shí)際上接收的時(shí)間到的時(shí)間也是如此,服務(wù)端接收到這個(gè)消息會(huì)轉(zhuǎn)發(fā)給web端顯示。
現(xiàn)在的問(wèn)題是,在客戶端增加到20多個(gè)的時(shí)候,這個(gè)消息會(huì)在同一時(shí)刻發(fā)送到客戶端,然而客戶端可能會(huì)出現(xiàn)某一些消息會(huì)延遲幾秒才發(fā)送,,但是將客戶端 縮減一半左右,或者不發(fā)送圖片就沒(méi)有這樣的現(xiàn)象出現(xiàn)??蛻粽J(rèn)為是我們服務(wù)端擁堵了才導(dǎo)致這樣的結(jié)果。
1、某些客戶端發(fā)送延遲? 難道是在onMessage()內(nèi)處理完業(yè)務(wù)邏輯才發(fā)送消息的嗎?
2、你這日志只是記錄是客戶端發(fā)送的起始時(shí)間,并不能反映客戶端從發(fā)送到最后接收到響應(yīng)這段時(shí)間內(nèi)的服務(wù)器實(shí)際處理能力;
3、如果服務(wù)端網(wǎng)絡(luò)沒(méi)有問(wèn)題、業(yè)務(wù)邏輯沒(méi)有明顯的阻塞、以及服務(wù)器的業(yè)務(wù)處理能力都在預(yù)期的指標(biāo)內(nèi),那么基本上最大的可能就是帶寬不足,圖片會(huì)占用較大的帶寬。
@614: 問(wèn)題重現(xiàn)的流程是這樣,