2013-07-05 65 views
0

使用具有NetTcpBinding的WCF與Load Balancer可憐Peformance與BIG IP F5 WCF NetTcpBinding的

我們必須贏得窗體應用程序消耗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> 

真的appretiate任何意見或suggesttion。當使用WCF和NetTcpBinding時,什麼是F5上的推薦設置。

回答

0

我現在工作了。這是Load Balance配置問題。我們已將虛擬服務器類型從標準更改爲性能(第7層)。性能沒有提高到可接受的範圍。