NewRelic PHP代理添加了多少开销?
绝不是,NewRelic通过许多成功的部署风靡全球.
但是在生产中使用它的缺点是什么? PHP监视代理程序用作.so扩展名.如果我理解正确,它会连接到另一个系统聚合服务,该服务会过滤数据并将其推送到NewRelic云中. 这仅仅意味着它在引擎盖下透明地工作.但是,这是真的吗? 该图显示了使用NewRelic代理(顶部蓝色代码)和代理程序(其他行)的生产EC2 t1.micro实例上的CPU利用率 > NewRelic真正做了什么导致额外的开销?
您的里程可能因设置,您的特定站点代码库等而异.
您所看到的额外开销减少了使用的内存,但是对PHP代码进行了跟踪和分析,并在其上收集分析数据以及数据库请求分析.基本上一些额外的开销挂钩到每个PHP函数调用.如果您在计算机或配置文件上运行Xdebug或ZendDebugger,您会看到类似的开销.任何模块都会使用一些资源,一旦深入挖掘进行剖析可能是最昂贵的,但我已经看到新的遗物有配置设置来回拨它的配置文件的密集程度,所以你可能能够减轻它的命中率而不是说Xdebug . 所有这一切,新的共享PHP模块加载了他们网站的默认设置和配置我公司的网站整体服务器响应延迟在我们为所有生产机器打开时全面上升了大约15-20%.我只是谈论php-fpm生成初始响应所需的时间.我们的站点是http://www.nara.me. newrelic-daemon和newrelic-sysmon服务也在运行,但我怀疑它们对响应时间有任何影响. 不要误会我的意思,我喜欢新的遗物,但在我的特定情况下击中的性能并没有让我想让PHP模块在所有我们的实时负载平衡机器上运行.我们可能会一直在一台机器上运行它.我们计划将sysmon的内容保持100%并保持模块禁用,以防我们需要它进行故障排除. 我的建议如下: >在if(function_exists($function_name))块中包含对新relic函数的任何调用,这样如果未加载新的relic模块,代码可以无错误地运行 另一件事要记住,如果您的主要信息来源是新的遗物网站:他们通过您监控的机器数量获得报酬,所以不要指望他们说服您不要在任何低于100%的机器上使用它你的机器,即使它不需要.我认为其中一个常见问题解答或博客基本上表明您应该期待一些性能影响,但如果您使用它并预测从中看到的问题,您应该收回延迟丢失.我同意,但我认为一旦你解决了这些问题,就将暴露限制在所需数量最少的服务器上. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |