Tocyukiのブログ

ギターと柔術とプログラミングが好き!

Amazon S3で処理速度(パフォーマンス)を上げる方法

タイムスタンプやアルファベット順などの連続するプレフィックスを使用すると、Amazon S3 の特定のパーティションに大量のキーが集中し、そのパーティションの I/O 容量がひっ迫する場合があります。

上記が原因で以下のような問題が発生することがある。

Amazon Simple Storage Service (Amazon S3) のワークロードが急増する (「リクエスト率およびリクエストパフォーマンスに関する留意事項」で説明されているリクエスト率を超える) と、ワークロードに応じて Amazon S3 のパフォーマンスがスケールされません。これに伴って、HTTP 500 や 503 エラーが発生する場合があります。

上記問題に対応するにはどうするか?

ランダムなキー名にすると、I/O の負荷は複数のインデックスパーティションに分散されます。

各オブジェクト名にランダム文字列をプレフィックスとして付加すればよいってことですねー!

aws.amazon.com