首页 > 解决方案 > 从 AWS SQS 队列中缓慢删除消息

问题描述

问题:

我有默认设置的 SQS 队列。

9 个消费者拉取消息,并发:100。因此,所有与按摩有关的工作的 90% 时间都花在将其从 SQS 中删除。有时队列中有 200 万条消息。

信息 - 时间全部 58189132:7 秒 25.336044 毫秒 信息 - 时间 delMessage58189132:7 秒 3.667635 毫秒

信息 - 时间全部 58189132:7 秒 25.336044 毫秒 信息 - 时间 delMessage90392602:6 秒 943.837946 毫秒

信息 - 时间 all90392602:6 秒 966.396512 毫秒 信息 - 时间 delMessage90392602:6 秒 943.837946 毫秒

我怎样才能更快地做到这一点?

标签: node.jsamazon-web-servicesamazon-sqs

解决方案


基本上基于消息的流程是:

  1. 投票/收听消息
  2. 接收消息
  3. 做工作
  4. 删除消息

您必须完成上述所有步骤。您不能跳过任何一步。只是你需要增加消费者的数量。

注意:仅当您负担不起这么多执行时间时才增加消费者。否则,让他们随便花点时间。


推荐阅读