首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby on Rails -延迟作业睡眠延迟小于5秒

Ruby on Rails -延迟作业睡眠延迟小于5秒
EN

Stack Overflow用户
提问于 2020-05-18 14:19:33
回答 1查看 519关注 0票数 0

在ruby on rails中,将延迟作业的睡眠延迟设置为小于5秒的效果如何。这一变化会带来什么负面影响?对应用程序的总体影响是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-05-18 15:49:44

Delayed::Worker.sleep_delay配置当队列中没有找到作业时,工作进程在再次检查新作业之前休眠的时间(以秒为单位)。

检查新作业总是意味着DelayedJob运行数据库查询。

当您知道系统中几乎没有任何作业时,可以将sleep_delay设置为更高的数字,以减少对数据库的查询次数,并减少服务器的CPU和IO使用率。

如果您的作业应该几乎实时运行,并且您不能或不希望每个作业都等待几秒钟,那么您可以将sleep_delay设置为较小的数字。这意味着DelayedJob将更快地找到新工作。

这对你的应用程序意味着什么?较小的数量是否会影响应用程序的性能?这取决于您的应用程序:

  • 相对于后台作业数的web请求速率。
  • 服务器的CPU和IO以及作业的作用。
  • 是多台服务器还是只有一台?DelayedJob和DB的专用服务器?
  • DelayJob工作进程的数量。

我建议稍微玩弄一下数字,在你想要等待作业被挑选的平均时间和服务器的基本负载之间找到一个平衡点。你需要每秒检查新的工作吗?

对于大多数应用程序,除非它们有大量的流量和大量的后台作业,否则我认为更改此值不会对应用程序的其余部分产生任何影响。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61863492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档