生产分析代码

Mik*_*e B 11 php profiling xdebug xhprof

我正在考虑实现在生产服务器上配置代码并想要一些最佳实践建议的想法.显然,这是一个坏主意,配置文件,因为增加的开销的所有请求,所以我一直在寻找到一些技术,会随机调用每个请求的探查.每10,000个请求中有1个配置文件.

我知道有一种方法可以实现与Facebook的这样一个任务XHProf的探查,但使用的XDebug希望的是类似的解决方案.

所以我的问题是(假设xdebug是分析器):

  1. 这种功能是否可取?我想从生产环境中获取一些真实世界的数据,但是如果它意味着由于开销而破坏用户体验.
  2. 在生产中安装xdebug是否以任何方式打开服务器攻击者/开发者(假设调试器未启用)?这种类型的设置是否有锅炉板配置?
  3. 触发分析器获得适当样本量的最佳方法是什么?

对此事的任何其他见解将非常感激.

Joh*_*ich 9

不要重新发明轮子.在生产环境中分析代码时,XHProf Profiler绝对是最佳工具.

您在xdebug中启用性能分析的选项仅限于通过php.ini文件或.htaccess文件进行xdebug.profiler_enable = 1性能分析或通过选择性打开性能分析xdebug.profiler_enable_trigger = 1.在后一种情况下,您必须XDEBUG_PROFILE设置GET或POST参数,或者发送带有名称的cookie XDEBUG_PROFILE.这意味着,如果有人恶作剧,他们可以通过简单地将GET参数附加到一堆请求来减慢服务器的速度.

我可以看到的唯一选项是分析相对随机的请求样本,即让cron脚本定期将.htaccess文件放在适当的目录中,然后将其移出目录.不过,这还不太理想.

如果您决定使用XHProf,请查看XHGUI.

http://phpadvent.org/2010/profiling-with-xhgui-by-paul-reinheimer