![第一个字节的时间:为什么这么高?](https://linux22.com/image/611599/%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%AD%97%E8%8A%82%E7%9A%84%E6%97%B6%E9%97%B4%EF%BC%9A%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E4%B9%88%E9%AB%98%EF%BC%9F.png)
我最近更换了一个网站的主机,发现页面加载速度很慢。页面元素本身加载速度很快(页面很轻量,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