找到长TTFB的罪魁祸首

Posted

技术标签:

【中文标题】找到长TTFB的罪魁祸首【英文标题】:Finding the culprit of a long TTFB 【发布时间】:2015-04-09 06:10:40 【问题描述】:

我们正在运行一个使用 WP 4.1 和 ~10 个知名插件的会员网站。平均而言,我们的第一个请求需要 1.2 秒。

由于它是一个成员,我们使用片段缓存,而不是整页缓存。这样做,我们将 mysql 查询时间从 90 毫秒减少到了 10 毫秒。

我们的插件和主题,虽然可能不是令人印象深刻的 php,但编码并不差。这些长 TTFB 使用默认主题进行,也没有插件。

TTFB 中的剩余因素是什么?我们如何确定问题所在?

【问题讨论】:

【参考方案1】:

好吧,如果您认为自己已经优化了代码,那么列表中的下一项应该与服务器配置相关。诸如软件(nginx 代替 Apache http://www.theorganicagency.com/apache-vs-nginx-performance-comparison/)、添加服务器缓存(Varnish、Redis、Memcache、OPCache 等)、MySQL 配置和许多其他小改进。

此外,在共享主机环境中也可能被视为瓶颈。

【讨论】:

感谢您的建议。在与我们的托管服务提供商交谈后,他们似乎认为磁盘已满导致运行缓慢(93% 已满)。这听起来像是一个可能的罪魁祸首吗? 可能是,很多进程使用内存和硬盘来缓存数据,当内存或硬盘满了而无法缓存的时候,会导致加载时间变长。 硬盘在满时不会“减速”。 SSD可以。你用的是哪个?

以上是关于找到长TTFB的罪魁祸首的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在使用本地 IIS 时等待 ttfb 的时间这么长?

接口速度慢问题查找(TTFB时间长)

什么是 TTFB, 为什么 TTFB 很重要

什么是 TTFB, 为什么 TTFB 很重要

计算和验证首字节时间 (TTFB)

iOS设备电池损耗太快的罪魁祸首找到了!