2

Windows Azure テーブル ストア パーティションを別の物理ハードウェアに強制する方法はありますか? Windows Azure MSDN ブログによると、この環境ではサーバー間でパーティションの負荷が自動的に分散されるとのことですが、2 つのパーティションが異なる実際のマシン上にあることを定量的に確認できるストレス テストを実行できませんでした。

クエリで次のフィルターを検討します。

(PartitionKey == "a" && RowKey == "1") || (PartitionKey == "b" && RowKey == "2")

2 つのパーティションが異なる物理マシン上にある場合、2 つのパーティション サーバーに同時にアドレス指定してクエリを並列に実行できるため、評価が高速になります。ただし、このパフォーマンスの向上を実際に測定する方法が見つからないようです。

パーティショニングでより重要なことは何ですか? テーブル内のデータ量、またはここに記載されているパーティションの 500 クエリ/秒の制限。

4

2 に答える 2

2

あなたが言及したクエリは悪いものです。Windows Azure ストレージでは、そのような OR クエリは最適化されないため、完全なテーブル スキャンが行われます。自分で 2 つのクエリを並行して起動し、結果を結合する必要があることは間違いありません (この場合、返される 2 つのエンティティのみ)。

実際にあなたの質問に答えるために、私はテーブル ストレージにパーティションの再調整を強制する方法を知りません。

于 2012-05-26T00:26:16.130 に答える
0

Parallel Threaded Reading を使用すると、優れたパフォーマンス (制限 500 クエリ/秒/パーティションおよび 5000/トランザクション/秒/ストレージ アカウント未満) を得ることができ、ストレス テストごとにスレッドを追加できます。

以下のリンクには、「365 スレッドを使用して 365,000 行を読み取ることができ、平均約 7 秒でデータを取得できた」という実験があります。大勝利!」、一見の価値あり!!

超並列スレッド読み取りによる Azure テーブル ストレージのパフォーマンス

于 2012-05-25T14:56:09.133 に答える