![Linux TCP 緩衝區模擬](https://rvso.com/image/1457456/Linux%20TCP%20%E7%B7%A9%E8%A1%9D%E5%8D%80%E6%A8%A1%E6%93%AC.png)
我想在 Linux TCP 接收緩衝區上運行模擬,以了解我的緩衝區必須有多大。
有沒有可以進行此類模擬的軟體?能夠填充緩衝區以查看我的應用程式發生了什麼會很方便。
更新:看起來我們正在使用大緩衝區,因為我們會遇到緩衝區溢位。我們的網路為 1Gbit,ping 僅 0.08 毫秒。我們的緩衝區設定如下所示:
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.inotify.max_user_watches = 65536
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.rmem_default = 1733248
net.core.wmem_default = 1733248
net.ipv4.tcp_rmem = 4096 1733248 16777216
net.ipv4.tcp_wmem = 4096 1733248 16777216
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
答案1
查看本文。它似乎很好地描述了優化過程,並且有範例程式碼(Java 和 C)來存取/更改大小。還有一個連結到 Linux 工具以確定最佳尺寸。
這另一篇文章顯示一些可以使用 /proc/sys 檔案系統存取的內容,這是即時資訊的一個很好的來源。它展示瞭如何使用命令列來使用它。