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

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

2018-10-17 12:49:03 牛兜兜 阅读数 2952

版权声明:本文为博主原创文章,遵循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、配置回话状态

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/11686271.html

时间: 2024-11-08 17:35:30

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

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

IIS连接数 一般购买过虚拟主机的朋友都熟悉购买时,会限制IIS连接数,这边先从普通不懂代码用户角度理解IIS连接数 顾名思义即为IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫“IIS限制连接数” 这边客户请求的连接内容包括: 1.网站html请求,html中的图片资源,html中的脚本资源,其他需要连接下载的资源等等,任何一个资源的请求即一次连接(虽然有的资源请求连接响应很快) 2.如果网页采用框架(框架内部嵌套网页请求),那么一个框架即一次连接 3.如果网页弹出窗口(窗口内部嵌

iis最大工作进程数

iis最大工作进程数 IIS 6.0允许将应用程序池配置成一个Web园(Web Garden).要理解Web园的概念,可以设想这样一种情形:假设有一个IIS 5.0服务器和三个Web网站,每一个Web网站运行着相同的应用程序,如果IIS 5.0能够自动按照圆形循环的模式将请求依次发送给这些功能上等价.实际上分离的Web网站,将负载分离到三个不同的进程,就可以构成一个小型的Web农场(Web Farm)--这就是Web园. 在IIS 6.0的Web园中,我们不必创建额外的Web网站,只要指定用于某

[转帖]架构师眼中的高并发架构

架构师眼中的高并发架构 http://www.itpub.net/2019/04/25/1705/ 数据和云 2019-04-25 14:42:34 本文共6557个字,预计阅读需要17分钟. 前言 高并发经常发生在有大活跃用户量和用户高聚集的业务场景中,如:秒杀活动.定时领取红包等. 为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案. 在电商相关产品开发的这些年,我有幸的遇到了并发下的各种坑,这一路摸爬滚打过

c++11 条件变量 生产者-消费者 并发线程

http://baptiste-wicht.com/posts/2012/04/c11-concurrency-tutorial-advanced-locking-and-condition-variables.html ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 struc

Java 并发 线程同步

Java 并发 线程同步 @author ixenos 同步 1.异步线程本身包含了执行时需要的数据和方法,不需要外部提供的资源和方法,在执行时也不关心与其并发执行的其他线程的状态和行为 2.然而,大多数实际的多线程应用中,两个或两个以上的线程需要共享对同一数据的存取,这将产生同步问题(可见性和同步性的丢失) 比如两个线程同时执行指令account[to] += amount,这不是原子操作,可能被处理如下: a)将account[to]加载到寄存器 b)增加amount c)将结果写回acco

Java 并发 线程属性

Java 并发 线程属性 @author ixenos 线程优先级 1.每当线程调度器有机会选择新线程时,首先选择具有较高优先级的线程 2.默认情况下,一个线程继承它的父线程的优先级 当在一个运行的线程A里,创建另一个线程B的时候,那么A是父线程,B是子线程.当在一个运行的线程A里,创建线程B,然后又创建了线程C,这时候虽然B比C创建早,可是B并不是C的父线程,而A是B和C的父线程. 3.线程的优先级高度依赖于系统,当虚拟机依赖于宿主机平台的线程实现机制时,Java线程的优先级被映射到宿主机平台

iis提示“另一个程序正在使用此文件,进程无法访问。(异常来自HRESULT:0x80070020)

看看IIS的网站,惊人的发现default web site是停止状态.印象中没有停止它啊.右键->管理网站->启动.点击启动后居然弹出:"另一个程序正在使用此文件,进程无法访问.(异常来自HRESULT:0x80070020)"也就是我的default web site 无法启动. 上次一顿搜索,欣喜的发现好文章一篇(http://www.cnblogs.com/rickie/articles/49016.html),描述的情况和我的情况基本一样,参考下, 运行 cmd

Java 并发 线程的优先级

Java 并发 线程的优先级 @author ixenos 低优先级线程的执行时刻 1.在任意时刻,当有多个线程处于可运行状态时,运行系统总是挑选一个优先级最高的线程执行,只有当线程停止.退出或者由于某些原因不执行的时候,低优先级的线程才可能被执行 2.两个优先级相同的线程同时等待执行时,那么运行系统会以round-robin的方式选择一个线程执行(即轮询调度,以该算法所定的)(Java的优先级策略是抢占式调度!) 3.被选中的线程可因为一下原因退出,而给其他线程执行的机会: 1) 一个更高优先

控制每次线程池的并发线程的最大个数

[本人原创],欢迎交流和分形技术,转载请附上如下内容: 作者:itshare [转自]http://www.cnblogs.com/itshare/ 1. 实验目的:       使用线程池的时候,有时候需要考虑服务器的最大线程数目和程序最快执行所有业务逻辑的取舍.并非逻辑线程越多也好,而且新的逻辑线程必须会在线程池的等待队列中等待 ,直到线程池中工作的线程执行完毕,才会有系统线程取出等待队列中的逻辑线程,进行CPU运算. 2.  解决问题:     <a>如果不考虑服务器实际可支持的最大并行