如何找到Laravel的瓶颈?

时间:2016-06-01 17:34:47

标签: php laravel laravel-5 laravel-5.2 clockwork

我有一个使用Laravel 5.2编写的大型应用程序。该应用程序似乎在“一两天”运行良好,然后它开始放慢“每个请求表15秒以上。”

我试图找出可能导致速度降低的原因。首先,我列出了我应该按顺序查看的前4个类别。

  1. SQL Server问题。锁定,长时间运行的查询。
  2. PHP问题,可能导致额外/不需要的工作,如长时间运行的循环
  3. Web服务器问题,如内存泄漏或响应时间慢。
  4. 网络问题。
  5. 对于第一个类别“即SQL问题”,我评估了所有查询,一切似乎都很轻,速度相当快。没有长时间运行的查询,我发现没有SQL锁。虽然我没有将此作为一个可能的问题消除,但是现在看其他地方是公平的。有一点需要注意的是,该应用程序正在生成大量查询,这表明我可能遇到了N + 1案例。

    虽然第3类和第4类很重要,但我喜欢将时间集中在第二类“即代码问题”,这是我需要帮助的地方。如果存在代码问题,我需要能够弄清楚几件事情来帮助我做出有根据的判断。以下是我想知道/开始记录的一些事情。

    1. 每个类执行多长时间以查看是否需要更长时间才能运行。
    2. 每个类中生成的所有查询的数量/列表,我可以识别N + 1案例的来源。
    3. 我正在使用Google Chrome中的Clockwork扩展程序来帮助我记录日志。但是,我无法在课堂上分解结果,这将使我对正在发生的事情有深入的了解。

      如何收集上面列出的2项?是否可以连接到发条并将该信息作为过滤器添加到其中,我只是看到了Google Extension中的所有信息?

0 个答案:

没有答案