【问题标题】:What is the recommended maximum size for a Sidekiq job payload?Sidekiq 作业负载的建议最大大小是多少?
【发布时间】:2018-02-04 13:14:07
【问题描述】:

作业负载的建议最大大小是多少?

作为一个具体示例,包含 500kb 到 1Mb 文本的 HTML 文档是否太大而无法传递给作业负载?

由于 Sidekiq 由 redis 支持,我会说 512Mb,但我想知道 Sidekiq 方面是否存在限制。

【问题讨论】:

  • 这会增加一些序列化和网络开销。它会起作用,但我不知道它会带来多少开销。您需要对其进行基准测试。
  • 感谢您的评论迈克。我只是想知道 Sidekiq 是否有一个最大值,或者 Sidekiq 是否有一个最大值会开始行为不端。既然没有,除了基准测试之外别无他法。
  • @jdscosta91,您能分享一下您的发现吗?我也很感兴趣。

标签: ruby redis sidekiq rails-activejob


【解决方案1】:

看到这个article,你应该让你的工作参数小而简单。只需存储一些简单的标识符,然后在您的 perform 方法中真正需要它们时查找这些对象。

而且因为它需要序列化和反序列化,所以将 html 内容添加到作业中会产生额外的成本。因此,只需将 html-content 保存到字符串或某个容器中,然后将字符串 id 或容器 id 发送到 redis 以提高效率和简单性。

【讨论】:

  • 感谢您的回答 GuagshengZue。我知道最佳实践以及拥有大/小有效负载的成本/收益,我只想知道是否存在一些强加限制,或者 Sidekiq 是否有一个最大值会开始行为不端。
  • sidekiq 没有施加作业大小限制。
猜你喜欢
  • 1970-01-01
  • 2013-02-26
  • 2012-06-30
  • 2011-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-10
  • 2011-02-28
相关资源
最近更新 更多