2011-10-26 11 views
0

私が現在取り組んでいるWebアプリケーションでは、データベースへの複数の呼び出しを行い、最後に結果を組み合わせてUIに表示する必要があります。今、私は電話を1つずつ行い、結局は結果を組み合わせています。 Webアプリケーションはマルチコアマシン(Intel i5)でホストされるので、TPLを使用して並列dbコールを行うことができます。いいアイデアですか?私がdbと並行して呼び出しているときに考慮したいことは何ですか?TPLを使用したdbコールでのマルチスレッドの実装

+0

「we app」とは、「ウェブアプリ」という意味ですか? –

+0

yeh ..それを修正しました – VJAI

答えて

1

ここで覚えておくべき2つのことがあります。まず、あなたはDBであり、APIはスレッドセーフではないかもしれません。例えば、ADO.NETは明示的に100%スレッドセーフではありません。第二に、これを行うことによって、あなたは臨床試験からDBに負荷を移しています。つまり、クライアントがDBへの同時接続を5つ作成すると、DBの負荷に大きな影響を与えます。ユーザに対する個々のクライアントの待ち時間は減少するが、個々のDBがサポートできるクライアントの数の点で全体的なスループットを犠牲にする。

あなたのシナリオに大きく左右されるのは、これが良いトレードオフだと思われるかどうかです。

あなたはウェブアプリを意味するなら「私のアプリ」と言いますが、それと同様のトレードオフです。ウェブアプリケーションからTPLを使ってこのブログ記事をお勧めします。

http://blogs.msdn.com/b/pfxteam/archive/2010/02/08/9960003.aspx

それは同じ問題です。スループットのために個々の要求レイテンシを交換したり、その逆もあります。

関連する問題