Ruby Sidekiq提升了我在New Relic的绩效监控

Ruby Sidekiq提升了我在New Relic的绩效监控,ruby,heroku,newrelic,sidekiq,Ruby,Heroku,Newrelic,Sidekiq,救命啊!我最近开始在Ruby应用程序中实现Sidekiq()。我没有注意到具体的性能下降。然而在NewRelic中,在我的监控页面上,似乎对我的概览图产生了额外的影响,其中DB时间似乎刚刚超过了应用程序响应时间层的整个堆栈 澄清:在我最后一次部署之后,我的概览图突然显示没有Ruby时间和大量数据库时间,但我的数据库使用没有改变,我确信我的应用程序正在服务web请求。什么原因会导致这种情况?此问题最常见的原因是,不直接为web请求提供服务的后台作业(例如Resque、Sidekiq、Delayed

救命啊!我最近开始在Ruby应用程序中实现Sidekiq()。我没有注意到具体的性能下降。然而在NewRelic中,在我的监控页面上,似乎对我的概览图产生了额外的影响,其中DB时间似乎刚刚超过了应用程序响应时间层的整个堆栈


澄清:在我最后一次部署之后,我的概览图突然显示没有Ruby时间和大量数据库时间,但我的数据库使用没有改变,我确信我的应用程序正在服务web请求。什么原因会导致这种情况?

此问题最常见的原因是,不直接为web请求提供服务的后台作业(例如Resque、Sidekiq、DelayedJob或其他手动检测的脚本,如rake任务)由New Relic代理以与web应用程序相同的应用程序名称检测。发生这种情况时,后台任务使用的数据库时间将与web应用程序的度量相结合

最简单的解决方案通常是将后台任务从主应用程序中分离出来,让它们以不同的应用程序名称报告。您可以通过在启动后台工作程序时将
NEW\u RELIC\u APP\u NAME
environment变量设置为自定义应用程序名称来完成此操作


在Heroku上,您可以通过将
NEW_RELIC\u APP_NAME='(background)
添加到用于启动Procfile中后台工作程序的命令中来完成此操作。在其他环境中,您可以类似地编辑用于启动后台工作人员的命令。

我认为New Relic不适用于SideKiq。

您能提供一个引用吗?欢迎来到StackOverflow!这对我来说很有效(但出于某种原因,我花了一点时间才开始)。