WCF 跟并发 性能相关的几个配置:
1、系统控制的客户端网络连接并发(如果服务端也需要并发请求的话这个参数也是需要的):
         <configuration>                <system.net>                        <connectionManagement>                                   <add address="*" maxconnection="1000"/>                          </connectionManagement>                </system.net>         <configuration>         这个参数指定一个进程内(或domain) 并发通信连接个数限制,默认2个(就是系统控制了)
2、WCF 网络TCP/IP 监听(bingding)控制的传输协议      这个参数是针对某一(些)端点的绑定的控制
             <bindings>

<netTcpBinding>

<bindingname="netcpbindingconfig"

"      " />

这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>

<behaviorname="MathServiceBehaviours" >

<serviceThrottling

 

"

 

"

 

"/>

 

</behavior>

</serviceBehaviors>

maxConcurrentCalls :该值指定整个 ServiceHost中正在处理的最多消息数。

specifies the maximum number of messages actively processing across a ServiceHost.

总结,在服务端控制流量的机制即listenBackLog -> maxConnections -> maxConcurrentCalls(..)

基本上分三个阶段。也是针对不同的可控制对象。

listenBackLog 针对tcp连接的缓冲设置

maxConnections 针对接到连接后,要分配给service消费是 排队(缓冲)的设置;

maxConcurrentCalls(sessions, instances) 是针对service处理压力的控制。

比较完美了!

研究WCF并发及处理能力的控制的更多相关文章

  1. 30行代码搞定WCF并发性能测试

    [以下只是个人观点,欢迎交流] 30行代码搞定WCF并发性能 轻量级测试. 1. 调用并发测试接口 static void Main()         {               List< ...

  2. Java并发编程:线程控制

    在上一篇文章中(Java并发编程:线程的基本状态)我们介绍了线程状态的 5 种基本状态以及线程的声明周期.这篇文章将深入讲解Java如何对线程进行状态控制,比如:如何将一个线程从一个状态转到另一个状态 ...

  3. 关于webapi调用wcf并发假死的分析

    原来IDFA(IOS推广获取到用户IOS手机的唯一标识,如果不刷机的话跟安卓的IMEI一样)在公司正常的页面是公用用一个网站和数据库的. 起初怀疑并发数太多,把数据库连接池的数量从一百设置到三百,确实 ...

  4. Linux驱动设计——并发与竞态控制

    并发的概念:多个执行单元同时.并行被执行. 共享资源:硬件资源(IO/外设等),软件上的全局变量.静态变量等. 四种并发控制机制(对共享资源互斥的访问):原子操作.自旋锁(spinlock).信号量( ...

  5. mvc wcf 并发提示,存储Application,验证是否有用户在操作

    System.Web.HttpContext httpContext = System.Web.HttpContext.Current; Hashtable departmentSalary = (H ...

  6. Python并发编程-事件,红绿灯控制

    事件用来控制多个进程同时执行或者阻塞 set和clear 分别用来修改一个事件的状态,True或者False is_set 用来查看一个事件的状态 wait 是依据事件的状态来决定自己是否在wait处 ...

  7. 基于ScheduledExecutorService的并发定时任务处理能力测试

    测试代码 定时器类 package business.util; import java.util.concurrent.Executors; import java.util.concurrent. ...

  8. Remoting,OData Snippet Compiler等

    http://www.sliver.com/dotnet/SnippetCompiler/ [ASP.NET Web API教程]ASP.NET Web API系列教程目录 张逸 .Net Remot ...

  9. SOA与C#

    What is SOA? SOA or Service oriented architecture is an architecture style for building business app ...

随机推荐

  1. 【转】Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析

    原文网址:http://blog.csdn.net/xubin341719/article/details/38584469 关键词:蓝牙blueZ  A2DP.SINK.sink_connect.s ...

  2. ubuntu相关软件合集(持续更新中)

    本人使用的是Ubuntu-Kylin14.04,自带了日历.输入法.优客助手等易于上手的应用.省的每次安装完原生的系统再麻烦的安装,下面介绍默认应用外的相关常用软件: 一.Keylock Applic ...

  3. C语言宏定义函数中的“_##”的意思

    最近在看google vp9的代码的时候碰到: #define intra_pred_sized(type, size) \ void vp9_##type##_predictor_##size##x ...

  4. 转载:Python中的new style class机制实现

    1.Python中的对象模型python中所有东西都是对象 class对象:表示Python内置的类型和定义的类型instance对象(实例对象):表示由class对象创建的实例 1.1 对象间的关系 ...

  5. 简单的ALloctor模板

    template <typename T>class Alloctor{private: typedef T* address; T *memory,*t; size_t total_si ...

  6. ARCGIS 点抽稀的实现

    点抽稀是制图综合的一部分,即在点数据点特别密集是,需要选取比较重要的点而舍去不要重的点,使得图面整洁. 一.基本原理 先把所有的点符号都设成透明.这样显示是没有点的.然后给这些点设置标注.标注方法很奇 ...

  7. 中文字符串的编码转换(c实现)

    中文字符串在c/c++中表示为字节序列,在分词的时候需要根据不同的编码方式进行分词,一般分词器需要转换成统一的编码方式再进行转换,有些分词器如ICTCLAS在分词的时候可以不显示定义编码方式,可以检测 ...

  8. Linux Foundation Secure Boot System Released

    As promised, here is the Linux Foundation UEFI secure boot system.  This was actually released to us ...

  9. Oracle的SCN与检查点机制

    Oracle的SCN与检查点机制 SCN在Oracle的文档上以多种形式出现,一种是System Change Number,另一种是System Commit Number,在大多数情况下,Syst ...

  10. php 获取目录下文件列表

    可以用 scandir() 函数 例如: http://www.w3school.com.cn/php/func_directory_scandir.asp