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


Process manager issues with zend framework 2

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

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

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

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

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

以上所有内容均用于标准调试。然而,如果您渴望基于当前部署的框架实例来优化/调试速度,您可以做更多的事情;

  • 事件:ZfSnapEventDebugger
  • 配置(检查性能):ThaConfigalyzer
  • 已用资源(计数器):EdpClassCounter
  • 高级PHP调试器:APD或Xdebug
  • 服务器:添加更多资源(内存、缓存、cpu等)
  • 本地和生活;比较两种环境的响应时间,以缩小实时环境网络上的硬件问题

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

相关文章: