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

Posted

技术标签:

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

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

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

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

【问题讨论】:

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

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

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

【讨论】:

感谢您的回答 GuagshengZue。我知道最佳实践以及拥有大/小有效负载的成本/收益,我只想知道是否存在一些强加限制,或者 Sidekiq 是否有一个最大值会开始行为不端。 sidekiq 没有施加作业大小限制。

以上是关于Sidekiq 作业负载的建议最大大小是多少?的主要内容,如果未能解决你的问题,请参考以下文章

负载均衡你了解多少

AWS 负载均衡器背后的 Sidekiq Web

服务总线通知中心:推送通知的有效负载大小限制是多少?

使用w查看系统负载

全速 USB 的有效最大有效负载吞吐量是多少?

固定大小的 HashMap 的最佳容量和负载因子是多少?