在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. nginx 学习笔记(4) Connection处理方法

    nginx支持connection的多种处理方法.nginx运行的平台确定了可用的处理方法. 在特定平台下connection的多种处理方法中,nginx会自动选择一种最有效的方法.然而,如果需要,你 ...

  2. 前端项目中使用git来做分支和合并分支,管理生产版本

    最近由于公司前端团队扩招,虽然小小的三四团队开发,但是也出现了好多问题.最让人揪心的是代码的管理问题:公司最近把版本控制工具从svn升级为git.前端H5组目前对git的使用还不是很熟悉,出现额多次覆 ...

  3. Tornado简介

    Tornado是一个具有强大异步功能的Python Web框架. Hello World 使用pip安装tornado: pip install tornado 编写控制器: import torna ...

  4. Oracle官网下载参考文档

    最近有人问我有没有Oracle11g数据库官方参考文档,我就想,这不是在官网可以下载到的吗,疑惑,问了之后才知道,他官网找过,但时没有找到.不要笑,其实有很多人一样是找不到的,下面就一步一步操作下: ...

  5. 通向全栈之路——(5)git通三端

    一.在私有git服务中新建一个项目(码云):将电脑上id_rsa.pub(git公钥)拷贝至ssh下面中保存二.本地代码关联git:1.git全局设置:git config --global user ...

  6. Java利用反射取得类的所有信息

    Java中可以利用反射获取类的名称.构造函数.属性.方法.也就是说可以通过反射可以取得类的所有信息(不管该成员是否封装为private). 如有下面的Dept类定义: package org.lyk. ...

  7. 使用github搭建个人html网站

    前言:搭建个人网站早就想做了,最近有空就宅在家学习,突然发现github就可以搭建个人的纯html网站,于是开始了这项工作.转载请注明出处:https://www.cnblogs.com/yuxiao ...

  8. CSS3 linear-gradient线性渐变实现虚线等简单实用图形

    一.作为图片存在的CSS3 gradient渐变 我觉得CSS3 Backgrounds比较厉害的一个地方就是支持多背景,也就是背景图片个数可以无限累加,正好CSS3的gradient渐变性质是bac ...

  9. jQuery源码学习笔记二

    //添加实例属性和方法 jQuery.fn = jQuery.prototype = { // 版本,使用方式:$().jquery弹出当前引入的jquery的版本 jquery: core_vers ...

  10. CSS实现跨浏览器兼容性的盒阴影效果

    .shadow { -moz-box-shadow: 3px 3px 4px #000; -webkit-box-shadow: 3px 3px 4px #000; box-shadow: 3px 3 ...