非常に小さなインスタンスで実行されている Azure ワーカー ロールがあります。すべてのメッセージをストレージ キューからデキューし、それらを 100 個のチャンクでテーブル ストレージに挿入するだけです。
インスタンスが単一のコアにすぎない場合でも、これらのチャンクを挿入するときに複数のスレッドを生成することに意味があるかどうか疑問に思っていました。私の考えでは、挿入は非同期プロセスであるため (同期的に見えるようにする API 呼び出しを使用していますが)、おそらくコアはほとんどの時間を待機に費やしており、並列に挿入することでパフォーマンスが向上する可能性があります。
挿入は 10 個のテーブル パーティションに行われるため、パーティション間での並列化は非常に簡単です。それが私の最善の策ですか?これを行うために PLINQ を使用できますか? PLINQ はコア数に基づいてスレッドの使用を最適化することを知っていますが、この場合、複数のスレッドが生成されるのでしょうか? 挿入呼び出しの非同期バージョンを使用した場合、テーブル ストレージへの呼び出しが返されたときに複数のスレッドを生成する効果はありませんか?
ありがとう!