性能优化
延迟的构成
- 传播延迟:消息从发送端到接收端需要的时间,和信号传播距离以及速度有关。
- 传输延迟:把消息中的所有比特转移到链路中需要的时间,和消息长度以及链路速率有关。
- 处理延迟:处理分组首部、检查位错误以及确定分组目标所需的时间。
- 排队延迟:到来的分组排队等待处理的时间。
TCP性能优化
- 增加TCP的初始拥塞窗口:可以让TCP在第一次往返就传输较多的数据,对于突发性的短暂连接是一个比较关键的优化点。
- 禁用慢启动重启:在连接空闲时禁用慢启动可以改善瞬时发送数据的长TCP连接的性能。慢启动是TCP协议中一种动态改变传输速度的机制,用来预防向网络中发送过多的数据。开启慢启动后,在连接刚建立时不会以最大的速率进行传输,而是有一个爬坡的过程,这使得连接的两端在一开始不能以最大吞吐量发送数据。
- 启动窗口缩放:可以增大最大接收窗口大小,提高连接的吞吐量。
- TCP快速打开:在某些条件下允许在第一个SYN分组中发送应用数据,需要客户端和服务端同时支持。
HTTP性能优化
- 客户端、服务端开启连接重用,节省握手时间。
- 客户端使用多个TCP连接与服务端交互,但同时也会占用更多的系统、网络资源。
- 域名分区,由于浏览器通常对单个域名有连接数的限制,因此可以通过使用多个域名(a.baidu.com,b.baidu.com等)绕过这个限制,提高连接数量。
- 合并静态资源,减少请求数量。