我正在考虑实现一些在生产服务器上分析代码的东西,并需要一些最佳实践建议。显然,分析所有请求是一个坏主意,因为会增加开销,因此我正在研究一些可以根据请求随机调用分析器的技术。类似于每 10,000 个请求 1 个配置文件。
我知道有一种方法可以通过 Facebook 来完成这样的任务XHProf 分析器但希望使用 xdebug 得到类似的解决方案。
所以我的问题是(假设 xdebug 是分析器):
- 这种功能值得推荐吗?我想从生产环境中获取一些真实世界的数据,但如果这意味着由于开销而破坏用户体验,则不会。
- 在生产环境中安装 xdebug 是否会以任何方式向攻击者/利用者开放服务器(假设未启用调试器)?是否有适用于此类设置的样板配置?
- 触发分析器以获得适当样本量的最佳方法是什么?
对此事的任何其他见解将不胜感激。
不要重新发明轮子。当涉及到在生产环境中分析代码时,XHProf Profiler 绝对是最好的工具。
在 xdebug 中启用分析的选项仅限于通过 php.ini 文件始终打开分析或通过 .htaccess 文件进行分析xdebug.profiler_enable = 1
或通过选择性地打开分析xdebug.profiler_enable_trigger = 1
。在后一种情况下,您必须有一个XDEBUG_PROFILE
GET 或 POST 参数设置或发送带有名称的 cookieXDEBUG_PROFILE
。这意味着,如果有人想恶作剧,他们可以通过简单地将 GET 参数附加到一堆请求中来减慢您的服务器速度。
我能看到的唯一可以分析相对随机的请求样本的选项是让 cron 脚本定期将 .htaccess 文件放置在适当的目录中,然后将其移出该目录。尽管如此,这还是不太理想。
如果您决定选择 XHProf,请查看XHGUI.
http://phpadvent.org/2010/profiling-with-xhgui-by-paul-reinheimer
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)