Php 如何提高amazon sqs排队速度?

Php 如何提高amazon sqs排队速度?,php,laravel,amazon-web-services,aws-sdk,amazon-sqs,Php,Laravel,Amazon Web Services,Aws Sdk,Amazon Sqs,我正在尝试将数千条消息排入sqs队列。我在基于计数的for循环中循环,并将消息发送到队列。下面是我的循环的外观 $sqsClient = AWS::createClient('sqs'); for($i=0; $i<=$count;$i++){ $sqsClient->sendMessage(array( 'QueueUrl' => 'https://sqs.us-west-2.amazonaws.com/xyz123/QueueName',

我正在尝试将数千条消息排入sqs队列。我在基于计数的for循环中循环,并将消息发送到队列。下面是我的循环的外观

$sqsClient = AWS::createClient('sqs');
  for($i=0; $i<=$count;$i++){
    $sqsClient->sendMessage(array(
    'QueueUrl'    => 'https://sqs.us-west-2.amazonaws.com/xyz123/QueueName',
    'MessageBody' => 'Hello World',
    ));
  }
$sqsClient=AWS::createClient('sqs');
对于($i=0;$isendMessage(数组(
'队列URL'=>'https://sqs.us-west-2.amazonaws.com/xyz123/QueueName',
'MessageBody'=>'Hello World',
));
}
这样,它每秒只排队10条消息。如何将它增加到每秒排队1000条消息

请提供帮助,提前感谢。

根据“Amazon SQS产品详细信息”页面(请参阅),似乎已将每个批次的请求限制为10次(请参阅“功能”部分):

消息可以分批发送、接收或删除,最多10次 邮件或256KB。批处理的成本与单个邮件相同, 这意味着SQS对于使用 配料

我还注意到,在常见问题解答中,根据您的级别,您可能每月只能收到固定数量的邮件(请参阅此处的“账单”部分:):

Amazon SQS免费层每月提供100万个请求 充电。许多小型应用程序可能完全可以运行 在此免费层限制内。数据传输费用可能仍然适用 (请参阅定价)。免费级别是每月提供的。免费使用不包括在内 数月累积

如果你是他们的免费用户,并且打算每秒发送数千条消息,我怀疑你会很快收到一百万条请求


我希望这些信息有帮助!

SQS是一个分布式系统。从多个线程/进程/机器并行发送消息以提高吞吐量。

要将消息传递速度提高到每秒1000条消息,您必须对AWS SQS使用水平缩放。以下是在AWS SQS中实现水平缩放的开发人员指南AWS SQS


如果您只是使用普通队列,而不缩放10条消息/秒,那么您只能做到这一点。

我检查过这篇文章,它说的是水平缩放,这意味着什么?在创建队列时,我们需要在任何地方设置它吗?尝试实现并运行该文章中描述的示例步骤,许多概念都将被清除。在hor中izontal扩展可以增加消息生产者和消费者的数量。创建队列时不会进行此设置。达到100万个请求只意味着后续请求不再免费。这不是功能限制,只是计费规则。此外,最初的问题不是发送批,一次只发送一条消息,所以有一个10倍的潜在改进被忽视了。