Ruby on rails 由于brpop,Rails Sidekiq Redis长期运行
Newrelic使用Sidekiq对新鲜的Ruby on Rails应用程序进行监控,目前还没有实现多少逻辑,也没有多少流量,这表明Redis在Ruby on rails 由于brpop,Rails Sidekiq Redis长期运行,ruby-on-rails,sidekiq,newrelic,Ruby On Rails,Sidekiq,Newrelic,Newrelic使用Sidekiq对新鲜的Ruby on Rails应用程序进行监控,目前还没有实现多少逻辑,也没有多少流量,这表明Redis在brpop操作上花费了很长时间(大约2-3秒) 为什么呢 这是性能方面的问题吗?根据本期中的信息 这是Sidekiq的正常行为: 见@jonhyman评论 brpop也是一个阻塞命令,所以如果没有很多作业,那么每个作业都会阻塞1秒 请参见@ryansch注释: 你想要那种行为。这就是sidekiq在工作时所做的 等待工作。这是一个长期运行的阻塞操作,因为
brpop
操作上花费了很长时间(大约2-3秒)
为什么呢
这是性能方面的问题吗?根据本期中的信息 这是Sidekiq的正常行为: 见
@jonhyman
评论
brpop也是一个阻塞命令,所以如果没有很多作业,那么每个作业都会阻塞1秒
请参见@ryansch
注释:
你想要那种行为。这就是sidekiq在工作时所做的
等待工作。这是一个长期运行的阻塞操作,因为redis
然后,你可以在sidekiq收到工作通知后立即告诉他。这个
另一种选择是我们当然不想要的投票。
我在我的new relic仪表板上看到了同样的东西。不用担心
所以这不是问题。Sidekiq实际上是在试图变得更加机智,让Redis通过在brpop
操作上保持连接来完成让他知道何时有新任务的肮脏工作