wcf 高性能服务器,优化 WCF Web 服务性能

优化 WCF Web 服务性能

06/08/2017

本文内容

WCF 服务公开许多影响性能的配置参数。 本主题提供有关为这些配置参数设置最佳值以提高 WCF 服务性能的常规指南。

实现后端 WCF 服务的 serviceThrottling 行为

实现后端 WCF 服务的 serviceThrottling 行为。 服务限制允许您在后端 WCF 服务器上进行负载,并强制执行资源分配。 后端 WCF 服务的 serviceThrottling 行为是通过修改 WCF 服务的配置文件中的 maxConcurrentCalls、 maxConcurrentSessions 和 maxConcurrentInstances 参数的值来配置的。 将 maxConcurrentCalls、 maxConcurrentSessions 和 maxConcurrentInstances 设置为大于 16 * cpu 或 cpu 内核数的值。 例如,在具有8个 CPU 核心的计算机上,将 maxConcurrentCalls、 maxConcurrentSessions 和 maxConcurrentInstances 设置为大于 128 (16 * 8 = 128) ,如下所示:

maxConcurrentCalls="200"

maxConcurrentSessions="200"

maxConcurrentInstances="200" />

增加后端 WCF 服务 web.config 文件中的 ListenBacklog 和 NetTcpBinding 属性的默认值

NetTcpBinding. ListenBacklog 属性控制可为 Web 服务挂起的最大排队连接请求数。 NetTcpBinding. MaxConnections 属性控制要共用的最大连接数,以便在客户端上进行后续重用,并控制在服务器上允许等待调度的最大连接数。 其中每个属性都使用默认值10,这可能是不理想的,尤其是对于需要高吞吐量的文档处理方案。

对于使用实现 netTcpBinding 绑定类的 WCF 服务的高吞吐量、文档处理方案,请考虑增加这些属性的默认值。

在下面的示例中, listenBacklog 和 maxConnections 参数均设置为值 "200"。

closeTimeout="00:10:00"

openTimeout="00:10:00"

receiveTimeout="00:10:00"

sendTimeout="00:10:00"

transactionFlow="false"

transferMode="Buffered"

transactionProtocol="OleTransactions"

hostNameComparisonMode="StrongWildcard"

listenBacklog="200"

maxBufferPoolSize="1048576"

maxBufferSize="10485760"

maxConnections="200"

maxReceivedMessageSize="10485760">

maxDepth="32"

maxStringContentLength="8192"

maxArrayLength="16384"

maxBytesPerRead="4096"

maxNameTableCharCount="16384" />

ordered="true"

inactivityTimeout="00:10:00"

enabled="false" />

消除运行 WCF Web 服务所不需要的 ASP.NET httpModules

默认情况下,在 IIS 6.0 和 IIS 7.5/7.0 的经典管道或集成管道中的请求管道中定义了多个 ASP.NET 的 httpModules。 这些组件截获并处理所有传入的请求。 默认模块在32位 ASP.NET 应用程序的%windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG 文件夹中包含的 web.config 文件中定义,并在64位 ASP.NET 应用程序的%windir%\Microsoft.NET\Framework64\v2.0.50727\CONFIG 文件夹中定义,如以下代码片段所示。

在大多数情况下,无需加载所有这些模块。 因此,在运行 WCF Web 服务时,可以通过消除以下 httpModules 来提高性能:

会话

WindowsAuthentication

FormsAuthentication

PassportAuthentication

RoleManager

AnonymousIdentification

配置文件

使用 WCF 模块/处理程序注册工具配置 WCF 模块/处理程序,并提高 IIS 7.5/7.0 托管 WCF 服务的可伸缩性

WCF 同步 HTTP 模块和处理程序

WCF 异步 HTTP 模块和处理程序

WCF HTTP 模块和处理程序

另请参阅

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值