IIS webService 并发 性能

 
 

做的WebService,客户压力测试500并发(随机步长60s-90s),响应速度不理想。

1,优化程序,压缩执行时间
2,提高IIS“最大工作进程数”。后来测试时想到一个问题,既然IIS本身就是多线程处理,那么提高“最大工作进程数”还有什么用。暂时不调了。
3,客户端单线程轮循调用,服务端只有一个线程。客户端多线程轮循调用,服务端就有两个线程。后来知道“HTTP   双连接限制”。修改客户端。两种方式,第一中修改配置文件connectionManagement,第二种只需要增加一行代码,设置System.Net.ServicePointManager.DefaultConnectionLimit.
参考文章:

http://www.kvkvk.com/blog/12804330/1332526589.html
http://support.microsoft.com/kb/183110
http://www.cnblogs.com/walkinhill/archive/2005/12/10/294597.html
http://blog.csdn.net/zb219/article/details/6206947

4,如果网络传输是瓶颈,可以考虑压缩。

5,如果还不行,改变技术,直接使用http请求,用参数传值。WebService提供了便利的同时,牺牲了性能。改用http请求,基本上就是以纯文本的方式传递信息。当然用http不能传递对象,只能传文本。

IIS webService 并发 性能的更多相关文章

  1. IIS最大并发连接数 = 队列长度 + IIS最大并发工作线程数

    深入理解IIS的多线程工作机制   首先让我们来看看IIS里面的这2个数字:最大并发连接数,队列长度.先说这2个数字在哪里看. 最大并发连接数:在IIS中选中一个网站,右键网站名称,在右键菜单中找到并 ...

  2. IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的

    IIS连接数 一般购买过虚拟主机的朋友都熟悉购买时,会限制IIS连接数,这边先从普通不懂代码用户角度理解IIS连接数 顾名思义即为IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫" ...

  3. 用Netty开发中间件:高并发性能优化

    用Netty开发中间件:高并发性能优化 最近在写一个后台中间件的原型,主要是做消息的分发和透传.因为要用Java实现,所以网络通信框架的第一选择当然就是Netty了,使用的是Netty 4版本.Net ...

  4. 使用内存虚拟硬盘 提高ArcGIS server并发性能的一种方法

    1 问题提出 1.1 概述 提高ArcGIS server并发性能的方法很多,本文讨论在用户硬件足够强大的情况下(主要是内存足够大),使用内存模拟硬盘来提高数据的读取效率,以达到提高ArcGIS se ...

  5. 你真的了解:IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数 吗?

    原文链接:http://www.cnblogs.com/yinhaichao/p/4060209.html?utm_source=tuicool&utm_medium=referral 一般购 ...

  6. mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY'

    mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY' 解决方法: 在my.cnf的[mysql ...

  7. 修改Linux内核参数提高Nginx服务器并发性能

    当linux下Nginx达到并发数很高,TCP TIME_WAIT套接字数量经常达到两.三万,这样服务器很容易被拖死.事实上,我们可以简单的通过修改Linux内核参数,可以减少Nginx服务器 的TI ...

  8. 百万并发中间件系统的内核设计看Java并发性能优化

    “ 这篇文章,给大家聊聊一个百万级并发的中间件系统的内核代码里的锁性能优化. 很多同学都对Java并发编程很感兴趣,学习了很多相关的技术和知识.比如volatile.Atomic.synchroniz ...

  9. Java: 扩大字节缓存区的大小,提升AIO的处理性能(并发性能)

    前些日了,对AIO与NIO的并发性能进行了比较,在低并发的情况下,NIO性能表现比AIO好一些,主要原因是,NIO中可以使用FileChannel.transferTo(long position,  ...

随机推荐

  1. 2016ICPC-大连 To begin or not to begin (简单思维)

    A box contains black balls and a single red ball. Alice and Bob draw balls from this box without rep ...

  2. HDU 1213 How Many Tables(并查集裸题)

    Problem Description Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. ...

  3. js-null 、undefined

    注意:null 转为数值时为0,而 undefined 转为数值时为 NaN. Number(undefined) // NaN Number(null) // 0 null 表示"没有对象 ...

  4. c++ 编译报错汇总(随时更新)

    1.invalid new-expression of abstract class type ‘×××ב 这个报错代表一个尝试在实例化一个抽象类,也就是说父类的接口中有纯虚函数在子类中没有实现: ...

  5. thinkphp5.0--验证

    我才知道原来验证有两种类型,独立验证和验证器,当然我们工作中肯定用验证器喽,代码的封装性也好很多,其实我觉得代码的维护性也好很多; 独立验证: //独立验证$data = [ 'name' => ...

  6. Python中的分支结构和循环结构

    一.分支结构 语法: if  条件  :     .... else :    .... 例子: num = int(input("输入一个整数:")) if num<=10 ...

  7. Python之路,第九篇:Python入门与基础9

    python3  集合set 集合set概念 集合是可变的容器:满足数学意义上的定义,求并集交集等 集合内的数据对象都是唯一的(不能重复多次) 集合是无序的存储结构,集合中的数据没有先后关系 集合是相 ...

  8. Mac os fatal error: 'numpy/arrayobject.h' file not found

    $ python setup.py install 出错信息如: clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g ...

  9. thrift使用案例

    参考资料:http://www.ibm.com/developerworks/cn/java/j-lo-apachethrift/ 首先是定义thrift IDL接口,如下(SunTelTc.thri ...

  10. a标签的功能

    最常见的a标签是用来做跳转链接,实际上a标签还有其他的功能,具体如下: <a href="http://www.cnblogs.com/wangzhenyu666/"> ...