同じテーブル/ストレージアカウントに対して複数の仮想マシンを使用する場合、ATSに対するパフォーマンステストとその動作が少し変わっています。Azureテーブルのストレージトランザクションの制限
パイプライン全体が非ブロッキング(待機/非同期)であり、並行および並列実行にTPLを使用しています。
まず最初に、この設定では、約1200個の挿入しか得られません。これは、4つのコア+ 800mbpsのL VMボックスで実行されています。
私は一意のPKと一意のRKを持つ100.000行を挿入しています。これは最終的な配布を活用する必要があります。
より決定的な振る舞いは次のとおりです。
1台のVMを実行すると、1秒あたり約1200個の挿入が発生します。 3つのVMを実行すると、1秒あたりの挿入回数が約730になります。
彼らのターゲットを指定しているブログ記事を読むのは、かなりユーモアです。 https://azure.microsoft.com/en-gb/blog/windows-azures-flat-network-storage-and-2012-scalability-targets/
単一表Partition-表パーティション は、同じパーティションキー値を持つテーブル内のエンティティのすべてをしており、通常のテーブルには、多くのパーティションを持っています。単一のテーブルのパーティションがあるため、スループット目標は:
秒注あたり2,000実体までは、これは単一のパーティションではなく、単一のテーブルのためです。したがって、良好なパーティショニングを持つテーブルは、上記の全体的なアカウントターゲットである最大20,000エンティティ/秒まで処理できます。
1秒あたり20kを利用できるようにするにはどうすればよいですか?VMごとに1,2kを超える実行はどのように可能ですか?
-
アップデート:私は今も、個々のノードのための3つのストレージアカウントを使用して試しても、性能/スロットリング動作を取得している
。私は論理的な理由を見つけることができません。
-
アップデート2:
私はさらに、コードを最適化してきたし、今私は約1550
実行することが可能だ - 更新3
を:
私は米国西部でも試しました。パフォーマンスは悪いです。約33%低い。
-
更新4:
IはXL機からコードを実行しようとしました。 4の代わりに8つのコアと2倍のメモリと帯域幅があり、パフォーマンスが2%向上しているので、この問題は私の側にはありません。
問題は何ですか? –
いいです@SimonMunro、追加: – ptomasroos
答えはありそうにありませんが...最近使用しているストレージアカウントを作成したことがあるのですか?特定の日付以降に作成されたストレージアカウントでのみ動作するこの高性能ターゲットについては何かがありました。 – Frans