0

IIS 7.0 でホストされている http バインディングを使用する wcf サービスが実装されており、このサービスは 100 人の同時ユーザーをサポートする必要があるため、これを実現するための WCF の最適な設定は何ですか (CPU 消費は最小限に抑える必要があります)。

質問2:

同時実行モードを「複数」に有効にしましたが、プロトタイプを使用して 100 人の同時ユーザーをモックしたとき、w3p.exe で 100 スレッドが使用されていませんか? IIS は、スレッドが WCF サービスでどのように処理されるかを管理しますか? クライアントから同時に与えた 100 個のスレッドを表示できないのはなぜですか?

前もって感謝します

アビナイ

4

1 に答える 1

0

私は現在、大規模な WCF プロジェクトの真っ最中で、WCF の動作の 1 つであるサービス ホストのスロットリングを使用してパフォーマンスをチェックする任務を負っていました。

System.servicemodel.description.ServiceThrottlingBehavior 
stb.MaxConcurrentSessions = iConcurrentSessions
stb.MaxConcurrentCalls = iConcurrentCalls
stb.MaxConcurrentInstances = iConcurrentInstances

要求は非常に迅速に処理されるため、シリアル アプリケーションを使用して 100 人の同時ユーザーを作成することは非常に困難です。私は、特別に作成されたマルチスレッド アプリケーションを使用して数十回のテストを実行し、1 秒間に 1,000 の範囲でユーザーと要求を発生させました。

ここで質問されたことすべてにお答えすることはできませんが、これを差し上げます。最初はスロットルなしで、次にスロットルありで、数十回のパフォーマンス テストを実行しました。サービスを実行できる最速の方法は、スロットリングを使用しないことでした。基本的には、サービス マネージャー自体に任せました。次に、同時セッション、呼び出し、およびインスタンスを高い値 (1000) から低い値 (10) に設定するさまざまなスロットリング モードを試してみましたが、率直に言って、速度やリソース使用量 (メモリと CPU) に大きな違いは見られませんでした。

プロジェクト頑張ってください

于 2012-12-14T15:10:59.757 に答える