1

HTTPレイヤー(WebAPI / WCFでホスト)を介して公開したい「エンジン」があります。

このエンジンは、大量のデータに対していくつかの単純な読み取り専用操作を実行し、並列処理のメリットを実際に享受できます。for(...) から Parallel.For(...) への単純な切り替えは驚くべきことです。

現在、Web サーバーでこの種のマルチスレッド化を行うべきではないと考えているため、これをホストする最善の方法を見つけようとしています。

理想的には、これを IIS で標準の Web アプリとして WebAPI または WCF を使用してホストしたいと考えています。これが適切な解決策ではない場合、適切な代替手段は何ですか?

標準の Windows サービスで WebAPI または WCF を自己ホストする方がよいでしょうか? ここでの問題が IIS 固有なのか ASP.NET 固有なのかはわかりません。

それとも、これは問題ではなく、私が心配しすぎているだけなのでしょうか?

任意の入力をいただければ幸いです。

ありがとう

4

1 に答える 1

0

私はあなたの懸念が何であるか完全に明確ではありませんが、あなたが決定できるいくつかの根拠を提供しようとします:

IIS/ASP.NET で安全にマルチスレッドを使用できます。もちろん、多くの並列リクエストでは、並列処理がより高いレベルで行われるため、それは必要ありません (実際、スループットはわずかに低下しますが、わずかです)。並列リクエストが少ない場合でも、より低いレベルで並列処理を使用してレイテンシを削減できます ( Parallel.For)。

したがって、ASP.NET でのマルチスレッドは、スループットの向上よりも待機時間の短縮に重点を置いています。

セルフホスティングがこれをどのように変えるかわかりません。

これが実行可能なアプローチであるという懸念が少し広がっているようです。具体的な懸念事項をまとめてみてください。私が対処します。

于 2013-08-24T09:55:45.873 に答える