在IIS6中,每一个网站都有对应的应用程序池,在应用程序池有运行着网站的Application,在默认情况下,所有的网站的应用程序都会分配到默认的应用程序池当中,

 
当然,我们可以新建一个应用程序池,然后更改网站所在的应用程序池。
添加一个应用程序池:
 
在网站的属性的主目录选项卡下修改网站所在的应用程序池:
查看结果:
 
 
 
因为此时默认的情况下,所有的网站都在同一个应用程序池中,所以它们都会共享同一个w3wp进程,因为在默认的应用程序池中默认设置的Web园的最大进程数为1,如图所示。

 
此时我们分别访问默认应用程序池中的三个网站,可以看到进程管理器中只有一个w3wp进程在运行,这就验证了我们上面的提到的结论。
我们也可以使用命令行工具来查看运行的工作进程有哪些:
 
 
 
接着我们来测试一下Web园的使用
首先我们将默认应用程序池的Web园中最大的工作进程数设为5:
 
然后,我们对这个应用程序池中的3个网站中进行10次访问,最后我们再次查看工作进程w3wp的数量:
 
从上面的结果可以看到,修改了Web园之后,对应用程序池中的网站进行访问,最多会生成5个w3wp进程,就是我们在上面设置的值,此时,这5个w3wp进程就可以将用户的请求同时进行处。
注意:这里的5个w3wp进程之间是隔离的,所以它们之间的数据无法进行共享,例如Session,所以如果一个用户登录之后在Session中记录了他的登录信息,然后再后面的某次请求中他的请求不再是由原来的w3wp工作进程来处理就会造成用户掉线的状况。
 
接下来我们再次验证一下上述5个w3wp是否真的是属于默认的那个应用程序池的
 
 
因为,运行一段时间后,一个w3wp可能会占用很多的内存,所以此时,我们需要对工作进程进行回收,可以应用程序池的属性中对回收的时间进行设置:
 
 
当到达回收时间,或者我们手动点击了回收工作进程之后,IIS会重新创建相同数量的工作进程,让新的工作进程来替代旧的工作进程来处理请求,然后结束原来旧的工作进程。
例如,我们当前这个默认的应用程序池中有5个w3wp进程在同时运行,我们手动进行回收,此时,IIS会创建5个新的w3wp进程来处理请求,然后结束原来的5个进程,执行的过程可以看下面的图:
 
 
 
 
 
以上是在IIS6中的情况,下面我们来看一下IIS7中的w3wp工作进程:
 
 
 
在IIS7中,我们每次新建一个网站,默认的都会创建一个新的应用程序池,然后应用程序池中会包含我们的应用程序
 
 
 
在应用程序池中右键查看它的高级设置可以看到IIS7中的一个应用程序池的最大工作进程数也是1,所以,在一般情况下,我们访问IIS7上的一个网站,只会产生一个w3wp工作进程,不管请求数时多少,即有n网站就最多只会有n个w3wp进程。
 
当我们,修改最大工作进程数为3时,在多次访问这个网站时可以发现,结果与IIS6中相同,最多只会产生3个相应的w3wp工作进程。
 
 
从上面可以看到产生的3个工作进程都是属于t3这个网站的,在IIS7中同样提供了命令行工具操作IIS,这个工具在IIS7中名称是
appcmd.exe,它在IIS7的安装目录下,一般就在以下的位置:
 
 
 
使用appcmd监测w3wp的回收过程,可以得到与IIS6中相同的结果:
 
如果在运行命令的时候发生一下的错误可能是因为权限不足的原因,只要右键以管理员的身份运行cmd后在执行命令即可。

IIS6与IIS7中的w3wp工作进程的更多相关文章

  1. IIS6,IIS7中查看w3wp进程

    当我们服务器创建了很多应用程序池,然后某个w3wp.exe进程占用CPU和内存过高,我们怎么查找这个w3wp.exe进程属于哪一个网站呢.其实微软为我们提供了很好的查看工具: 首先打开windows任 ...

  2. IIS6与IIS7中如何设置文件过期

    在IIS6中:一. 打开IIS管理器 二. 选中要设置的网站单击属性,打开站点属性菜单 三. 单击HTTP头选项卡 四. 单击 启用内容过期 如:设置30分钟后过期,此时间段后过期项中填30,单位选择 ...

  3. IIS6.0、IIS7中的站点、应用程序和虚拟目录详细介绍

    这里说的不是如何解决路径重写或者如何配置的问题,而是阐述一下站点(site),应用程序(application)和虚拟目录 (virtual directory)概念与作用,已及这三个东西在IIS6与 ...

  4. IIS中查看W3P.exe进程对应的应用程序池的方法

    对于IIS6可以运行 iisapp -a来显示应用程序池的性能列表. iisapp.vbs它是一个脚本程序,在安装2003时需要SP1才有 而IIS7可以直接用它的外壳命令 C:"Windo ...

  5. IIS7中的站点、应用程序和虚拟目录详细介绍 (转)

    这里说的不是如何解决路径重写或者如何配置的问题,而是阐述一下站点(site),应用程序(application)和虚拟目录 (virtual directory)概念与作用,已及这三个东西在IIS6与 ...

  6. IIS7中的站点、应用程序和虚拟目录详细介绍

    IIS7中的站点.应用程序和虚拟目录详细介绍 这里说的不是如何解决路径重写或者如何配置的问题,而是阐述一下站点(site),应用程序(application)和虚拟目录 (virtual direct ...

  7. IIS 6.0的web园 最大工作进程数细谈

    这篇文章主要介绍了IIS 6.0的web园 最大工作进程数,需要的朋友可以参考下:(摘自:http://www.jb51.net/article/84817.htm) IIS 6.0允许将应用程序池配 ...

  8. 转载:IIS 之 连接数、并发连接数、最大并发工作线程数、队列长度、最大工作进程数

    一.IIS连接数 一般购买过虚拟主机的朋友都熟悉购买时,会限制IIS连接数,顾名思义即为IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫“IIS限制连接数”. 客户请求的连接内容包括: [ ...

  9. IIS 之 连接数、并发连接数、最大并发工作线程数、队列长度、最大工作进程数

    一.IIS连接数 一般购买过虚拟主机的朋友都熟悉购买时,会限制IIS连接数,顾名思义即为IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫“IIS限制连接数”. 客户请求的连接内容包括: [ ...

随机推荐

  1. Linux下最常用的Shell命令的介绍

    Shell基础: 你可以通过打开Linux的terminal(终端)来执行Shell命令.Shell的种类有很多种,例如CSH,Bourne Shell,Korn Shell.在现在的大多数Linux ...

  2. 17.async 函数

    async 函数 async 函数 含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖. 前文有一个 ...

  3. 使用 RetroShare 分享资源

    本文告诉大家如何使用 RetroShare 来分享资源.因为 RetroShare 是一个 p2p 分享的工具,所以他比现在很多云盘都好用,在网上,很多大神说可以用来代替电驴.之所以推荐这个软件,因为 ...

  4. win10 uwp unix timestamp 时间戳 转 DateTime

    有时候需要把网络的 unix timestamp 转为 C# 的 DateTime ,在 UWP 可以如何转换? 转换函数可以使用下面的代码 private static DateTime UnixT ...

  5. C# 数组中的 indexOf 方法

    var array=['REG','2018','2018']; array.indexOf(‘REG’) // 0 array.indexOf(‘R’) // -1 array.indexOf(’2 ...

  6. RxJS - Subject(转)

    Observer Pattern 观察者模式定义 观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态 ...

  7. 解决XShell不能使用小键盘的问题

    新建链接的时候,在Terminal节点,选择VT Modes为set to normal.

  8. Java注解(三)

    上一篇了解了自定义注解的使用,不过里面的例子没有多大使用价值,这一回来个有用点的Demo. 目标:将实体bean保存到数据库 先来定义一个实体注解 import java.lang.annotatio ...

  9. java后台向路径发送请求获得相应参数

    从java后台向一路径发送请求,获得响应的参数,put get post ,还有一个返回URL的工具类,方便代码灵活修改 import java.io.BufferedReader; import j ...

  10. MVC 使用Quartz.Net组件实现定时计划任务

    最近,项目中需要执行一个计划任务,组长就让我了解一下Quartz.net 这个组件,挺简单的一个组件,实现起来特别的方便,灵活,值得推荐给大家一起学习一下这个小工具.以前我有的时候是使用定时器Time ...