[转帖]iis最大并发连接数队列长度最大并发线程数最大工作进程数
Posted jinanxiaolaohu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转帖]iis最大并发连接数队列长度最大并发线程数最大工作进程数相关的知识,希望对你有一定的参考价值。
iis最大并发连接数、队列长度、最大并发线程数、最大工作进程数
最大并发连接数:
1、影响因素:
a.网站html请求,html中的图片资源,html中的脚本资源,其他需要连接下载的资源等等,任何一个资源的请求即一次连接(虽然有的资源请求连接响应很快)
b.如果网页采用框架(框架内部嵌套网页请求),那么一个框架即一次连接
c.如果网页弹出窗口(窗口内部嵌套网页请求),那么一个窗口一个连接
2、设置位置:网站->“高级设置”->"限制"->"最大并发连接数"
队列长度
设置位置:在IIS中选中【应用程序池】,在应用程序池列表中,右键你想查看的,在右键菜单中选择【高级设置】,默认的队列长度为1000
IIS最大并发工作线程数。
1、
配置文件:C:WindowsMicrosoft.NETFramework64v4.0.30319Configmachine.config
2、修改参数: <processModel autoConfig="false" maxWorkerThreads="200" maxIoThreads="200" minWorkerThreads="100" />
MaxWorkerThreads参数和maxIoThreads参数隐式地乘以 Cpu 的数量。例如,如果您有两个处理器,是以下的最大工作线程数︰2*maxWorkerThreads
MinWorkerThreads= maxWorkerThreads/2
- 优化每个处理器限制对线程 ASP 属性的值(默认25,已修改成50)
a.在连接窗格中,选择 web 服务器,请单击以选中功能视图,然后双击ASP功能。
b.单击以展开限制属性下行为,单击处理器限制每个线程,输入所需的值线程每个处理器限制单击应用中操作窗格。
三者关系
- iis最大并发连接数,队列长度,最大并发工作线程数关系:
- 三者确定了最大并发数
- 当很多请求同时到来的时候,IIS会根据【最大并发连接数】来判断是否有多余的请求,多余的请求直接返回503,然后再根据【队列长度】来判断是否有多余的请求排不了队,排不了队的也直接返回503。所以,如何设置【最大并发连接数】和【队列长度】,实际上是有公式可以计算的:
最大并发连接数 = 队列长度 + IIS最大并发工作线程数
- 例子:如果1000个请求同时到来,【最大并发连接数】设置为100,只有100个请求会收到正常响应,剩余900个请求直接返回503(服务不可用)的错误,【队列长度】设置为40,那么60个请求会直接返回503服务不可用的错误(因为队列只有40个的长度,剩下的60个就无法排队了),
最大并发工作线程数为10,10个请求被正确处理,30的请求排队等待
最大工作进程数
- 将应用程序池配置成一个Web园(Web Garden)
2、设置:网站的所属应用程序池,“右击高级设置”->"进程模型"->"最大工作进程数",默认1,如果这个值大于 1,那么当有连接请求时会启动多个新的工作进程实例,可启动的最多进程数为您所指定的最大工作进程数,后续更多的请求将以循环的方式发送至工作进程,这个每个工作进程都能承担负载一些连接请求,当然是以消耗cpu等硬件做代价。
3、最大工作进程数的设置方法:(拷贝)按照每工作进程能承载30个并发的原则来确定应用程序池的最大工作进程数。同时要注意,每个工作进程大约会占用200M左右的系统内存,在设置最大工作进程数的时候,要主要最大工作进程数与200M的乘积不要超过系统最大可用内存数。一般情况下,建议按照每次增加5个工作进程数的方式对最大工作进程数进行调整,调整完后对网站观察一段时间,如依然无法满足要求,再继续增加5个工作进程数。
4、在此模式下,解决session共享的问题
a、启动ASP.NET 状态服务
b、配置回话状态
以上是关于[转帖]iis最大并发连接数队列长度最大并发线程数最大工作进程数的主要内容,如果未能解决你的问题,请参考以下文章
IIS连接数IIS并发连接数IIS最大并发工作线程数应用程序池的队列长度
IIS连接数IIS并发连接数IIS最大并发工作线程数应用程序池的队列长度应用程序池的