《Web性能权威指南》笔记:TCP的优化建议

参考书籍:Web性能权威指南

1. 服务器配置调优

  1. 服务器升级到最新内核
  • TCP的最佳实践以及影响其性能的底层算法一直在与时俱进,而且大多数变化都只在最新内核中才有实现。让你的服务器跟上时代是优化发送端和接收端TCP栈的首要措施。
  1. 增大TCP的初始拥塞窗口
  • 加大起始拥塞窗口可以让TCP在第一次往返的时候就传输较多数据,而随后的速度提升也会很明显。对于突发性的短暂连接,这也是特别关键的一个优化。
  1. 禁用慢启动重启 SSR(Slow-Start Restart)
  • SSR对于那些会出现突发空闲的长周期TCP连接(比如HTTP的keep-alive连接)有很大的影响。在连接空闲时禁用慢启动可以改善瞬时发送数据的长TCP连接的性能。
  1. 窗口缩放 (RFC 1323)
  • 启用窗口缩放可以增大最大接受窗口大小,可以让高延迟的连接达到更好吞吐量。


    窗口缩放 (RFC 1323)
  1. TCP快速打开
  • 在某些条件下,允许在第一个SYN分组中发送应用程序数据。TFO(TCP Fast Open,TCP快速打开)是一种新的优化选项,需要客户端和服务器共同支持。为此首页要搞清楚你的应用程序是否可以利用这个特性。

2. 应用程序行为调优

  1. 消除不必要的数据传输,能少发就少发。
  • 减少下载不必要的资源
  • 通过压缩算法把需要发送的数据的比特数降到最低
  1. 让数据传输的距离变短
  • 在不同的地区部署服务 器(比如,使用 CDN(Content Delivery Network,即内容分发网络)),把数据放到接近客户端的地方,可以减少网络往返的延迟, 从而显著提升 TCP 性能。
  1. 尽可能重用已经建立的 TCP 连接,把慢启动和其 他拥塞控制机制的影响降到最低。

3. 性能检查清单

  • 把服务器内核升级到最新版本(Linux:3.2+);
  • 确保 cwnd 大小为 10;
  • 禁用空闲后的慢启动;
  • 确保启动窗口缩放;
  • 减少传输冗余数据;
  • 压缩要传输的数据;
  • 把服务器放到离用户近的地方以减少往返时间;
  • 尽最大可能重用已经建立的 TCP 连接。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 传输层-TCP, TCP头部结构 ,TCP序列号和确认号详解 TCP主要解决下面的三个问题 1.数据的可靠传输...
    抓兔子的猫阅读 4,543评论 1 46
  • 六、TCP可靠传输的实现 首先介绍以字节为单位的滑动窗口。为了讲述可靠传输原理的方便,假定数据传输只在一个方向进行...
    dmmy大印阅读 1,745评论 0 1
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,087评论 0 8
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,125评论 6 174
  • 继续未完的书写,先让思绪倒回2015年完成这篇活动之后的总结。 抛开个人观点的诉求,用尽量客观的眼光来看...
    禅悟修人心阅读 150评论 0 0