[转帖]iis最大并发连接数、队列长度、最大并发线程数、最大工作进程数

iis最大并发连接数、队列长度、最大并发线程数、最大工作进程数

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_34515910/article/details/83107968

最大并发连接数:

 1、影响因素:

a.网站html请求,html中的图片资源,html中的脚本资源,其他需要连接下载的资源等等,任何一个资源的请求即一次连接(虽然有的资源请求连接响应很快)

b.如果网页采用框架(框架内部嵌套网页请求),那么一个框架即一次连接

c.如果网页弹出窗口(窗口内部嵌套网页请求),那么一个窗口一个连接

2、设置位置:网站->“高级设置”->"限制"->"最大并发连接数"

队列长度

设置位置:在IIS中选中【应用程序池】,在应用程序池列表中,右键你想查看的,在右键菜单中选择【高级设置】,默认的队列长度为1000

IIS最大并发工作线程数。

1、

配置文件:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
2、修改参数: <processModel autoConfig="false" maxWorkerThreads="200" maxIoThreads="200" minWorkerThreads="100" />

MaxWorkerThreads参数和maxIoThreads参数隐式地乘以 Cpu 的数量。例如,如果您有两个处理器,是以下的最大工作线程数︰2*maxWorkerThreads

MinWorkerThreads= maxWorkerThreads/2

  1. 优化每个处理器限制对线程 ASP 属性的值(默认25,已修改成50)

a.在连接窗格中,选择 web 服务器,请单击以选中功能视图,然后双击ASP功能。

b.单击以展开限制属性下行为,单击处理器限制每个线程,输入所需的值线程每个处理器限制单击应用中操作窗格。

三者关系

  1. iis最大并发连接数,队列长度,最大并发工作线程数关系:
  1. 三者确定了最大并发数
  2. 当很多请求同时到来的时候,IIS会根据【最大并发连接数】来判断是否有多余的请求,多余的请求直接返回503,然后再根据【队列长度】来判断是否有多余的请求排不了队,排不了队的也直接返回503。所以,如何设置【最大并发连接数】和【队列长度】,实际上是有公式可以计算的:

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

  1. 例子:如果1000个请求同时到来,【最大并发连接数】设置为100,只有100个请求会收到正常响应,剩余900个请求直接返回503(服务不可用)的错误,【队列长度】设置为40,那么60个请求会直接返回503服务不可用的错误(因为队列只有40个的长度,剩下的60个就无法排队了),

最大并发工作线程数为10,10个请求被正确处理,30的请求排队等待

最大工作进程数

  1. 将应用程序池配置成一个Web园(Web Garden)

2、设置:网站的所属应用程序池,“右击高级设置”->"进程模型"->"最大工作进程数",默认1,如果这个值大于 1,那么当有连接请求时会启动多个新的工作进程实例,可启动的最多进程数为您所指定的最大工作进程数,后续更多的请求将以循环的方式发送至工作进程,这个每个工作进程都能承担负载一些连接请求,当然是以消耗cpu等硬件做代价。

3、最大工作进程数的设置方法:(拷贝)按照每工作进程能承载30个并发的原则来确定应用程序池的最大工作进程数。同时要注意,每个工作进程大约会占用200M左右的系统内存,在设置最大工作进程数的时候,要主要最大工作进程数与200M的乘积不要超过系统最大可用内存数。一般情况下,建议按照每次增加5个工作进程数的方式对最大工作进程数进行调整,调整完后对网站观察一段时间,如依然无法满足要求,再继续增加5个工作进程数。

                   4、在此模式下,解决session共享的问题

                            a、启动ASP.NET 状态服务

                   b、配置回话状态

        

猜你喜欢

转载自www.cnblogs.com/jinanxiaolaohu/p/11686271.html