New Relic RPM等应用程序性能监视工具如何工作?

时间:2010-11-16 01:52:04

标签: php mysql performance monitoring

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

4 个答案:

答案 0 :(得分:3)

你可以看一下Pinba,它与New Relic有点类似。

答案 1 :(得分:2)

New Relic使用自定义PHP扩展。您需要安装它,然后它将报告给他们的主应用程序。所有知名的APM工具都是这样做的:New Relic,Dynatrace / Ruxit,AppDynamics,T​​ideways,Instana,......

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

关于挂钩函数执行程序和分析PHP代码的开源示例,您可以查看Facebook's xhprofxdebugTideways。这些分析器还将功能暴露给用户空间,以允许用户对他们自己的代码进行自定义检测,例如,只描述代码的特定部分等。

答案 2 :(得分:0)

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

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

使用可以使用跟踪和分析器转储收集大多数重要信息,请访问xdebug网站以获取更多信息。

http://www.xdebug.org/

答案 3 :(得分:-1)

我不确定这是用另一种语言编写的,但是我一直在尝试使用名为AppPerf的开源应用程序性能监视工具。它是用Ruby on Rails编写的,目前只有基于红宝石的RPM可用。至少,它可以为您提供一些有趣的见解,以了解构建此类内容可能涉及的内容。

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