私が現在取り組んでいるWebアプリケーションでは、データベースへの複数の呼び出しを行い、最後に結果を組み合わせてUIに表示する必要があります。今、私は電話を1つずつ行い、結局は結果を組み合わせています。 Webアプリケーションはマルチコアマシン(Intel i5)でホストされるので、TPLを使用して並列dbコールを行うことができます。いいアイデアですか?私がdbと並行して呼び出しているときに考慮したいことは何ですか?TPLを使用したdbコールでのマルチスレッドの実装
0
A
答えて
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
それは同じ問題です。スループットのために個々の要求レイテンシを交換したり、その逆もあります。
関連する問題
- 1. TPLの実装の問題
- 2. バネを使用した遅延dbデータフェッチの実装方法
- 3. マルチスレッド実装パターン
- 4. JDBCとc3p0を使用したMySQL DBのマルチスレッド書き込み
- 5. jax wsを使用して実装されたWebサービスはマルチスレッドですか
- 6. TPLを使用したWF 4.0長期実行アクティビティの処理
- 7. asp.netルーティングを実装したJquery ajaxコール
- 8. DB挿入用のマルチスレッドPython
- 9. django dockerの実装でリモートpostgres dbを使用する方法
- 10. dbインデックスファイルの実装
- 11. Pythonを使用したArcGISでのマルチスレッド
- 12. Entity Frameworkアップデートを使用したTPL
- 13. TPLを使用した並列I/O
- 14. Android VoIPコールの実装
- 15. TPLでグローバルtry..finallyの種類を実装する方法は?
- 16. Pythonでシェルコマンドを使用してマルチスレッドJava RMIを実装する方法は?
- 17. Javaを使用してシングルスレッドオペレーティングシステムでマルチスレッドを実装する方法は?
- 18. ワークフローでマルチスレッドを実装する
- 19. HashTable実装を使用したHashMapの実装
- 20. MQTTを使用したオフラインチャットの実装
- 21. BizTalkを使用したEDIの実装
- 22. Djangoを使用したリーダーボードの実装
- 23. OpenIDを使用したメンバーシップシステムの実装
- 24. RadioButtonsを使用したTextWatcherの実装
- 25. PHPを使用したSSOの実装
- 26. AutoMapperを使用した.ToViewModel()の実装
- 27. リンクリストを使用したキューの実装
- 28. キャッシングシステムを使用したプロキシの実装
- 29. Resharperを使用したコーディングガイドラインの実装
- 30. ドロップダウンを使用したAJAXの実装
「we app」とは、「ウェブアプリ」という意味ですか? –
yeh ..それを修正しました – VJAI