1. TCP有两个窗口:
* 发送端:拥塞窗口(congestion window),由拥塞控制算法管理。
* 接收端:接收窗口(receive window)。
2. 拥塞窗口(发送窗口)
通过ip route命令修改初始发送窗口大小(默认为3?):
# ip route change 10.0.0.0/8 dev eth0 \
proto kernel scope link initcwnd 16
# ip route list
3. 接收窗口
通过修改内核参数调整:
# sysctl net.core.rmem_max
net.core.rmem_max = 11960320
# sysctl net.ipv4.tcp_rmem (Min, Default, Max)
net.ipv4.tcp_rmem = 4094 524288 11960320
4. 通过 TCP retransmissions检查丢包
# netstat -s | grep retransmit
2349 segments retransmited
16 fast retransmits
5 forward retransmits
5. 使用 ss 命令查看socket统计信息
# ss -ite