BIG IP F5 WCF NetTCpBinding性能不佳

时间:2013-07-05 06:20:05

标签: performance wcf nettcpbinding f5

当使用带有负载均衡器的NetTcpbinding的WCF时,我遇到性能不佳的问题

我们有win表单应用程序,它使用WCF(net.tcp协议)。在生产中,我们的web Farm有3台带负载均衡器的服务器(F5)。 WCF托管在IIS中。我们只测试了一个用户

现在我们将WCF指向特定服务器(使用服务器名称或IP);应用程序真的很好。但是,当我们提供DNS名称(以便请求通过负载均衡器)时,性能会显着下降。网络团队说从那边一切都正常工作。请帮忙

以下是我有WCF web.config文件的配置。

  <system.serviceModel>
 <diagnostics performanceCounters="All" />
    <services>
      <service behaviorConfiguration="GetProxyEnabled" name="companyname.InvOps.ServiceLayer.PAServiceServer">
    <host>
          <baseAddresses>
<add baseAddress="net.tcp://USHOUIOWEB012VT/PAService"/>
            <!--<add baseAddress="net.tcp://xxx.uat.companyname.net/PAService/"/>-->
          </baseAddresses>
        </host>
        <endpoint address="netTcpAddress" behaviorConfiguration="NetTcpEndPointBehaviour" binding="netTcpBinding" bindingConfiguration="NetTcpBinding" contract="companyname.InvOps.ServiceLayer.IPAService" />
        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="GetProxyEnabled">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
    <serviceThrottling maxConcurrentCalls="200" maxConcurrentInstances="400" maxConcurrentSessions="200"/>
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="NetTcpEndPointBehaviour">
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <bindings>
      <netTcpBinding>
        <binding name="NetTcpBinding" 
                 closeTimeout="05:45:00"
                 openTimeout="05:45:00"
                 receiveTimeout="05:45:00"
                 sendTimeout="05:45:00"
     transactionFlow="false" 
     transferMode="Buffered" 
     transactionProtocol="OleTransactions" 
     hostNameComparisonMode="StrongWildcard" 
     listenBacklog="10" 
     maxBufferPoolSize="2147483647" 
     maxBufferSize="2147483647" 
     maxConnections="10" 
     maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="32" 
      maxStringContentLength="2147483647" 
      maxArrayLength="2147483647" 
      maxBytesPerRead="2147483647" 
      maxNameTableCharCount="2147483647" />
          <reliableSession ordered="true" 
                           inactivityTimeout="05:45:00"
                           enabled="false" />
          <security mode="Transport">
            <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign"/>
          </security>
        </binding>
      </netTcpBinding>
    </bindings>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"  aspNetCompatibilityEnabled="true"/>
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

真正了解任何反馈或建议。当使用WCF和NetTcpBinding时,F5上的推荐设置是什么。

1 个答案:

答案 0 :(得分:0)

我现在就开始工作了。这是Load Balance配置问题。我们已将虚拟服务器类型从标准更改为性能(第7层)。性能没有提高到可接受的范围。