第一个字节的时间:为什么这么高?

第一个字节的时间:为什么这么高?

我最近更换了一个网站的主机,发现页面加载速度很慢。页面元素本身加载速度很快(页面很轻量,CSS 和 JS 经过最小化,启用了 GZIP,JPEG 经过压缩……),但连接到网站的时间似乎很长。

于是我运行了一个基准测试来分析我的网站。结果发现“第一个字节的时间”非常高,我想这就是我所看到的(与其他网站相比,Google Chrome 上的灰色旋转器旋转得太多了)。

测试可以在这里进行:http://cl.ly/image/213Z3I1o0p37

我也在同一台服务器上的其他网站上看到了这种现象。这不是我的互联网连接问题,因为它发生在不同的地方,并且连接速度很快。

我的问题是:什么原因导致“首字节时间”这么长?我应该查看 Apache 配置还是 PHP?

DNS 服务器和网站分别由两家不同的公司托管会影响首次加载时间吗?

附加信息:

  • 共享主机
  • Apache 2.2
  • CentOS 6
  • Intel Core i5-3570 CPU @ 3.40GHz / RAM 16 Gb

编辑:我对简单的 PHP 文件运行了 2 个测试——只是一个 phpinfo()。

测试 1 DNS:由公司A托管 网站:由公司B托管 测试结果:http://cl.ly/image/1T181a452T2R


测试 2 DNS:由B公司托管 网站:由B公司托管 测试结果:http://cl.ly/image/0Z262k2F2M2c

第二次测试显示它更快,我不明白为什么。测试相同,代码相同。但第一次的首字节时间较长……知道为什么吗?

答案1

您的 Web 服务器可能正在尝试将客户端的主机名写入日志文件,而 /etc/resolv.conf 中配置的某个 DNS 服务器可能响应缓慢。

除非你确实需要客户端的主机名用于日志记录目的,否则你应该确保hostnamelookup 已禁用通过设置:

HostnameLookups Off

相关内容