0

IIS 7 Windows 2008 R2 サーバーでホストされている WCF サービスへの複数の呼び出しを呼び出す内部 Web サイトがあります。

50 ~ 75 人のユーザーが使用している負荷の高い期間中は、WCF 呼び出しで FaultException が返されます。同じ Web サイトをほぼ 1 年間使用しており、以前に同じエラーが発生したことがないため、ユーザーの読み込みが原因であるとは思えません。一部の呼び出しは、実行に 2 ~ 3 秒かかる場合があります。

そのため、ホスト サービスの web.config ファイルに次の行を追加しました。どこかに何かを追加する必要がありますか? クライアントの Web サイトでも何かする必要がありますか? ありがとう。

<serviceBehaviors>
<behavior>
    <serviceThrottling 
    maxConcurrentCalls="100" 
    maxConcurrentSessions="100" 
    maxConcurrentInstances="100"
      />

</behavior>
</serviceBehaviors>
4

1 に答える 1

0

構成を任意に変更する前に、失敗する理由を探します。

呼び出しが返されるまでに 2/3 秒かかるため、特定の時間に 10 個を超えるインスタンス (デフォルトは 10 個) が作成されたと想定できます。それが発生すると、通話がキューに入れられ、負荷が低下しないと、すべての通話に応答できるようになり、問題が発生します。

WCF が提供するパフォーマンス カウンター、特に ServiceModelService 4.0.0.0 に関連するインスタンス カウンターを調べることで、その診断を行うことができます。

それが問題である場合 (可能性があるように見えます)、アクションを実行してインスタンスの数を増やすことができます。ただし、最終的な解決策は応答時間を短縮することです。そうしないと、スケーリングに伴う問題を先延ばしにすることになります。

于 2013-02-27T12:46:34.550 に答える