質問

WCFサービス[NetTCP](両方ともC#)(Webサイト用)およびNLBロードバランシング(サービス用)を使用してASP.NET Webサイトプロジェクトを構成したいと思います。次のオプションを同じように構成したいと思います。

nettcpbinding.maxconcurrentcalls、nettcpbindiving.listenbacklogおよびnettcpbinding.maxconnections

注:nettcpbinding.listenbacklogとnettcpbinding.maxconnectionsのnettcpbinding.listenbacklogとnettcpbindectionsの値を変更したときの単一マシン構成中に、その10にさらにデフォルト値になります。例外がありました。ウェブサイトでこの値を変更したとき、それは正常に動作していました。このため、デフォルトの構成を維持する必要がありました。なぜそうなのかわからない。誰かがこれを説明できれば、それは役に立ちます。

次の参照は、特定の環境で構成する方法をアイデアに与えますが、それを進める方法を教えてくれません。

参照: http://msdn.microsoft.com/en-us/library/ee377061%28bts.10%29.aspx

アップデート:

少し単純化させてください。次の構成があるとしましょう。

  • Webファームの2つのIISサーバー。
  • NLBの3 WCFサービスサーバー(NetTCP)
  • デフォルトの構成。単一のインスタンス用。
    • nettcpbinding.listenbacklog:10
    • nettcpbinding.maxconnections:10
    • nettcpbind.maxconcurrentCalls:16

この環境での私の構成設定は何ですか。上記と同じか、次のようになりますか。

  • 提案された構成。単一のWebFarm/NLB用
    • nettcpbinding.listenbacklog:30(10*3)
    • nettcpbinding.maxconnections:30(10*3)
    • nettcpbinding.maxconcurrentCalls:48(16*3)
役に立ちましたか?

解決

Windows NLBを使用した負荷分散net.tcpについて MSDN. 。通話サービスごとに使用してください。パフォーマンスを向上させるため、ポート範囲ではなく、各エンドポイントの個々のポートのバランスをとるようにNLBを構成します(複数のエンドポイントがある場合)。アフィニティがチェックされていないことを確認してください。
以下に示すとおりに私に役立ったカスタムバインディングを使用しています

<customBinding>

        <binding name="netTcpBindingConfiguration_custom"
                 closeTimeout="00:01:00"
                 openTimeout="00:01:00"
                 receiveTimeout="00:10:00"
                 sendTimeout="00:01:00" >
          <transactionFlow/>
          <windowsStreamSecurity/>
          <binaryMessageEncoding/>

          <tcpTransport maxBufferPoolSize="524288"
                        maxReceivedMessageSize="5000000"
                        connectionBufferSize="8192"
                        manualAddressing="false"
                        hostNameComparisonMode="StrongWildcard"
                        channelInitializationTimeout="00:00:05"
                        maxBufferSize="5000000"
                        maxPendingConnections="20"
                        maxOutputDelay="00:00:00.2000000"
                        maxPendingAccepts="5"
                        transferMode="Buffered"
                        listenBacklog="20"
                        portSharingEnabled="false"
                        teredoEnabled="false">
            <connectionPoolSettings groupName="default"
                                    leaseTimeout="00:00:30"
                                    idleTimeout="00:02:00"
                                    maxOutboundConnectionsPerEndpoint="100"/>
          </tcpTransport>
        </binding>
</customBinding>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top