缩短服务器响应时间

Lighthouse 报告的“优化建议”部分报告服务器响应时间,即用户浏览器在发出请求后接收网页内容的第一个字节所需的时间:

Lighthouse 服务器响应时间较低的屏幕截图

服务器响应速度缓慢会影响性能

如果浏览器等待的时间超过 600 毫秒,以便服务器响应主文档请求,审核就会失败。用户不喜欢页面需要很长时间才能加载完成的情况。服务器响应时间过长可能是导致网页加载时间过长的一个可能原因。

当用户在网络浏览器中导航到某个网址时,该浏览器会发出网络请求来获取该内容。您的服务器收到请求并返回网页内容。

服务器可能需要执行大量工作才能返回包含用户需要的所有内容的网页。例如,如果用户查看他们的订单历史记录,则服务器需要从数据库中提取每个用户的历史记录,然后将相应内容插入到页面中。优化服务器以尽快执行此类工作,可以减少用户等待页面加载的时间。

即使服务器不需要执行大量工作,客户端和服务器之间的网络延迟也可能会导致服务器响应速度变慢。

如何缩短服务器响应时间

缩短服务器响应时间的第一步是确定您的服务器为返回网页内容而必须完成的核心概念性任务,然后衡量每项任务所需的时间。确定耗时最长的任务后,应设法加快执行速度。

导致服务器响应速度缓慢的原因有很多,因此还有许多可能的改进方法:

  • 优化服务器的应用逻辑以更快地准备页面。如果您使用服务器框架,该框架可能会提供有关如何执行此操作的建议。
  • 优化服务器查询数据库的方式,或迁移到速度更快的数据库系统。
  • 升级服务器硬件以获得更多内存或 CPU。

使用 CDN 来减少网络延迟。如果文档可以缓存在 CDN 边缘节点,这种做法尤其有效。

如需了解详情,请参阅优化 TTFB 指南。

针对特定堆栈的指南

Drupal

主题、模块和服务器规范都会影响服务器响应时间。建议您查找更优化的主题背景、仔细选择优化模块或升级您的服务器。您的托管服务器应利用 PHP 运算码缓存、内存缓存系统(如 Memcached 或 Redis)来缩短数据库查询时间,并优化应用逻辑以加快页面准备速度。

Magento

使用 Magento 的 Varnish 集成

回应

如果您在服务器端渲染任何 React 组件,请考虑使用 renderToNodeStream()renderToStaticNodeStream(),以允许客户端接收并合成标记的不同部分,而不是一次性接收所有标记。

WordPress

主题背景、插件和服务器规范都会影响服务器响应时间。建议您查找更优化的主题背景、仔细选择优化插件并/或升级您的服务器。

资源