优化应用交付

应用交付简要介绍

Posted by lvwa on April 11, 2025

本文参考 High Performance Browser Networking,获取更多详细内容请查看原文。

网络应用交付的核心编织

在高性能的浏览器网络中,各种网络技术相辅相成,构造出我们应用程序最终呈现给用户的性能体验。

尽管无法改变客户端与服务器之间的网络状况、硬件配置或设备特征,但我们依然可以通过在服务器上进行TCP和TLS的优化,以及在应用层面的各种策略来提升性能表现。这是一个充满挑战的过程,但绝对值得投入!

图示展示了Web应用交付的优化分层结构。

物理和传输层的优化

每个网络通信通道的物理特性给应用带来了基本的性能局限:传播延迟受光速和设备间距离影响,而介质的选择则决定了数据包的处理、传输与排队延迟。实际上,多数Web应用的性能受限于延迟,而不是带宽,虽然带宽的提升是持续的,降低延迟的任务却显得复杂。

为了尽可能缩短数据传输的延迟,必须在应用层与传输层尽量优化,减少不必要的请求往返,尽量靠近用户来定位服务器,才能达到更好的效果。

每个应用都能通过识别并优化无线传输的特点来提升性能,尤其是在延迟普遍较高的情况下。资源的下载、信标处理等方面的简单改进都可以对应用的整体体验产生积极影响。

协议与应用层的最佳实践

当我们进入应用层时,HTTP作为一种成功的协议,无疑是连接无数客户端与服务器的共同语言。然而,HTTP并不是完美的,因此我们必须对其进行优化:

  • 确定相应HTTP/1.x的局限性。
  • 发掘HTTP/2带来的新特性。
  • 时刻保持对应用性能的关注,确保遵循最佳实践。

当然,成功的策略在于持续监控和测量性能,寻找潜在问题,结合业务目标来调整性能指标。

常青性能的原则

无论应用使用的网络或协议类型如何,所有的开发者都应尽力减少网络延迟和数据传输字节。从某种意义上说,这两个原则构成了常青性能的根基

  • 减少DNS查找次数:每个域名解析都对请求产生额外延迟。
  • 重用途TCP连接:尽量利用连接保持来节约TCP握手时间。
  • 最小化HTTP的重定向:不必要的重定向会增加额外的延迟。
  • 优化资源的传输:无论查找、压缩,还是并行请求,优化每个请求都有助于提升性能。

保持警觉,审视并剔除冗余请求,密切关注延迟瓶颈问题。

常用的优化策略

  1. 客户端缓存:利用缓存机制避免冗余请求,确保资源有效地被应用。
  2. 数据压缩:在传输过程中压缩数据,以降低所需带宽。
  3. 精简请求字节:减少HTTP头的信息量,精简传输需要的字节。
  4. 请求和响应的并行处理:尽可能缔造一个高效的请求环境。

针对HTTP/1.x和HTTP/2的优化

当谈到HTTP/1.x的优化时,配置服务器以实现最佳性能至关重要。接下来重点放在每个特定的技巧上:流量流水线、域分片等。

另一方面,HTTP/2则带来了更高效的资源使用方式。通过单一的TCP连接可多路复用请求,显然减少了延迟,带来了更顺畅的体验。