Php 在生产环境中分析代码

Php 在生产环境中分析代码,php,profiling,xdebug,xhprof,Php,Profiling,Xdebug,Xhprof,我正在考虑实现一些在生产服务器上评测代码的东西,并希望获得一些最佳实践建议。显然,分析所有请求是一个坏主意,因为增加了开销,所以我研究了一些技术,这些技术将随机调用每个请求的分析程序。大约每10000个请求就有一个配置文件 我知道有一种方法可以通过Facebook实现这一任务,但我希望使用xdebug也能找到类似的解决方案 所以我的问题是(假设xdebug是分析器): 这种功能是否可取?我希望从生产环境中获取一些真实世界的数据,但如果这意味着由于开销而破坏用户体验,则不需要 在生产环境中安装xd

我正在考虑实现一些在生产服务器上评测代码的东西,并希望获得一些最佳实践建议。显然,分析所有请求是一个坏主意,因为增加了开销,所以我研究了一些技术,这些技术将随机调用每个请求的分析程序。大约每10000个请求就有一个配置文件

我知道有一种方法可以通过Facebook实现这一任务,但我希望使用xdebug也能找到类似的解决方案

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

  • 这种功能是否可取?我希望从生产环境中获取一些真实世界的数据,但如果这意味着由于开销而破坏用户体验,则不需要
  • 在生产环境中安装xdebug是否会以任何方式(假设未启用调试器)向攻击者/利用者开放服务器?这种设置是否有锅炉板配置
  • 触发分析器以获得适当样本大小的最佳方法是什么
    对此事的任何其他见解都将不胜感激。

    不要重新发明轮子。当涉及到在生产环境中分析代码时,XHProf Profiler无疑是这项工作的最佳工具

    在xdebug中启用评测的选项仅限于通过php.ini文件或通过
    xdebug.profiler\u enable=1
    始终打开评测或通过
    xdebug.profiler\u enable\u trigger=1
    有选择地打开评测。在后一种情况下,必须设置
    XDEBUG\u配置文件
    GET或POST参数,或发送名为
    XDEBUG\u配置文件
    的cookie。这意味着,如果有恶作剧的人想这么做,他们可以通过简单地将GET参数附加到一堆请求中,使您的服务器缓慢爬行

    我所能看到的唯一一个能够分析相对随机的请求样本的选项是,让cron脚本定期将.htaccess文件放在适当的目录中,然后将其移出该目录。尽管如此,这还是不尽如人意

    如果你真的决定和XHProf一起去看看


    谢谢你的建议,约翰。我将阅读更多关于xhprof的内容,并对其进行更多的考虑。