ApsaraMQ for Kafka は、パフォーマンスと安定性を保護するために、クラスターあたりの Topic とパーティションの総数を制限しています。各パーティションは、ファイルハンドル、メモリ、レプリケーションスレッドなどのブローカーリソースを消費します。そのため、パーティション数が過剰になると、クラスター全体の スループットが低下し、レイテンシーが増加します。
パーティションがクラスターのパフォーマンスに与える影響
ApsaraMQ for Kafka では、メッセージはパーティションによって格納およびスケジュールされます。すべてのパーティションは、レプリカを保持する各ブローカー上のディレクトリにマップされます。このディレクトリには、ログセグメントごとにインデックスファイルとデータファイルが含まれています。パーティション数が増加すると、次の問題が深刻化します。
| 影響範囲 | 発生する事象 |
|---|---|
| ファイルハンドル消費 | 各パーティションは、そのインデックスとデータセグメントのために開いているファイルハンドルを必要とします。数千のパーティションが存在すると、オペレーティングシステムのファイルディスクリプタの制限を使い果たす可能性があります。 |
| レプリケーションレイテンシー | ブローカーは、レプリカを同期状態に保つためにパーティションデータをレプリケーションします。パーティション数が増加すると、メッセージをコミットするために必要な時間が増加し、エンドツーエンドメッセージレイテンシーが上昇します。 |
| 回復時間 | ブローカーが再起動またはフェイルオーバーすると、ホストしているすべてのパーティションのメタデータを再読み込みし、追いつく必要があります。パーティション数が増加すると、回復中の利用不可期間が延長されます。 |
制限に達した場合の対処法
ワークロードで現在のクラスターが許可するよりも多くの Topic またはパーティションが必要な場合は、次の操作を実行します。
Topic の統合。複数の低トラフィック Topic がより少ないパーティションを共有できるかどうかを確認します。過剰なパーティション分割は、早期に制限に達する一般的な原因です。
チケットを送信。詳細情報やクォータの増加をリクエストするには、チケットを送信してください。