发布博文
随想
读书
音乐
其他
我想爱,想吃,还想在一瞬间变成天上半明半暗的云。
我想爱,想吃,还想在一瞬间变成天上半明半暗的云。
我想爱,想吃,还想在一瞬间变成天上半明半暗的云。
我想爱,想吃,还想在一瞬间变成天上半明半暗的云。

serviceThrottling

654
高光翔
2018-11-12 21:14

wcfServiceThrottling.jpg

      Wcf 的serviceThrottling配置项,可起到对访问限流的作用,可避免并发访问量过大,服务占用的资源量超过上限造成机器崩溃。超过设置的阈值时,服务会让调用请求排队,如果排队超时,则会触发TimeoutException 异常。如果配置文件中没有设置,则会取默认值,关于默认值,在网上看到了一些资料,发现和官方给定的文档都存在一些出入,它的默认值并非一个固定的值,而是和服务器cpu核心数量有线性关系的,我认为还是应该以官方文档为最终的准则。

      官方文档可访问serviceThrottling | Microsoft Docs ,截图如下。

图片.png


  翻译过来见下表。

属性

描述

maxConcurrentCalls


一个正整数,它限制了当前服务主机上处理的消息的数量。超过限制的请求将排队等待。将此值设置为0相当于将其设置为Int32.Max值。默认为16*处理器的个数。

maxConcurrentInstances

一个正整数,它限制在服务主机上一次执行的实例上下文对象的数量。超出限制数量的请求实例会排队等待。默认值是maxConcurrentCallsmaxConcurrentSessions的总和。

maxConcurrentSessions

一个正整数,它限制服务主机可以接受的会话(session)的数量。超出设置数值的连接会被建立,但是并没有处于活动的状态(message没有被从channel中读取),可认为处于等待的状态。将此值设置为0相当于将其设置为It32.Max值。默认为100*处理器计数。

参考:WCF – ServiceThrottlingBehavior


Insert title here Insert title here
打  赏