GatewayWorker 在SESSION存入大量的數(shù)據(jù),然后 給客戶端發(fā)送幾百字節(jié)的數(shù)據(jù),很是占用帶寬
發(fā)送的數(shù)據(jù)會(huì)占用帶寬,session本身不占用帶寬。
我的意思是,我把一個(gè)上萬字節(jié)的字符串存到SESSION里面,然后循環(huán)的向客戶端發(fā)送消息,每次發(fā)600個(gè)字節(jié),我看主控帶寬每秒占用3000多KB的速度。
我的流程是這樣,
我有一個(gè)硬件設(shè)備鏈接到socket的,我要對(duì)這個(gè)硬件進(jìn)行升級(jí),下發(fā)升級(jí)包,升級(jí)包都比較大,我要分上百次的發(fā)送數(shù)據(jù),這個(gè)數(shù)據(jù)我通過post得到了,我把這個(gè)長度上萬的數(shù)據(jù)存在了當(dāng)前連接的session里面,然后每次取出指定長度發(fā)送給我的硬件設(shè)備,目的是不想每次都到后端去post指定長度的數(shù)據(jù),這樣就出現(xiàn)每次發(fā)送600字節(jié)的數(shù)據(jù)給我的硬件通過網(wǎng)絡(luò)監(jiān)控看到如下面的圖,占用很高的帶寬,我只要把session里面存的數(shù)據(jù)給臨時(shí)存在另一個(gè)變量里,再把session里面的通過updatesession清空就正常了。
發(fā)送這么大的數(shù)據(jù),當(dāng)然占用帶寬了,很正常。帶寬計(jì)算方法是每秒發(fā)送比特?cái)?shù),和每次send多少數(shù)據(jù)沒有直接關(guān)系。是看1秒內(nèi)send了多少數(shù)據(jù)。
這個(gè)問題依然存在,,怎么解決,大佬。
每次send時(shí)記錄日志,包括數(shù)據(jù)的大小,時(shí)間。然后自己算下對(duì)不對(duì)。如果出入很大,可能你系統(tǒng)里有其它服務(wù)在在用帶寬。