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);
未完待续...