3

800 のクライアント (冗長クライアント) を持つサーバーで wcf トレースを行っていますが、 Process アクション ' http://tempuri.org/IConnectionRegister/ValidateUriRoute 'の後に多数の SocketConnection が中止されていることがわかります。これは ** ** 活動中です

可能なすべてのスロットリング (バインディング、サービス、ポート共有 (カスタム バインディングと SMSvcHost.exe の両方)) を削除 (最大化) しました。

また、0000 アクティビティは絶対にいっぱいです (毎秒未満)。

  1. 「ソケット接続が中止されました。これは、メッセージの処理中にエラーが発生したか、リモート ホストが受信タイムアウトを超過したか、基になるネットワーク リソースの問題が原因である可能性があります。ローカル ソケットのタイムアウトは ' 10675199.02:48:05.4775807'でした。」

  2. 「スレッドの終了またはアプリケーションの要求により、I/O 操作が中止されました」

誰が接続のドロップを引き起こしているかを特定する上で、どんな助けも非常に高く評価されます.

誰かが興味を持っている場合は、サンプルの svc トレースをアップロードすることもできます。

Socket Connection Abort のスタック トレース

System.ServiceModel.Channels.SocketConnection.Abort() System.ServiceModel.Channels.TracingConnection.Abort() System.ServiceModel.Channels.InitialServerConnectionReader.Abort() System.ServiceModel.Channels.ServerSessionPreambleConnectionReader.OnValidate()

……

System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame() System.Runtime.AsyncResult.Complete() System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive() System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame() System.Runtime.AsyncResult. System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete()

<customBinding>
    <binding name="externalRoutingcustomBinding">
      <binaryMessageEncoding>

      </binaryMessageEncoding>

      <security
          authenticationMode="UserNameOverTransport"
          allowInsecureTransport="true"
          enableUnsecuredResponse="true"
          >
      </security><tcpTransport> 
        <connectionPoolSettings groupName = "default" maxOutboundConnectionsPerEndpoint = "1000"/> 
      </tcpTransport> 

      </binding>


  <service name="ZPRoutingWorkflow.ZpRoutingService">
<endpoint address="Transactions" binding="customBinding" bindingConfiguration="externalRoutingcustomBinding"
 name="Transactions" contract="TopUpInterface.ITransactionsService">
    <identity>
        <dns value="appserver.test.com" />
    </identity>
 </endpoint>

    <endpoint address="Retry" binding="customBinding" bindingConfiguration="externalRoutingcustomBinding" name="Retry" contract="IRetryInterface.IRetryService">
    <identity>
        <dns value="appserver.test.com" />
    </identity>
 </endpoint>

構成の概要:

iis でホストされている同じポートを介した複数の net.tcp サービス。サービスの 1 つは、IRequestReplyRouter を実装するルーティング サービスです。基本的にすべてのメッセージはルーターを通過し、ルーターは内部的にサービスに接続してメッセージを渡します。

4

0 に答える 0