BIG IP F5 WCF NetTCpBinding 性能不佳
Posted
技术标签:
【中文标题】BIG IP F5 WCF NetTCpBinding 性能不佳【英文标题】:Poor Peformance with BIG IP F5 WCF NetTCpBinding 【发布时间】:2013-07-03 04:02:23 【问题描述】:当使用 WCF 与负载均衡器绑定 NetTcp 时,我面临性能不佳的问题
我们有使用 WCF(net.tcp 协议)的 win 表单应用程序。在生产中,我们有 3 台带有负载均衡器 (F5) 的服务器的网络农场。 WCF 托管在 IIS 中。我们只使用 1 个用户进行测试
现在,当我们将 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】:我现在开始工作了。这是负载平衡配置问题。我们已将虚拟服务器类型从标准更改为性能(第 7 层)。性能没有提高到可接受的范围。
【讨论】:
以上是关于BIG IP F5 WCF NetTCpBinding 性能不佳的主要内容,如果未能解决你的问题,请参考以下文章
F5 BIG-IP 远程代码执行漏洞复现(CVE-2020-5902)
CVE-2022-1388——F5 BIG-IP iControl REST 身份认证绕过漏洞