この参照では、Azure Storage のスケーラビリティおよびパフォーマンスのターゲットについて説明されています。 ここで示すスケーラビリティとパフォーマンスのターゲットは、ハイエンドのターゲットですが、達成可能です。 いずれの場合も、ストレージ アカウントで実現される要求レートと帯域幅は、格納されているオブジェクトのサイズ、使用されるアクセス パターン、アプリケーションが実行するワークロードの種類によって異なります。
サービスをテストして、そのパフォーマンスが要件を満たしているかどうかを判断します。 可能であれば、トラフィック量の急増を回避し、トラフィックがパーティション間でうまく分散されるようにしてください。
ワークロードがアプリケーションのパーティションで処理できる上限に達すると、Azure Storage はエラー コード 503 (サーバーがビジー状態) またはエラー コード 500 (操作タイムアウト) の応答を返し始めます。 503 エラーが発生した場合は、再試行に指数バックオフ ポリシーを使用するようにアプリケーションを変更することを検討してください。 指数バックオフにより、パーティションの負荷が減少し、そのパーティションへのトラフィックの急増が容易になります。
Table Storage のターゲットをスケーリングする
次の表では、Table Storage の容量、スケーラビリティ、パフォーマンスについて説明しています。
| リソース | 目標 |
|---|---|
| Azure のストレージ アカウントのテーブルの数 | ストレージ アカウントの容量のみによる制限 |
| テーブルのパーティションの数 | ストレージ アカウントの容量のみによる制限 |
| パーティション内のエンティティの数 | ストレージ アカウントの容量のみによる制限 |
| 1 つのテーブルの最大サイズ | 500 TiB |
| 単一のエンティティの最大サイズ (すべてのプロパティを含む) | 1 メビバイト (MiB) |
| テーブル エンティティの最大プロパティ数 | 255 (PartitionKey、RowKey、および Timestamp の 3 つのシステム プロパティも含む) |
| エンティティ内の個々のプロパティの最大合計サイズ | プロパティの型によって異なります。 詳細については、「Table サービス データ モデルについて」の「プロパティの型」を参照してください。 |
| PartitionKey のサイズ | 1024 文字までのサイズの文字列 |
| RowKeyのサイズ | 1024 文字までのサイズの文字列 |
| エンティティ グループ トランザクションのサイズ | トランザクションには最大で 100 個のエンティティを含めることができ、ペイロードは 4 MiB 未満にする必要があります。 エンティティ グループのトランザクションには、エンティティへの更新を 1 回だけ含めることができます。 |
| テーブルあたりの保存されるアクセス ポリシーの最大数 | 5 |
| ストレージ アカウントあたりの最大要求レート | 毎秒 20,000 トランザクション (エンティティ サイズは 1 KiB を想定) |
| 単一のテーブル パーティションの目標スループット (1 KiB エンティティ) | 毎秒最大 2,000 エンティティ |