理解站点速度:到第一个字节的时间(TTFB)

工作 2年前 (2020) zhuge
372 0 0

理解站点速度:到第一个字节的时间(TTFB)

在对一个慢速网站进行故障排除时,有一些有用的指标可以确定原因和解决方案。其中一个指标是第一个字节的时间(TTFB),这是所有站点性能基准测试工具使用的度量。这是一个重要的衡量标准,以衡量你的网站开始加载的速度在一个特定的位置或特定的组合设置。了解TTFB可以帮助你更好地理解网站速度是如何工作的,是什么减慢了你的网站,以及如何修复它。

什么是时间第一字节(TTFB)?

TTFB度量从web用户发出HTTP请求(如加载网页)到客户端浏览器接收到第一个字节之间的时间。许多人用这种阅读作为测试服务器速度的基本方法,虽然这是可行的,但这只是故事的一半。如果您试图加载的网站使用WordPress之类的内容管理系统(CMS),服务器必须执行生成内容所需的所有CMS计算。PHP服务必须加载MySQL数据库,获取内容,计算适当的HTML输出,并将其返回给网站访问者。

如果你的CMS很慢,所有这些步骤都需要时间,你可能会收到1-3秒甚至更长的TTFB结果。这并不一定意味着您的主机服务器运行缓慢或出现问题。通常情况下,这意味着您有太多的插件或扩展,您没有使用缓存系统,或者您使用的是旧的PHP版本。当然,如果您使用慢速TTFB来度量静态HTML页面,情况就完全不同了。然后,您可能希望从服务器本身开始调查,因为没有其他因素影响站点的性能。

理解站点速度:到第一个字节的时间(TTFB)

动态缓存如何影响TTFB?

动态缓存就像让您的本地咖啡师记住您的订单,而不必每次都重复它。因为他们已经知道你的饮料,你一走进来,他们就可以开始制作,更快地为你服务。缓存的工作原理与此类似,它存储了下次访问网页所需的数据。

我们的动态缓存使用NGINX作为反向代理。这意味着来自PHP和MySQL服务的所有计算都存储在服务器的RAM中。当一个访问者从我们这里得到一个缓存的响应时,就好像他们正在加载一个静态的HTML页面——只是更快!它更快,因为内容是从内存中提供的,而不是从服务器的硬盘中提供的。尽管ssd超级快,但在速度方面,没有什么能与服务器RAM相比。

如果你有动态缓存,但仍然有慢的TTFB,有两件事要检查:

您正在测量缓存的结果吗?最简单的检查方法是多次执行测试。第一个结果慢一些,而连续的结果快一些是正常的。通过执行多个测试,您可以确保正在测量缓存的结果。

你是从一个很近的地理位置来测量的吗?如果您在远程位置进行测试,则网络延迟通常很高。如果您希望您的站点在各种位置都能快速运行,请考虑实现CDN。

可以缓存所有页面吗?

并不是所有页面都可以完全缓存。结帐页面、购物车和登录用户有特殊的情况。这并不意味着TTFB必须慢。第一步是确保您使用的是PHP 7.1或更高版本。我们在默认情况下启用了opcache, WordPress和其他CMS应用程序运行起来也快得多。接下来,您可以使用我们的Memcached服务来缩短应用程序从MySQL服务器获取数据的时间。最后,检查你正在使用的插件。你使用了多少,它们是高质量的,它们对你的页面渲染过程造成了什么负载?

缓存往往通过掩盖开发问题来掩盖糟糕的网站。如果你的网站加载速度快,没有缓存,这意味着它有良好的代码,是“健康的”。你不应该仅仅依靠我们的动态缓存或你自己的缓存插件来拥有一个快速的网站。

内容分发网络(CDN)如何影响TTFB?

如上所述,TTFB受到服务器和浏览器(或测试速度的工具)之间的网络速度的严重影响。如果CDN的端点靠近您的地理位置,那么使用CDN可以提高您的站点速度。但是,请注意,如果您启用了像CloudFlare这样的CDN,那么您所测量的是您的浏览器与服务您的请求的特定CDN端点之间的TTFB,而不是您与SiteGround服务器之间的TTFB。如果CDN还没有缓存您的内容,它必须首先调用SiteGround服务器,获取数据,分发数据,然后将其提供给您。这可能会在接收到第一个字节之前造成进一步的延迟。

要解决这个问题,请确保为您的CDN启用了缓存,并检查它是否有接近您的地理目标的端点。如果你的访客是世界网络的一部分,那么尝试不同的CDN提供商是值得的。

版权声明:zhuge 发表于 2020年4月12日 下午2:10。
转载请注明:理解站点速度:到第一个字节的时间(TTFB) | 书澳网址导航

相关文章

暂无评论

暂无评论...