网站加载 Waiting (TTFB) 时间过长的原因和解决办法

文 / @WordPress主题

关于网站加载Waiting(TTFB)时间过长的问题

你好,如果你是一位关注网页前端性能的朋友,在优化网页性能的时候都会遇到网站加载Waiting(TTFB)时间过长的问题。这个问题的主要原因是在服务器端,不熟悉服务器运维的朋友优化起来可能会不知道从哪里下手,今天我们就从各方面分析一下网站加载Waiting(TTFB)时间过长的原因和解决办法。

什么是Waiting(TTFB)时间

TTFB是TimetoFirstByte的缩写,指的是浏览器开始收到服务器响应数据的时间(后台处理时间+重定向时间),是反映服务端响应速度的重要指标。就像你问朋友了一个问题,你的朋友思考了一会儿才给你答案,你朋友思考的时间就相当于TTFB。你朋友思考的时间越短,就说明你朋友越聪明或者对你的问题越熟悉。对服务器来说,TTFB时间越短,就说明服务器响应越快。

TTFB时间多长算长?

每个服务器的TTFB时间是不相同的,但如果TTFB时间超过了500ms,用户在打开网页的时候就会感觉到明显的等待。我们可以把500ms以上认为是 TTFB时间过长。

静态网页waiting(ttfb)时间
静态网页Waiting(TTFB)时间
动态网页waiting(ttfb)时间
动态网页Waiting(TTFB)时间

TTFB过长的原因

对于动态网页来说,服务器收到用户打开一个页面的请求时,首先要从数据库中读取该页面需要的数据,然后把这些数据传入到模版中,模版渲染后,再返回给用户。由于查询数据和渲染模版需要需要一定的时间,在这个过程没有完成之前,浏览器就一直处于等待接收服务器响应的状态。有些服务的性能比较低,或者优化没做好,这个时间就会比较长。

当然,如果服务器到用户之间的网络不好,服务器接收到用户请求的时间过长,也是导致TTFB时间过长的原因。另外,页面在用户的浏览器中保存了过多的Cookie也可能导致TTFB时间过长。

Waiting(TTFB)时间过长的解决办法

缩短服务器响应时间是解决Waiting(TTFB)时间过长的关键。最简单直接并且有效的办法就是使用缓存,把PHP和MySQL的执行时间最小化,一些缓存插件可以把SQL查询结果缓存起来,把几十次查询结果转换为几次;一些缓存插件可以直接把用户所请求的页面静态化,用户打开网页时,相当于直接从服务器上下载了静态页面。

如果是网络原因,换一个服务器是比较直接的解决办法。如果因为一些原因不能换服务器,可以使用一个CDN,把页面同步到离用户比较近的CDN节点上,也是一个不错的解决办法。

如果是Cookie的原因,可以通过修改应用程序,删除一些不必要的Cookie,或者精简Cookie内容,缩短Cookie的有效期等,都是解决办法。

本站使用的是Cachify插件Memcached缓存方式,网站加载Waiting(TTFB)时间达到了50ms左右,感兴趣的朋友可以用谷歌浏览器的调试工具查看一下。我们提供付费的网站性能优化服务,如果您想优化自己的网站速度,让客户更快的看到网站,却不方便自己动手,请通过QQ或电子邮件联系我们。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。