11

我正在玩弄在生产服务器上实现一些对代码进行概要分析的想法,并希望得到一些最佳实践建议。显然,由于增加的开销,分析所有请求是一个坏主意,所以我正在研究一些将随机调用每个请求的分析器的技术。每 10,000 个请求就有 1 个配置文件。

我知道有一种方法可以使用 Facebook 的XHProf Profiler完成这样的任务,但希望使用 xdebug 提供类似的解决方案。

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

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

对此事的任何其他见解将不胜感激。

4

1 回答 1

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://ppadvent.org/2010/profiling-with-xhgui-by-paul-reinheimer

于 2010-12-07T01:49:26.753 回答