2017-03-21 15 views
1

私は書き込み容量を見ていると、一貫して書き込みスロットルを高くしています。DynomoDB書き込みスロットルの問題

添付のスクリーンショットをご覧ください。 enter image description here

+1

あなたは書き込み要求を超える広がっていますパーティションの広い範囲キー値?小さな値域に分散されている場合は、完全な容量から恩恵を受けることはできません。 [百万ドルの工学的問題](https://segment.com/blog/the-million-dollar-eng-problem/)を読んでください。 –

答えて

0

このグラフは1分間の平均値を示しています。 CloudWatchコンソールのグラフを平均ではなく最大で表示してみてください。

2

これは、おそらく、テーブルの作業負荷がすべてのパーティションに均等に分散していないために発生します。

あなたのスクリーンショットによると、あなたのテーブルの書き込み容量は約に設定されています。 700台テーブルに複数のパーティション、たとえば10がある場合、各個別の パーティションは、毎秒700/10 = 70ユニットしか消費できません。

たとえば、1つの特定のハッシュキーに対して1秒あたり100レコードを書き込む必要があります(1つの書き込みで1つのWCUが消費されると仮定します。レコードサイズが1Kbを超える場合はそうではありません)。各ハッシュキーは単一のパーティションに属しているため、パーティションごとに100 WCUが必要です。しかし、あなたは70しか持っていません。その特定のケースでは、テーブルあたり70 WCUしか消費せず、書込みリクエストの一部が抑制されてしまいます。あなたのケースで何が起こっているのかそう

、:アプリケーションがに個々のパーティション(あなたがスロットルを取得する理由です)のために利用可能 プロビジョニングされた容量を超える速度で、テーブルのパーティションの一部を書き込もうとするように見え、しばらく他のいくつかのパーティションが十分に届かないすべてのことの容量を消費するために書き込む(合計テーブルの容量に達していない理由です)

また、私はあなたがこのdocページを読み込むことをお勧め:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html

関連する問題