TCP优化

TCP优化是指客户端和服务器端双方通信链路的优化,通过优化尽量减少丢包重传带来的网络额外负担。

各种丢包重传的导致原因可以分为两种:
• 发送方发包速度高于网络链路所能承受的极限。
• 发送方发包速度高于服务器端所能承受的极限。

那针对这两个问题,我们采取相应的优化:

  • 针对第一个问题:
    通过慢启动的方式,客户端逐渐加大发送流量(倍数扩大),查看网络所能承受的[cwnd],一旦网络过载,出现丢包,就缩小cwnd,直到网络恢复过来。

    通过在ip route上添加 initcwnd 10 的方式修改初始cwnd的大小,单位是MSS:

    Maximum Segment Size
    The maximum segment size (MSS) is a parameter of the Options field of the TCP header that specifies the largest amount of data, specified in bytes, that a computer or communications device can receive in a single TCP segment. It does not count the TCP header or the IP header (unlike, for example, the MTU for IP datagrams)

  • 针对第二个问题:
    服务器端在tcp握手建立之初,协商好[rwnd],通知客户端以服务器可以接受的速度发送请求,避免服务器过载。

    Rwnd 的大小取决于 带宽和延迟的乘积。为什么??
    通过以下命令查看接收窗口的大小:

    $ sysctl -a | grep tcp_mem
    net.ipv4.tcp_rmem =<MIN><DEFAULT><MAX>
    

https://cloud.tencent.com/developer/article/1918083

posted @   zongzw  阅读(25)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示