我最近迁移到另一个功能更强大的服务器。
升级后的Ruby版本,Rails,Sidekiq和Redis,但对于一些我不知道的原因,Sidekiq处理任务的速度非常慢。
有时任务可以在“忙碌”队列中停留长达20分钟,而实际上,同步执行相同任务(通过WorkerName.new.perform)的时间不会超过10秒。
我们没有超过1分钟的长轮询任务。
Sidekiq只使用100%的CPU,但我认为MRI正常。但同样,我们过去常常使用类似的配置获得更好的性能。
配置/ sidekiq.yml
<ad:DockingManager.DocumentHeaderTemplate>
<DataTemplate>
<Label Content="{Binding Content.Name}" />
</DataTemplate>
</ad:DockingManager.DocumentHeaderTemplate>
我们使用Capistrano部署和capistrano-sidekiq gem。
这是用于启动Sidekiq的命令
:verbose: false
:pidfile: ./tmp/pids/sidekiq.pid
:concurrency: 50
:queues:
- [webmaster_balance, 5]
- [advertiser_balance, 4]
- [balance_history, 3]
- [mailer, 2]
- [default, 1]
Sidekiq日志中没什么有趣的。
我应该高度赞赏任何关于我应该从哪里开始寻找的提示。