我们最近开始使用 NewRelic 进行性能测量,但今天集群中安装了 NewRelic 的节点因此而死亡。我们的系统非常繁忙,每个节点处理大约 15-20k rpm。只有一个节点安装了 NewRelic,虽然其他节点通常使用 4-10% 的 CPU,但这个节点(带有 NewRelic)的 CPU 使用率大约为 20-30%,直到今天跃升至 90%-100%。
我可以理解代码注入和分析使用一些 CPU,我什至可以理解使用 NewRelic 时性能下降 3-5 倍,但超过 10 倍的性能下降是错误的。
有人对这个有经验么?我使用的是.NET4.5,整个系统基本上只使用HttpHandlers,需要相当快(我们的APM通常是0.99 on 200ms),我们的正常加载时间是20ms。该系统是网站的分析工具,因此需要非常快。
我可能需要限制 NewRelic,但我真的不明白该怎么做才能避免再次发生这种情况,除非完全删除它。
此外,我认为 NewRelic 的最大问题之一是您不能简单地关闭它,即使在配置中禁用它也是如此,因为它似乎要么保留在内存中,要么仍然与 IIS 挂钩,因为只有卸载和完整的机器重新启动才能工作。
如果有人对此有任何信息,将不胜感激。