TCP优化建议

1)增大TCP的初始拥塞窗口(initcwnd,Linux内核版本2.6.39以上,最好3.2+。注:Cwnd(拥塞窗口)是网络过载后的传输控制,rwnd(接收窗口)是为避免发送方过载接收方;

2)慢启动重启,连接空闲时禁用慢启动可以改善瞬时发送数据的长TCP连接功能,参数:tcp_slow_start_after_idle;

3)窗口缩放,启用窗口缩放可以增大最大接收窗口大小,可以让高延迟的连接达到更好吞吐量。最初TCP规范分配给通告窗口大小的字段是16位的,也就是说发送端和接收端窗口的最大值是65535字节。这个限制导致无法获得最优性能。为解决这个问题,RFC1323提供了’窗口缩放(TCP Window Scaling)’选项,可将窗口大小提高到1G字节。参数:sysctl net.ipv4.tcp_window_scaling.该参数默认开启;

4)TCP快速打开,允许在第一个SYN分组中发送应用程序数据。TFO(TCP Fast Open)是一种新的优化选项,需要客户端和服务器共同支持。参数: tcp_fastopen,默认未开启。对网络浏览的性能很有帮助,但对视频、直播方面的性能影响很小;

5)压缩要传输的数据(gzip/deflate);

6)把服务器放到离用户近的地方(CDN);

7)尽最大可能重用已经建立的TCP连接—持久连接(HTTP/1.1、HTTP2);

未完待续...

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容