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 作业负载的建议最大大小是多少?的主要内容,如果未能解决你的问题,请参考以下文章