我有一个网站,加载速度似乎很慢。当我对其进行速度测试时,我发现在HTML加载之前似乎有6秒的间隙。此后,图像和JS脚本的加载速度非常快。
您可以在下面的图片中看到黄色的“等待时间”栏:
无论页面上的HTML内容是什么,这似乎都是一致的。
该站点使用的是CMS(ModX Revo),因此HTML实际上存储在SQL数据库中并由PHP带来,但是我以前从未遇到过此问题。
有谁知道这是什么原因以及如何加快速度?
我有一个网站,加载速度似乎很慢。当我对其进行速度测试时,我发现在HTML加载之前似乎有6秒的间隙。此后,图像和JS脚本的加载速度非常快。
您可以在下面的图片中看到黄色的“等待时间”栏:
无论页面上的HTML内容是什么,这似乎都是一致的。
该站点使用的是CMS(ModX Revo),因此HTML实际上存储在SQL数据库中并由PHP带来,但是我以前从未遇到过此问题。
有谁知道这是什么原因以及如何加快速度?
Answers:
等待的技术术语称为到第一个字节的时间,它确定Web服务器或其他网络资源的响应能力。
一些常见的原因可能导致您看到第一个字节的时间过长:
通常,在共享主机中经常会出现此问题,因为网站和访问它们的人数量庞大,这当然会增加网络字节时间。另一个可能的原因是某个地方的网络出现错误,例如跃点,或者是因为您的服务器不在目标受众的位置,例如,“ GOOD”英国服务器的字节时间比美国服务器针对目标用户的字节时间短。英国,因为需要发送和接收数据的距离较远(通常会增加100-200ms)。
也许是时候找一个新主人
过去,由于到第一个字节的时间滞后,我不得不从一个服务器移到另一个服务器,您可能不得不选择一个新的Web主机或升级当前软件包。
可靠的测试
从家庭宽带测试网站的速度非常有偏差,因为这可能是您的宽带无法响应网站的问题。您应该使用来自多个服务器的多个连接来测试您的网站...我建议您进行网页测试,并同时在不同的地理位置和目标地理位置的受众中同时运行多个测试。这将使您对发生的事情有更好的了解,如果它的第一个字节,那么我建议您先与Web主机联系。
对服务器执行ping和跟踪路由
如果尝试在服务器上运行ping,则结果可能不会显示或不显示,但ping使用ICMP而不是UDP或TCP,这意味着它不像在运行httpd的端口80上查询服务器。您可以使用跟踪路由来识别该路由上可能导致第一个字节增加的任何服务器,再次...它不会查询端口80上的httpd服务器,如果使用Windows的traceroute它将使用ICMP和Mac / Linux机器将使用UDP。值得进行测试,因为它的操作如此简便快捷,但是如果结果恢复正常,则不一定意味着某个地方没有问题。
The delay is occurring after the first header response
那不是第一个字节。第一个字节是第一个响应。
1)您有Adobe TypeKit,它不会与当前代码异步加载。尝试用高级异步代码替换它:http : //help.typekit.com/customer/portal/articles/649336-embed-code
该标准嵌入代码利用了以下事实:标签会阻止页面的进一步呈现,以帮助防止FOUT [Unstyled Text的闪烁]。加载Typekit脚本时,页面的呈现被阻止,因此文本不会开始使用后备字体呈现。
2)使用新的TypeKit进行测试。现在的加载时间如何?更好?转到步骤3。
3)用提供最新异步语法的更新JavaScript替换您的Google Analytics(分析):https : //developers.google.com/analytics/devguides/collection/gajs/
4)测试。页面加载是否更好?
5)最后,考虑优化图像,例如pattern.jpg。我将其转换为PNG,并能够将文件大小从199kB减小到56kB。这样可以减少接收文件的时间:https : //www.dropbox.com/s/i06jx509bmprhhh/pattern.png?dl=0
我希望这有帮助。
PHP与非PHP元素
如果将非PHP资产的加载时间与基于PHP的加载时间进行比较,则会发现如果不涉及PHP,则服务器会快速响应。
这通常表明您的PHP脚本内部存在问题。
问题可能出在PHP层或数据库内。使用XDebug或NewRelic等高级调试工具可以帮助您快速发现瓶颈。
到第一个字节的时间可能是由硬件限制,配置不佳或代码效率低引起的。在共享主机上,最有可能出现硬件限制和配置错误。
无论如何,解决问题通常意味着以下一项或全部:
如果您已经使用了专用资源,则更快的硬件是显而易见的解决方案,但通常会花费很多。
如果问题是您不维护或缺乏开发人员资源的内部原因,则可能无法进行更好的编程。
缓存有助于减少必须到达基础性能不佳的资源的请求数量。
测试中
使用测试工具时,请确保进行多次运行。网络高峰和临时服务器高峰很容易使您误入歧途,因此您希望尝试对这些高峰进行平均。
代管
如果您使用共享主机帐户,则可以考虑迁移到云或VPS类型的服务,以便对性能问题有更深入的了解。除非您使用缓存技术(CDN或Cloudflare类型的服务),否则由于缺乏对服务器的充分控制,更正大容量共享主机系统上的性能问题可能非常具有挑战性。