2

WCF トレースログに次のエラーが記録されています。

システムは、スロットル 'MaxConcurrentSessions' に設定された制限に達しました。このスロットルの制限は 10 に設定されました。スロットル値は、serviceThrottle 要素の属性「maxConcurrentSessions」を変更するか、動作 ServiceThrottlingBehavior の「MaxConcurrentSessions」プロパティを変更することで変更できます

WCF アダプターでカスタム バインドを使用せずに "MaxConcurrentSessions" 属性を変更するための適切な答えが見つかりませんでした。

以下の記事を見たが、既存のバインディングを変更したくない

http://msdn.microsoft.com/en-us/library/dd203050%28v=bts.10%29.aspx

もう 1 つのポイント:負荷がかかるので、しばらく作業すると、すべてがロックされます。

ありがとう、クリシュナ。

4

1 に答える 1

0

使用しているバインディングについては言及していませんが、それはそうであると推測していますWCF-wsHttpBindingbasicHttpBindingセッションAFAIKをサポートしていません)。

より多くの構成オプションがあるため、WCF-Custom に切り替えることをお勧めします。バインド タイプとして wsHttBinding を選択するだけで、WCF-wsHttpBinding と同じように機能します (すべての基本および wsHttp 受信場所を Wcf Custom で問題なく構成しました (FWIW))。

serviceThrottling受信場所の動作タブで動作を手動で追加する必要があります。MSDNから

ServiceThrottlingBehavior サービス動作の要素を変更する前に、まず serviceThrottling 動作拡張を [WCF-Custom* トランスポート プロパティ] ダイアログ ボックスの [動作] タブに追加する必要があります。Behaviors のリストに serviceThrottling を追加するには、[WCF-Custom* Transport Properties] ダイアログ ボックスの [Behaviors] タブを選択し、[Behavior] の下の [ServiceBehavior] を右クリックし、[Add extension] をクリックして、[serviceThrottling] を選択し、[OK] をクリックします。次に、ServiceThrottlingElement で使用可能なプロパティをクリックして選択し、必要に応じてプロパティの値を変更します。

と も同時に増やす必要がある可能性がありmaxConcurrentCallsますmaxConcurrentInstances

.NET 4 のデフォルトの推奨値は少なくとも16*Coresですが、上記のリンクでは .NET に対して >= 200 を推奨していmaxConcurrentCallsます。

とはいえ、BizTalkホストのスロットリングが、受信負荷の高い状態が一定期間続いた後に開始される場合があります。これにより、説明したようなロックアップが発生する可能性があります。WMI またはperfmon カウンターを使用して、ホストの公開および配信の調整状態を確認します。この場合は、調整の影響を回避または制限するために、サーバー、ホスト、およびオーケストレーションの長期的な調整を開始する必要があります。BTS ホストのスロットリングは、WCF のような同期受信にとって致命的です。これは、応答メッセージが大幅に遅れてクライアントがタイムアウトになる可能性があり、BTS が応答を処理し始めると、応答が一時停止する原因にもなります。

于 2012-09-05T06:22:07.717 に答える