Azure Service Bus (Queue) へ一度に送信できるメッセージの上限
Azure Service Bus Queue の高負荷試験を考えていた時に遭遇したエラーおよび上限について、残しておきます。
事象
こちらのドキュメントを参考に、Service Bus へのメッセージ送信を検証していたところ、コードに修正を加えて 1度に 5,000件程度のメッセージを送信しようとしたところ、下記の例外が返ってくることを確認。
The service was unable to process the request; please retry the operation. For more information on exception types and proper exception handling, please refer to http://go.microsoft.com/fwlink/?LinkId=761101 Reference:<Reference GUID>, TrackingId:7878a908000001ff001dfb5a60e6fafa_G4_B12, SystemTracker:<Service Bus Name>:<Queue Name>, Timestamp:2021-07-08T13:18:00 (GeneralError)
原因
何かしらの上限系が原因かと想定して公式ドキュメントも確認したのですが、いまいち分からず…。サポートに問い合わせたところ、下記のドキュメントに記載の制限だそうです。
After additional testing, it seems that Basic and Standard are 4500. Premium seems to be ~15885.
Basic および Standard SKU では 4,500件とのこと。また、Premium では 15,885 件のようですが、実際には 16,000件まで送ることができました。
対処
対処としては、残念ながら上記の上限以内の件数で送信するしかないようです。4,500件以上送る場合は、複数回に分けて送る必要がありますね。
※なお、本件の情報については、Microsoft社サポートの方にも公開許可を得ております。ありがたや🤗
Discussion