第三个字节第二次

时间:2018-12-24 17:41:27

标签: php sql performance time-to-first-byte

我一直在维护一个PHP / SQL电子商务应用程序,该客户称他们的ttfb持续稳定地上升了将近3秒。

我尝试过的事情:

  1. 创建一个test.php页面仅回显一些文本会产生30ms的ttfb。
  2. 回溯到提交历史记录,并检查是否有最近的更改可能是罪魁祸首。

加载测试页很快使我相信,它是某种查询或逻辑运行在站点上的每个其他页面上(auth?),但是自ttfb跳转以来,最近的提交都没有任何作用。这怎么可能随机发生?

1 个答案:

答案 0 :(得分:1)

这实际上是一个性能优化问题,可以通过分析来解决。

要进行分析,您可以使用 xdebug 或其他可用的工具,但是在遇到类似情况时,我个人并没有找到有用的解决方案,因此我只是改编了一个简单的分析模块到应用程序。

您想要做的是尝试在本地或登台服务器上模拟生产,服务器设置,数据库条目等中的确切设置。然后只需测量从index.php中的第一行开始到应用程序的关键部分,例如db读/写类,http请求类。然后将数据写入某些数据库,以便您生成性能分析报告。

因此,对于每个路由和/或操作,您希望查看发出了多少数据库请求,执行了多长时间,发出了多少API调用(如果是这种情况)等等。最后,目标是要好好了解执行流程的哪一部分需要花费多长时间。