流程管理器与zend框架2的问题

时间:2015-12-17 12:28:45

标签: php performance debugging zend-framework

我正在运行一个网站(zf2),它不断在服务器上施加很高的负载。当我去检查流程管理器以查看网站的哪个部分造成如此大的压力时,它总是向我显示/public/index.php用于所有与php相关的流程。

有什么方法可以找到哪个控制器和操作被哪个进程调用,这样我就可以确定负载问题?

当我重新启动Apache时,它会缓解压力一段时间。我无法弄清楚网站的哪个部分正在创造如此多的负载。

1 个答案:

答案 0 :(得分:0)

下载并安装/配置ZendDeveloperTools。这是一个小模块,它允许您调试ZF2 MVC层上的某些部分。 根据其结果,如果您的应用程序具有(例如)路由开销,您将可以缩小范围。

在ZendDeveloperTools之上,您可以安装BjyProfiler。该包允许您进行数据库查询分析。如果您使用的是Doctrine之类的ORM,则不需要BjyProfiler模块,工具栏会显示您执行的所有查询。

以上所有内容均适用于标准调试。但是,如果您渴望根据当前部署的框架实例优化/调试速度,则可以执行更多操作;

  • 活动:ZfSnapEventDebugger
  • 配置(检查效果):ThaConfigalyzer
  • 使用的资源(计数器):EdpClassCounter
  • 高级PHP调试器:APDXdebug
  • 服务器:添加更多资源(内存,缓存,cpu'等)
  • 本地和现场;比较环境响应时间以缩小实时环境网络上的硬件问题

请记住,在您的实时环境中安装ZendDeveloperTools时,您必须确保只为您显示此模块内容! (例如;在您将模块添加到活动模块(if)中放置一个/config/application.config.php语句。如果您忘记这样做,您的所有敏感配置都会显示在应用程序上(因此整个世界可以看到它。)