VS.NET(C#)提升-1.10_设置IIS最大并发连接数与队列

工作线程数

工作线程可以通过Machine.config的maxWorkerThreads修改

一个工作进程有默认的工作线程数量(工作线程可以通过Machine.config的maxWorkerThreads修改,并跟CPU是几核有关系),我们可以通过设置应用程序池的最大工作进程为2,那这样就成了web园。相应的工作线程也随工作进程的增加也加倍,但是要考虑cpu和内存的会不会消耗过大。web园是直接的表现就是通过任务管理器里可以看到两个w3pw.exe进程。

参考:https://msdn.microsoft.com/zh-cn/library/7w2sway1.aspx

队列长度

除了IIS工作线程数可以第一时间进行处理外,其余的请求可以进入等待队列进行等待的数量。比如:

工作线程数 = 100

队列长度 = 5000

那么一万个连接请求同时涌过来,将有100个第一时间被处理,5000个等待,4900个以503返回。

这个可以在应用程序池-->ASP.NETv4.0 Classic-->高级设置-->队列长度里修改

最大并发连接数

工作线程数 = 100

队列长度 = 5000

最大并发连接数 =5000

那么一万个连接请求同时涌过来,将有100个第一时间被处理,4900个进入队列等待,5000个以503返回。

假如最大并发连接数=10000,则

那么一万个连接请求同时涌过来,将有100个第一时间被处理,5000个进入队列等待,4900个以503返回。

这个可以在IIS-->网站(要修改的网站)-->高级设置-->最大并发连接数里修改。

案例

将【最大并发连接数】设置为100,队列1000,而我们的win7系统的IIS最大并发工作线程数只有10,1万个请求同时到来,会有什么效果呢?

        这时只有100个请求会收到正常响应:10个用户正常显示网页,进入排队等待的只有90个请求(90个用户浏览器显示“加载中……”);剩余9900个请求直接返回503(服务不可用)的错误。

IIS会根据【最大并发连接数】来判断是否有多余的请求,多余的请求直接返回503,然后再根据【队列长度】来判断是否有多余的请求排不了队,排不了队的也直接返回503。所以,如何设置【最大并发连接数】和【队列长度】,实际上是有公式可以计算的:

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

 PS:随着春天脚步的到来,每周新入职员工达600多人,用户很快超1.5K,IIS的压力也随之增大!


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值