who am i ... i'm back.
分类: WINDOWS
2010-07-17 16:04:02
<netTcpBinding>
<binding name="netcpbindingconfig"
listenBacklog="100" maxConnections="100" />
这2个参数: 第一个就是我们常用的listen的参数,这个意义我们应该很清楚了。
第二个参数 msdn解释是: 客户端上可存入池中以备后续重复使用的最大连接数;服务器上可挂起调度的最大连接数。 On the client, the maximum number of connections to be pooled for subsequent reuse; on the server, the maximum number of connections allowed to be pending dispatch. (看来中文翻译的不太好)。
第一个是tcp协议的控制,第二个是紧跟着协议之后的调度配置(服务端)。
3、针对服务宿主(servicehost)进行的控制
<serviceBehaviors><behavior name="MathServiceBehaviours" >
<serviceThrottling
maxConcurrentCalls="100"
maxConcurrentSessions="100"
maxConcurrentInstances="100"/>
behavior>
serviceBehaviors>
maxConcurrentCalls :该值指定整个 中正在处理的最多消息数。
specifies the maximum number of messages actively processing across a .
总结,在服务端控制流量的机制即listenBackLog -> maxConnections -> maxConcurrentCalls(..)
基本上分三个阶段。也是针对不同的可控制对象。
listenBackLog 针对tcp连接的缓冲设置
maxConnections 针对接到连接后,要分配给service消费是 排队(缓冲)的设置;
maxConcurrentCalls(sessions, instances) 是针对service处理压力的控制。
比较完美了!