【问题标题】:How does an application performance monitoring tool like New Relic RPM work? [closed]像 New Relic RPM 这样的应用程序性能监控工具是如何工作的? [关闭]
【发布时间】:2010-11-16 01:52:04
【问题描述】:

像 New Relic RPM 这样的应用程序性能监控工具是如何工作的?它如何找出有关您的应用程序的所有信息?如果有人要为 PHP 应用程序构建类似的东西,那么从哪里开始呢? (我知道 PHP 的 New Relic 可用,我对如何自己构建一个感兴趣)。

【问题讨论】:

    标签: php mysql performance monitoring


    【解决方案1】:

    你可以看看Pinba,有点像New Relic。

    【讨论】:

      【解决方案2】:

      New Relic 使用自定义 PHP 扩展。您需要安装它,然后它将报告给他们的主应用程序。所有知名的 APM 工具都采用这种方式:New Relic、Dynatrace/Ruxit、AppDynamics、Tideways、Instana……

      它们的扩展通常会挂接到function executors of the PHP engine。这允许他们运行任意代码,例如在运行各个函数时测量执行时间、内存使用情况等。收集这些指标,然后通过网络(或其他方式)发送到某个处理应用程序。

      您可以查看Facebook's xhprofxdebugTideways,了解有关挂钩到函数执行器和分析 PHP 代码的开源示例。这些分析器还将函数公开到用户空间中,以允许用户对自己的代码进行自定义检测,例如仅分析代码的特定部分等。

      【讨论】:

        【解决方案3】:

        一个好的开始是看PHP的反射系统;

        http://php.net/manual/en/book.reflection.php

        使用可以使用跟踪和探查器转储收集最重要的信息,查看 xdebug 网站了解更多信息。

        http://www.xdebug.org/

        【讨论】:

          【解决方案4】:

          我不确定这有多大帮助,因为它是用另一种语言编写的,但我一直在尝试开发一个名为 AppPerf 的开源应用程序性能监控工具。它是用 Ruby on Rails 编写的,目前只有基于 Ruby 的 RPM 可用。至少它可以让您对构建这样的东西可能涉及的内容有一些有趣的见解。

          https://www.randygirard.com/open-source-application-performance-app/

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-12-29
            • 1970-01-01
            相关资源
            最近更新 更多