實際中 TCP 連接上肯定是要進行數(shù)據(jù)的收發(fā)的,而且還會有 TIME_WAIT 等其它狀態(tài)。在這些復雜情況下,一條連接占用多大內存呢?飛哥用做了七天的實驗結果告訴你!
實驗1:ESTABLISH空連接
實驗2:客戶端 => 服務器發(fā)送數(shù)據(jù)測試
實驗3: 服務器 => 客戶端發(fā)送數(shù)據(jù)測試
實驗4:非 ESTABLISH 狀態(tài)
總結
我們把實驗中的數(shù)據(jù)來總結一下
可見,內核在 socket 內存開銷優(yōu)化上采取了不少方法:
1. 內核會盡量及時回收發(fā)送緩存區(qū)、接收緩存區(qū),但高版本做的更好
2. 發(fā)送接收緩存區(qū)最小并一定不是 rmem 內核參數(shù)里的最小值,實際可能會更小
3. 其它狀態(tài)下,例如對于TIME_WAIT還會回收非必要的 socket_alloc 等對象
責任編輯:xj
原文標題:漫畫:花了 7 天時間測試,我徹底搞明白了 TCP 的這些內存開銷!
文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
-
協(xié)議
+關注
關注
2文章
606瀏覽量
39343 -
內存
+關注
關注
8文章
3055瀏覽量
74337 -
TCP
+關注
關注
8文章
1378瀏覽量
79309
原文標題:漫畫:花了 7 天時間測試,我徹底搞明白了 TCP 的這些內存開銷!
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
TCP協(xié)議的常見應用場景
如何優(yōu)化TCP協(xié)議的性能
TCP協(xié)議的安全性分析
什么是TCP協(xié)議及其工作原理


MODBUS TCP 轉 CANOpen

EtherCAT轉Modbus TCP協(xié)議網(wǎng)關(JM-ECT-TCP)

EtherNet/IP轉Modbus-TCP協(xié)議網(wǎng)關(EtherNet/IP轉Modbus-TCP)

EtherNet/IP轉Modbus-TCP協(xié)議網(wǎng)關(JM-EIP-TCP)

一文了解TCP/IP協(xié)議

使用espconn_set_opt設置了TCP斷開連接后立刻釋放內存,好像不生效,怎么解決?
關于LabVIEW中TCP通訊中的TCP讀取問題
精密空調—機房空調“鬧情緒”?原來是這些故障在作怪!

評論