关于w3wp.exe

一. IIS各版本间的区别

 

IIS 5.0

IIS 5.1

IIS 6.0

平台

Windows 2000

Windows XP Professional

Windows Server 2003 家族

体系结构

32 位

32 位和 64 位

32 位和 64 位

应用程序进程模型

TCP/IP 内核 DLLhost.exe(处于中等或高应用程序隔离模式下的多个 DLL 主机)

TCP/IP 内核 DLLhost.exe(处于中等或高应用程序隔离模式下的多个 DLL 主机)

HTTP.sys 内核 当 IIS 以 IIS 5.0 隔离模式运行时:Inetinfo.exe(对于进程内应用程序)或 DLLhost.exe(对于进程外应用程序) 当 IIS 以工作进程隔离模式运行时:W3wp.exe(多工作进程)

配置数据库配置

二进制

二进制

XML

安全性

Windows 身份验证 SSL Kerberos

Windows 身份验证 SSL Kerberos 安全向导

Windows 身份验证 SSL Kerberos 安全向导 Passport 支持

远程治理

HTMLA

无 HTMLA 终端服务

远程治理工具 (HTML) 终端服务

群集支持

IIS 群集

Windows 支持

Windows 支持

WWW 服务

Windows 9x 上的个人 Web 治理器 Windows 2000 上的 IIS

(可选)Windows XP Professional 上的 IIS

Windows

二.关于wswp的一些知识。

Q : W3WP.EXE,应用程序,应用程序池之间的关系

A : 一个应用程序池可以包含多个应用程序,一个应用程序池创建一个W3WP.EXE进程.那么我们就不能简单的说一个进程池对应一个W3WP.EXE进程了!其实是多个应用进程池对应一个W3WP.EXE进程的.

Q : 如何启动和关闭W3WP.EXE这个进程

A : W3WP.EXE这个进程将在你访问www应用程序的时候启动.有人就会这么问了:"我启动了一个Web应用程序,发现系统自动创建了一个W3wp.exe进程。但我关闭这个Web应用程序后,发现这个刚创建的W3Wp.exe进程还在,请问如何关闭该进程。"这个进程不会在你关闭了这个程序以后,就马上关闭的.那是因为Http是无连接的访问,当你关闭了web网页,不会返回相应的关闭信息,所以W3WP.EXE这个进程不会因为你关闭了web应用程序尔关闭.

Q : 那么如何关闭这个进程呢?

A : 在应用程序池的配置中,"空闲超时"中设定合适的时间,系统默认的是20分钟.设定好指定的时间,那么在这个时间范围内没有在访问应用程序,那么系统会自动的关闭W3WP.EXE这个进程的.而不需要我们人为的干预的.也可以在Windows任务管理器里面,结束这个进程

Q : 如何让W3WP.EXE进程长时间的运行.

A : W3WP.EXE这个进程的默认生命是1740分钟,但依然是在这种默认的自然规律下,W3WP.EXE将在自己失业20分钟后,被系统直接枪杀.这样就可以看出,要想让W3WP.EXE长时间的生存,那我们可以通过”空闲超时”不作处理来达到我们的目的.

Q : 在IIS6下,经常出现w3wp.exe的内存及CPU占用不能及时释放,从而导致服务器响应速度很慢。

A: 解决内存占用过多,可以做以下配置 1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。 2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。再设置当内存占用超过多少(如500M),就自动回收内存。

解决CPU占用过多: 1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。 2、设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭。

根据w3wp取得是那个一个应用程序池: 1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid 2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池。(iisapp实际上是存放在C:\windows\system32目录下的一个VBS脚本,全名为iisapp.vbs,如果禁止了Vbs默认关联程序,那么就需要手动到该目录,先择打开方式,然后选“Microsoft (r) Windows Based Script Host”来执行,就可以得到PID与应用程序池的对应关系。) 3、到iis中察看该应用程序池对应的网站,就ok了,做出上面的内存或CPU方面的限制,或检查程序有无死循环之类的问题。

Q : 另一种加载了某程序后发生w3wp.exe问题

A: 修改C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config,再配置节点<processModel>中有一个属性"memoryLimit",这个属性的值是一个百分比,默认为"60"(注意,是60%不是60M),即制定了ASP.NET进程能够使用所有物理内存的60%,当ASP.NET使用的内存量超过这个限额时,IIS会开始自动回收进程,即创建一个新的进程去负责应付HTTP请求,而将旧进程所占用的内存回收.

Q : w3wp.exe在进程中存在的原因 A : IIS 6.0版本中的w3wp.exe进程是会根据INTER信息的开放与否而决定是否存在,只要IIS提供WEB服务,该进程会始终存在,无论是否支持asp或asp.NET等类似语言脚本,w3wp.exe该进程是允许多个运行并存的,且可以通过手工设置来决定并存数量。由于多个运行并存,因而当该进程占用CPU利用率达到手工设置的饱和数值时(如70%),执行操作为"关闭"即可,不会对提供WEB服务有任何影响。

Q : w3wp.exe间歇性占用CPU(处理器)资源100%持高不下,持续时间几分钟至是几分钟不等,其原因? A : ·设置在IIS中的WEB站点其程序问题,如执行大量查询操作等;       ·WEB站点提供的系统服务相关,如提供文件上传服务从而占用过多资源等;

三. IIS6.0应用程序池

         IIS 6.0 提供应用程序池以支持灵活且高性能的Web 应用程序设计。应用程序池是将一个或多个应用程序连接到一组或多组工作进程的 IIS 6.0 配置选项。在CDC 情境中,将具有相似可用性和性能要求的 Web 应用程序组合到一起以形成应用程序池。这种分组可提供更高层次的资源分配精细度,对请求队列设置阀值并实现最佳的性能。将一些有严格性能要求的应用程序配置成 Web 园的一部分。通过设置处理器亲合为带有 CPU 密集型任务的应用程序分配专用处理器组,以免和其它应用程序争用 CPU 周期。

         IIS6.0不以IIS5.0隔离模式<Inetinfo.exe(对于进程内应用程序)或 DLLhost.exe(对于进程外应用程序)>工作的时候,W3wp.exe(多工作进程)将在访问www服务时候启动。

         通过IIS6.0新增的“应用程序池”可以对此进行调度,根据调换Web园的数量可以限定该池的工作进程数量,经过测试同属于一个池中的程序,服务器将在访问每个虚拟目录或站点时启动一个W3wp.exe进程。直至达到设置的Web园最大数量。根据站点的命中频率我们设置回收进程的时间,默认为20分钟,根据访问量具体定。在站点内存耗费过大时及时回收内存,可以有效的避免溢出。

四. 什么是Web园

         在您创建应用程序池时,就会通知 IIS 6 创建一个工作进程,以传送指派给该应用程序池的 Web 站点、文件和文件夹的内容。您可以将应用程序池配置为启动多个,而非一个工作进程,这样可以提高可扩展性。这个功能的名为 Web 园,是小型的“Web 农场”。您无需使用多台计算机来传送相同的内容(Web 农场),而是可以使用一台计算机中的多个进程来传送相同的内容。          在将 IIS 6 应用程序配置为 Web 园时,您只需在“应用程序池属性”的“性能”选项卡的“最大工作进程数”框中,设置一个大于 1 的工作进程数。如果这个值大于 1,每个请求都将启动一个新的工作进程实例,可启动的最多进程数为您所指定的最大工作进程数。后续的请求将以循环的方式发送至工作进程。

         Web 园在您的应用程序资源有限的情况下非常有用。例如,如果您到数据库的连接很慢,那么您可以使用多个工作进程来增加用户吞吐量,从而增加到数据库的连接数。          尽管在有些情况下使用 Web 园的用处非常大,但是要注意,每个工作进程的会话信息都是唯一的。由于请求以循环的方式路由到应用程序池工作进程,因此 Web 园对于会话信息存储在进程中的应用程序作用可能不大。在少数情况下,让多个工作进程运行同一个应用程序会造成资源竞争。例如,如果所有工作进程都试图将信息记录到日志文件中,或是使用那些不是专用于多个并发访问的资源,那么可能出现资源竞争问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php云解析播放器,xyplay云解析PHPV3.4.1优化稳定版视频解析

演示地址&#xff1a;如有演示站请以演示为准&#xff0c;无演示站以截图为准,源码太多服务器有限&#xff0c;无法搭建所有源码演示站&#xff0c;请谅解&#xff01;新手购买指导&#xff1a;1.在本站注册账号 丨 2.登录已注册账号充值源码所需金币 丨 3.登录账号下载所需源码…

php version.,PHP_VERSION指什么

PHP_VERSION (string)当前的PHP版本&#xff0c;以字符串形式“ major.minor.release [extra]”表示。 (推荐学习&#xff1a;PHP视频教程)例如&#xff1a;<?php // PHP_VERSION_ID 自 PHP 5.2.7 起有效&#xff0c;// 如果我们的版本低于该版本&#xff0c;则用以下代码来…

C# async 和 await 理解

先假设如下场景&#xff1a; 主函数 Main&#xff0c;循环等待用户输入&#xff1b; 计算函数 Cal&#xff0c;耗时计算大量数据&#xff1b; class Test {static int Main(string[] args){while(true){// 等待用户输入}}public static int Cal() {int sum 0;for (int i …

php进阶面向对象及tp5,TP5实战技巧---开发思路 引路造桥

## TP5实战技巧实例---开发思路> 子曰&#xff1a;“学而不思则罔&#xff0c;思而不学则殆。”[TOC]### 利用TP的MVC框架 做快速开发>[success] 写在前面的话:既然选择TP5框架,我推荐大家要通读完全开发手册,我这里并不是要大家记住每一个方法,每一个细节.而是要求大家心…

C# 彻底搞懂async/await

前言 Talk is cheap, Show you the code first&#xff01; private void button1_Click(object sender, EventArgs e) {Console.WriteLine("111 balabala. My Thread ID is :" Thread.CurrentThread.ManagedThreadId);AsyncMethod();Console.WriteLine("222 …

matlab平滑窗滤波,matlab实现平滑滤波

clc;clear;close all;imimread(‘p1.jpg‘);im rgb2gray(im);imdouble(im);imim/max(im(??);figure(‘Name‘,‘原图‘,‘NumberTitle‘,‘off‘);imshow(im,[0,1]);P1 imnoise(im,‘gaussian‘,0,0.005); % adding gaussian noise 这里im是原始图像&#xff0c;添加了均值…

c#之task与thread区别及其使用

1.什么是thread 当我们提及多线程的时候会想到thread和threadpool&#xff0c;这都是异步操作&#xff0c;threadpool其实就是thread的集合&#xff0c;具有很多优势&#xff0c;不过在任务多的时候全局队列会存在竞争而消耗资源。thread默认为前台线程&#xff0c;主程序必须等…

java内存分配和垃圾回收,Java内存分配与垃圾回收

1.JVM管理的内存包含下图所示的几个运行时数据区域&#xff0c;其中方法区和堆为线程共享的数据区域&#xff0c;程序计数器&#xff0c;虚拟机栈以及本地方法栈为线程私有的数据区域。程序计数器&#xff1a;可以看做是当前线程所执行的字节码的行号指示器&#xff0c;告诉字节…

谈谈你对闭包的理解?

闭包这个概念好难理解&#xff0c;身边朋友们好多都稀里糊涂的&#xff0c;稀里糊涂的林老冷希望写下这篇文章能够对稀里糊涂的伙伴们有一些帮助~ 请大家跟我理解一下&#xff0c;如果在一个函数的内部定义了另一个函数&#xff0c;外部的我们叫他外函数&#xff0c;内部的我们…

php有哪些开源社区,PHP开源社区

简介Blade 是 Laravel 提供的一个简单而又强大的模板引擎。和其他流行的 PHP 模板引擎不同&#xff0c;Blade 并不限制你在视图中使用原生 PHP 代码。所有 Blade 视图文件都将被编译成原生的 PHP 代码并缓存起来&#xff0c;除非它被修改&#xff0c;否则不会重新编译&#xff…

GetType和typeof的区别

typeof: The typeof operator is used to obtain the System.Type object for a type. 运算符&#xff0c;获得某一类型的 System.Type 对象。 Type t typeof(int); GetType: Gets the Type of the current instance. 方法&#xff0c;获取当前实例的类型。 int i 10; Consol…

PHP mysql数据迁移,如何自动化PHP/MySQL应用程序的迁移(架构和数据)

我有一个“Schema”对象&#xff0c;我使用 – 但你可以做同样没有类..你想做的是创建一个“db_schema_versions”表&#xff1a;CREATE TABLE db_schema_versions (table varchar(255) NOT NULL PRIMARY KEY,version INT NOT NULL)在您的数据库可以跟踪它是什么版本#之后 – 它…

【转】c# 协变与抗变

转自&#xff1a; 协变和抗变 一.定义 在说定义之前&#xff0c;先看一个简单的例子&#xff1a; public class Shape { } public class Rectange : Shape { } 上面定义了两个简单的类&#xff0c;一个是图形类&#xff0c;一个是矩形类&#xff1…

逆变与协变

一、遇到问题 这是基于.net3.5开发&#xff0c;实际工作中遇到一个问题。假设我们有一个 Base 类&#xff0c;一个 Derived 类&#xff0c;Derived 继承了 Base。如下&#xff1a; 1 2 3 4 5 6 7 8 class Base { } class Derived : Base { }   当我用IEnumerable<Bas…

php新手用7.2,总结PHP升级7.2之后需要注意的事情

最近升级了PHP版本&#xff0c;从7.1升级到7.2&#xff0c;升级前版本&#xff1a;PHP 7.1.14 (cli) (built: Feb 2 2018 08:42:59) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.1.14…

第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式

一. 背景 说起EF的增删改操作&#xff0c;相信很多人都会说&#xff0c;有两种方式&#xff1a;① 通过方法操作 和 ② 通过状态控制。 相信你在使用EF进行删除或修改操作的时候&#xff0c;可能会遇到以下错误&#xff1a;“ The object cannot be deleted because it was n…

win7和mysql乱码,win7 mysql中文乱码怎么处理

方法/步骤【第一步】在mysql dos命令窗口中输入下面这段命令SHOW VARIABLES LIKE character_set_%; //注 用于显示【mysql 的编码设置】2显示了之后 显示你的mysql编码设置和我的不同之处改掉就OK了【你直接复制下面的命令 粘贴到dos命令窗口中就OK了】【注 我这个改法 只有新添…

第十六节:语法总结(3)(C#6.0和C#7.0新语法)

一. C# 6.0 新语法 1. 自动属性初始化可以赋值 1 /// <summary>2 /// 自动属性初始化3 /// </summary>4 public class UserInfor5 {6 public string userId { get; set; } "123456";7 8 public string userName {…

php仿伊人集源码,仿伊人集wecenter()包含所有功能及官方付费插件,整站带数据...

演示地址&#xff1a;如有演示站请以演示为准&#xff0c;无演示站以截图为准,源码太多服务器有限&#xff0c;无法搭建所有源码演示站&#xff0c;请谅解&#xff01;新手购买指导&#xff1a;1.在本站注册账号 丨 2.登录已注册账号充值源码所需金币 丨 3.登录账号下载所需源码…

第十七节:易混淆的概念(静态和非静态、拆箱和装箱)

一. 静态和非静态 1. 概念介绍 ① 静态类&#xff08;被static修饰&#xff09; vs 普通类&#xff08;没有被static修饰&#xff09; ② 静态成员&#xff1a;被static修饰的成员&#xff0c;比如&#xff1a;静态方法、静态字段等 ③ 普通成员(实例成员)&#xff1a;不被st…