私が現在取り組んでいる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. asp.netルーティングを実装したJquery ajaxコール
- 2. jax wsを使用して実装されたWebサービスはマルチスレッドですか
- 3. dbインデックスファイルの実装
- 4. Pythonを使用したArcGISでのマルチスレッド
- 5. TPLを使用した並列I/O
- 6. Entity Frameworkアップデートを使用したTPL
- 7. Javaを使用してシングルスレッドオペレーティングシステムでマルチスレッドを実装する方法は?
- 8. ドロップダウンを使用したAJAXの実装
- 9. LinkedBlockingQueueを使用したIntentServiceの実装?
- 10. GWTPを使用したサーバープッシュの実装
- 11. OpenIDを使用したメンバーシップシステムの実装
- 12. findを使用したrfindの実装
- 13. AutoMapperを使用した.ToViewModel()の実装
- 14. ActionbarSherlockを使用したアクションバーの実装
- 15. Djangoを使用したリーダーボードの実装
- 16. BizTalkを使用したEDIの実装
- 17. Ajaxを使用したSearchBoxの実装
- 18. アロケータクラスを使用したベクターの実装
- 19. バイナリツリーを使用したディクショナリの実装
- 20. TPLでグローバルtry..finallyの種類を実装する方法は?
- 21. ワークフローでマルチスレッドを実装する
- 22. NXTを使用したマルチスレッド
- 23. iframeを使用したマルチスレッド
- 24. マルチスレッドのボス/ワーカーモデルのC/C++実装
- 25. Delphi 7:マルチスレッドの実装方法
- 26. マルチスレッド+ソケットアプリケーションの適切な実装
- 27. Google Datastoreのカーソルを使用したマルチスレッド
- 28. 1つのJTextBoxを使用したマルチスレッド
- 29. NoSql/Raven DB実装のベストプラクティス
- 30. MIDP SQLite DBのJava実装
「we app」とは、「ウェブアプリ」という意味ですか? –
yeh ..それを修正しました – VJAI