了解网站速度:第一个字节的时间(TTFB)

了解网站速度:第一个字节的时间(TTFB)

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

TTFB是最初的网络请求被发起到从服务器接收到第一个字节前所花费的毫秒数。

许多人使用这种数据作为测试服务器速度的基本方法,虽然这有效,但它只是做对了一半而已。如果你打开的网站是使用内容管理系统(CMS)(如WordPress),那么服务器必须执行生成内容所需的所有CMS计算。PHP服务必须加载MySQL数据库,获取内容,计算适当的HTML输出,并将其返回给网站访问者。

如果CMS的速度较慢,那么所有这些步骤都需要一些时间,你可能会收到错误的TTFB结果,例如1-3秒或更长时间。这并不一定意味着你的主机服务器运行缓慢或遇到问题。通常情况下,这意味着你有太多的插件或扩展,你没有使用缓存系统,或者你使用的是旧的PHP版本。当然,如果你使用静态HTML页面但TTFB很慢,那么很可能是主机服务器本身的问题,因为没有其他因素会影响网站的性能。

动态缓存如何影响TTFB?

动态缓存不用每次都重复请求打开内容而缓存在指定的服务器中。通过存储下次为网页提供服务所需的数据,缓存以类似的方式工作。

Siteground主机的动态缓存使用NGINX作为反向代理,PHP和MySQL的所有计算都存储在服务器的RAM中。当访问者收到缓存响应时,就像加载静态HTML页面一样快甚至更快!因为内容是从内存而不是从服务器的硬盘驱动器提供的。虽然SSD速度非常快,但在速度方面,没有什么能与服务器RAM相提并论。

如果你启用了动态缓存但仍然有慢速TTFB,则有两件事需要检查:

  • 你是否在测量缓存结果?最简单的检查方法是多次测试。获得较慢的第一个结果和最快的结果是正常的。
  • 你是从一个离自己最近的地理位置测量的吗?如果是从远程位置进行测试,那么你的网络延迟很高是正常的。如果希望你的站点在各个位置都快速,请考虑实施CDN。

可以缓存所有页面吗?

并非所有页面都可以完全缓存。结帐页面,购物车和登录页面具有特殊情况。第一步是确保你使用的是PHP 7.1或更高版本。Siteground主机默认启用了opcache,而WordPress和其他CMS应用程序的运行速度要快得多。最后请检查你正在使用的插件,你是否使用了过多的插件,插件是否是安全的,它们对你的页面渲染过程有什么负担?

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

如上所述,TTFB受到服务器和浏览器(或用来测试速度的工具)的严重影响。如果在你的地理位置附近有数据中心,那么使用CDN可以提高网站速度。但请注意,如果启用了CloudFlare之类的CDN ,则需要测量浏览器与服务请求的特定CDN端点之间的TTFB,而不是你和主机服务器之间的TTFB。如果CDN尚未缓存你的内容,则必须首先调用主机服务器来获取数据,分发数据然后将其提供给你。这可能会在接收到第一个字节之前导致进一步的延迟。

要解决此问题,请确保为CDN启用了缓存,并检查其数据点是否接近你的地理位置。

留下评论