iis6.0应用程序池回收和工作进程(转)-我的大房子-博客园
- 格式:doc
- 大小:33.00 KB
- 文档页数:12
配置Web站点在IIS管理控制台中右击对应的Web站点,然后选择属性,即可配置Web站点的属性,在此我仅介绍一下常用的几个配置标签:网站在网站标签,你可以在网站标识框修改此网站的默认HTTP标识,也可以点击高级按钮添加其他的HTTP标识和SSL标识;在连接框,你可以配置Web站点在客户端空闲多久时断开与客户端的连接,而保持HTTP连接选项有助于H TTP连接性能的提高,你应该总是启用;最后在下部你可以配置是否启用日志记录以及日志记录文件的存储路径和记录的字段。
性能在性能标签,你可以限制网站可以使用的网络带宽和并发连接数,假如启用限制网络带宽,则勾选限制网站可以使用的网络带宽,然后输入此网站可以使用的最大带宽即可,不过IIS需要在网络适配器上安装QoS数据包计划程序;默认情况下此Web站点的并发连接数不受限制,你可以限制它可以使用的并发连接数,但是配置时请注重,设置值不应超过应用程序池所设置的核心请求队列长度。
主目录在主目录标签,主要可以进行以下配置:修改网站的主目录:配置为本地目录、共享目录或者重定向到其他URL地址;修改网站访问权限:网站访问权限用于控制用户对网站的访问,IIS 6中具有以下六种网站访问权限,:∙读取:用户和读取文件内容和属性,默认启用;∙写入:用户可以修改目录或文件的内容;假如需要启用此权限,请在设置之前慎重考虑。
∙脚本资源访问:答应用户访问脚本文件的源代码,必须和读取或写入权限同时启用方可生效;假如需要启用此权限,请在设置之前慎重考虑。
∙目录浏览:用户可以浏览目录,从而可以看到目录中的所有文件;假如需要启用此权限,请在设置之前慎重考虑。
∙记录访问:当用户浏览此网站时进行日志记录,默认启用。
∙索引资源:答应索引服务对此资源进行索引,默认启用。
需要注重的是,网站访问权限只是完整的用户访问控制体系结构中的一部分,我将在后文介绍IIS完整的用户访问控制体系。
执行权限:执行权限用于控制此网站的程序执行级别,IIS 6中具有以下三种执行权限:∙无:不能执行任何代码,只能访问静态内容;∙纯脚本:只能运行脚本代码例如ASP等等,不答应执行可执行程序;∙脚本和可执行文件:答应执行所有脚本和可执行程序,假如需要启用此权限,请在设置之前慎重考虑。
IIS6.0调试中出现的问题问题一:启动IIS6.0时出现503错误当启动IIS6.0时,如果遇到503错误,表示应用程序池无法启动。
这个错误通常有以下几种可能的原因:1.应用程序池错误:检查应用程序池的身份验证设置、进程模型、.NET CLR 版本以及其他相关设置。
确保应用程序池的相关设置与你的应用程序和服务器环境相匹配。
2.配置错误:检查 IIS 配置文件,特别是应用程序的Web.config 文件。
确保所有配置项的语法正确,并且没有错误的设置。
3.依赖项错误:如果你的应用程序依赖于其他组件或服务,确保这些依赖项已正确安装和配置,并且可以正常使用。
解决此问题的方法包括:检查应用程序池设置、修复配置错误、安装缺失的依赖项等。
你可以参考以下步骤来逐步解决问题:1.检查应用程序池设置:–打开 IIS 管理器,找到应用程序池。
–右键单击应用程序池,选择“高级设置”。
–检查身份验证设置、进程模型、.NET CLR 版本等是否正确配置。
2.修复配置错误:–打开应用程序所在的文件夹,找到Web.config 文件。
–检查文件的语法和配置项,确保没有错误的设置。
–如果发现错误,进行修复并保存文件。
3.检查依赖项:–确保应用程序所依赖的组件或服务已正确安装并配置。
–检查组件或服务是否运行正常,并且没有出现任何错误。
如果以上方法都无法解决问题,你可以查阅相关的文档、社区或寻求专家的帮助来进一步解决503错误。
问题二:IIS6.0无法识别页面当你在 IIS6.0 上部署 网站时,可能会遇到无法识别 页面的问题。
这个问题通常是由以下几个原因引起的: 未安装或未注册:确保 已正确安装并注册在 IIS 中。
2.IIS 配置错误:检查 IIS 的设置,确保它已正确配置以处理 页面。
3.MIME 类型错误:如果服务器无法识别 页面的MIME 类型,这可能会导致无法正常浏览页面。
解决此问题的方法包括:验证 安装、检查 IIS 配置、添加MIME 类型等。
IIS应用程序池设置指南(佳人减肥网推荐)通过回收应用程序池设置,可以控制如何恢复系统资源。
以下几节介绍如何指定回收应用程序池设置。
指定回收应用程序池设置回收应用程序池设置是在应用程序池的属性对话框的“回收”选项卡中指定的。
设置回收应用程序池设置打开 IIS 管理控制台,单击加号展开本地计算机。
单击加号展开“应用程序池”文件夹。
右击适当的应用程序池,然后单击“属性”。
出现应用程序池的属性对话框。
单击“回收”选项卡,然后设置适当的应用程序池设置。
应用程序池“属性”对话框的“回收”选项卡内存回收“内存回收”是等效于memoryLimit 进程模型设置的应用程序池设置。
它指定辅助进程可以使用的最大内存量。
如果辅助进程超出了这一数量,将创建新的进程来替换它,并且当前所有请求都被重新分配给该新进程。
在memoryLimit 进程模型设置与“内存回收”应用程序池设置之间有两个重要的区别:memoryLimit 进程模型设置只使用物理内存。
“内存回收”应用程序池设置允许您为物理内存和虚拟内存分别指定限制。
由于公共语言运行库的垃圾回收器工作的方式,物理内存(或物理内存和虚拟内存的组合)常用于 应用程序。
虚拟内存常用于将堆划分为多个片断的传统本机应用程序。
“内存回收”应用程序池设置是按兆字节 (MB) 指定的,而不是按相对于总内存的百分比指定的。
回收辅助进程“回收辅助进程”是等效于requestLimit 进程模型设置的应用程序池设置。
它指定导致辅助进程或应用程序池被回收的请求的数目。
默认情况下“回收辅助进程”是禁用的。
若要启用“回收辅助进程”,请选取该复选框并在数值调节框中指定请求数。
回收多个辅助进程“回收多个辅助进程”是等效于timeout 进程模型设置的应用程序池设置。
它指定回收辅助进程或应用程序池的时间间隔。
默认情况下“回收多个辅助进程”是启用的而且设置为 120 分钟。
通过更改数值调节框中的值,可以指定一个不同的时间间隔。
Microsoft IIS 6.0 使用详解河北理工大学07网1 郑佩斌目录前言 (3)第一部分IIS 6.0的概况及基本操作 (4)一. 默认安装的内容 (4)二. IIS6.0的管理界面 (5)三. IIS的基本服务及其操作 (6)第二部分IIS 6.0进阶应用及安全相关 (26)一. IIS6.0的进阶应用 (26)二. IIS6.0安全相关 (32)前言本手册是我在对windows2003中IIS系统学习后进行的归纳和总结,所参考资料主要来自视频教程以及图书馆借阅的书籍,手册中的贴图都是我电脑中实际的操作截图,使用vmare 6.5.0英文版虚拟机安装windows 2003和windows XP系统进行试验。
下面是本机截图:手册内容如有不准确地方还望老师批评指正。
第一部分IIS 6.0的概况及基本操作IIS一直以来是微软服务器操作系统的一个内置软件,从windows NT 4.0开始集成到微软的系统中。
在windows 2003中集成IIS 6.0版本。
一.默认安装的内容。
当在windows 2003或windows XP中安装完成IIS 6.0后,默认安装的内容包括三个部分:1.IIS的文件目录。
IIS安装之后默认在系统中创建以下三个文件夹其中InetPub文件夹是用来存放用户自己文件的地方,如自己的网站或ftp服务器等,在System32下面的那个inetSrv文件夹里存放着iis的程序文件,第三个文件从名称上就可以看出是iis的帮助文件。
2.用户账号(1)Iuser_“计算机名”这个是在客户端匿名访问windows 2003服务器时,用来表示匿名客户端的通用账号,也就是说系统认为所有匿名访问的客户端就是一个人,即Iuser。
注意最好不要删掉这个帐号或修改密码,否则发布出来的网站不支持匿名访问。
(2)Iwam_“计算机名”这个适用于存放一些动态网页(如ASP)的一些程序和脚本,用这个帐号来执行这些动态的程序和脚本。
应用科学SI L I C o NL L E Y勰嬲校园网网站中I I s6.o的安装与配置技巧秦刚(广东海洋大学网络与教育技术中心广东湛江524025)[摘要]I I s通过超文本传输协议(H T T P)传输信息,还可配置I I s以提供文件传输协议(FTP)和其他服务。
与I I S4.O和I I s5.0相比,I I s6.O和w i nd ow ss er ver2003在网络应用服务器的管理、可用性、可靠性、安全性、性能与可扩展性方面提供了更多新的功能。
如何在校园网网站中安装与配置1I S6.0组件成为现阶段一门新的课题。
分析I I s6.0的新特性,并结合校园网络管理工作实际,就如何在校园网网站中安装与配置I I s6.0组件问题进行初步探讨。
[关键词]校同网站管理服务器软件I I s6.0组件安装与配置中图分类号:T P3文献标识码:^文章编号:1671—7597(2008)0910082—03I I s是I n t er n et I nf or m t i on S e rver的简称。
II S作为当今流行的w e b服务器之一,提供了强大的I nt er net和I nt r anet服务功能。
I I S通过超文本传输协议(H T TP)传输信息,还可配置II s以提供文件传输协议(FTP)和其他服务,如N NT P服务、SM T P服务等。
I I s6.O是架设服务器的软件,包含在w i n doW s2003数据中心版、企业版、标准版、w eb版,但是I I S6.0不能应用到W i n dw s)(P、2000或N T上。
从体系结构上看,I I s5.O和II s4.0其实是一样的:它们都是在用户模式下运行的发布web内容的应用程序,或者在I net i nf o进程之内以Sy st em帐户运行,或者在I net i nf o进程之外以1w A M用户运行。
一、I I S6.O的新特性I I s6.O和w i ndow s Ser ver2003在网络应用服务器的管理、可用性、可靠性、安全性、性能与可扩展性方面提供了许多新的功能。
IIS组建与配置四、应用程序池详解前面我们了解了IIS 6.0体系结构的关键组件,下面来看看有关应用程序池的一些问题。
应用程序池的“属性”对话框有四页——回收,性能,运行状况,标识,如图六所示。
在这些选项页中,最引人注目的恐怕就是“回收”页,使用该选项页可以管理工作进程的回收。
在工作进程隔离模式中,IIS可以配置成定期重新启动应用程序池中的工作进程,从而更好地管理那些有错误的工作进程。
这确保了池中的应用程序运行正常,并且可以恢复丢失的系统资源。
为了回收工作进程,失败工作进程接收请求的能力将被限制,直到它处理完存储在请求队列中的所有剩余请求。
为了排出当前请求,可以给予进程配置限制。
同一命名空间组的替换工作进程在旧的工作进程停止前启动,从而防止服务中断。
旧的进程完成其未决的请求,然后正常关闭,或者如果在达到了配置的时间限制、请求数、设置的时间计划,或当达到指定的内存用量限制后仍没有关闭,则明确地终止进程。
默认情况下,应用程序池每隔1740分钟(29小时)回收一次。
W3SVC根据“运行状况”页的选项来判断应用程序池运行是否正常,包括:每隔指定的时间Ping工作进程,时间按秒计,默认值30秒;启动时间限制(工作进程必须在指定的时间内开始);关闭时间限制(工作进程必须在指定的时间内关闭);是否启动快速失败保护(如果在指定的时间段内一定数目的工作进程发生失败,则禁用应用程序池)。
另外,ISAPI 应用程序(包括和asp.dll)可以声明自己不再适合提供服务,要求回收。
默认情况下,当IIS 6.0回收一个池时,它会使用一种称为overlapped recycle的回收技术。
在这种回收模式下,失败的工作进程仍会保持运行状态,同时创建一个新的工作进程。
IIS 6.0把新传入的请求传递给新的工作进程,但不拆除老的工作进程,直至老的工作进程处理完它队列中的请求,或者遇到超时错误。
在此期间,TCP/IP连接不会丢失,因为有http.sys 保持着连接的有效性。
IIS 6.0 (Internet Information Services 6.0)的新增功能CONTENTSIIS 6.0 (Internet Information Services 6.0)的新增功能 (1)介绍 (2)优点 (2)Web服务器更高的可靠性和可用性 (3)更加轻松的服务器管理 (3)服务器合并 (4)Faster Application Development (4)更高的安全性 (5)总结 (6)1. 介绍微软Windows Server 2003中的IIS 6.0为用户提供了集成的、可靠的、可扩展的、安全的及可管理的内联网、外联网和互联网Web服务器解决方案。
IIS 6.0经过改善的结构可以完全满足全球客户的需求。
这篇文章介绍了Windows Server2003中IIS 6.0给用户带来的益处、新增特性与改善。
2. 优点IIS 6.0 和 Windows Server 2003在网络应用服务器的管理、可用性、可靠性、安全性、性能与可扩展性方面提供了许多新的功能。
IIS 6.0同样增强了网络应用的开发与国际性支持。
IIS 6.0和 Windows Server 2003提供了最可靠的、高效的、连接的、完整的网络服务器解决方案。
3. Web服务器更高的可靠性和可用性IIS 6.0已经经过了广泛的重新设计,以提高Web服务器的可靠性和可用性。
新的容错进程架构和其它功能特性可以帮助用户减少不必要的停机时间,并提高应用程序的可用性。
4.更加轻松的服务器管理借助IIS 6.0,Web基础结构的管理工作变得比以往更加轻松和灵活,从而为企业节约IT管理成本带来了新的机遇。
5.服务器合并和先前版本相比,IIS 6.0的性能已经得到了极大的提高,现在,单台服务器即可托管更多的站点和应用程序。
6.Faster Application Development通过提供一组全面完善的集成化应用程序服务和领先于业界的工具,Windows Server 2003应用程序环境大大改善了开发人员的工作效率和生产力。
尽管IIS6.0的推出已有一些时日,相信许多网民使用它管理各类网站已经烂熟于心,不过IIS6.0就像Windows操作系统一样深不见底,要是用力挖掘的话,还是能发现很多新应用技巧的,或许下面提供的几则管理网站的新技巧你并不熟悉。
尽管IIS6.0的推出已有一些时日,相信许多网民使用它管理各类网站已经烂熟于心,不过IIS6.0就像Windows操作系统一样深不见底,要是用力挖掘的话,还是能发现很多新应用技巧的,或许下面提供的几则管理网站的新技巧你并不熟悉。
1、阻止网站耗费太多内存资源使用IIS6.0管理网站时,常常会遇到网站运行一段时间之后,系统的内存资源占用率往往达到90%左右的情形;在这种情形下继续访问网站时,会明显感觉到网站页面打开速度太慢。
为了有效避免这种现象的发生,我们可以巧妙地对IIS6.0中的应用程序池进行设置,让其定时回收不工作的进程,同时有效限制网站最大可以使用的内存数目,确保服务器始终能够稳定地运行。
下面就是具体的设置步骤:依次单击“开始”/“设置”/“控制面板”命令,在打开的控制面板窗口中,双击“管理工具”图标,接着再双击“Internet信息服务管理器”图标,打开IIS6.0的控制台窗口;用鼠标展开本地计算机下面的“应用程序池”选项,然后右击该选项下面的“DefaultAppPool”,再执行右键菜单中的“属性”命令,在其后弹出的属性设置界面中,单击“回收”标签,进入到如图1所示的标签页面。
选中该页面中的“回收工作进程(分钟)”选项,同时在该选项右侧的文本框中输入合适的数值,来指定多长时间不活动的工作进程可以被IIS6.0自动回收;图1接下来再将“回收工作进程(请求数目)”选项选中,同时在该选项右侧的文本框中输入合适的数值,来指定多少数目的请求可以回收工作进程。
由于回收工作进程也需要耗费一定的系统资源,因此为了避开网站访问高峰期,我们还可以选中“在下列时间回收工作进程”这个选项,并单击“添加”按钮,来添加一个合适的回收时间,例如我们可以将回收时间设置在午夜1点钟左右;紧接着在“内存回收”设置项处,我们可以选中“最大使用的内存”选项,同时在该选项右侧的文本框中输入合适的数值,来限制网站最大只能使用多大的系统内存。
IIS6.0的网站管理和配置1、IIS6.0的网站管理和配置1)设置主目录与默认文件2)添加default.html文件2、IIS6.0网站的目录管理1)实际目录实例演练2)虚拟目录实例演练3、网站的安全性1)启动与停用动态属性2)验证用户的身份4、远程管理网站1)IIS管理(对远程计算机中的web服务器进行管理)3)远程管理(HTML)(对远程服务器进行管理)2)终端管理(对远程计算机进行管理)4)远程桌面WEB连接(对远程计算机进行管理)5、Windows7下发布网站6、Windows2008下发布网站1、IIS6.0的网站管理和配置1)设置主目录与默认文件物理目录虚拟目录添加默认文件2)添加default.html文件2、IIS6.0网站的目录管理1)实际目录实例演练(1)把自做的网站放到物理目录下“C:Inetpubwwwroot”(2)设置网站缺省被访问的文件(3)访问网站2)虚拟目录实例演练3、网站的安全性1)启动与停用动态属性(1)启动网站的动态属性(2)停用动态属性2)验证用户的身份(1)打开网站属性(2)选中选项卡“目录安全性”(2)在选项卡“目录安全性”,选择“身份验证和访问控制”中的“编辑”按钮。
(3)去掉匿名访问(4)访问网站4、远程管理网站1)IIS管理管理非本地计算机的IIS(1)在本地计算机IIS里,选择“连接”(2)输入您要被管理的计算机的信息2)终端管理(1)安装终端服务器(2)使用终端服务远程管理服务器(3)打开“远程桌面连接”界面(4)输入远程计算机的用户名和密码,打开远程计算机3)远程管理(HTML)(1)安装远程管理(HTML)组件(2)使用浏览器管理远程计算机4)远程桌面WEB连接(1)开始—〉控制面板—〉添加删除程序—〉添加删除windows组件—〉应用程序服务器—〉Internet信息服务(IIS)--〉万维网服务—〉选中“远程桌面web 连接”,然后对其安装。
彻底掌握IIS6.0功能及应⽤详解图⽂教程⼀关于IIS 6.0的故事⼀⾔难尽,如果你已经在IIS技术上有所投资,IIS 6.0⽆疑是⼀个动⼈的、⾮听不可的话题。
鉴于IIS 6.0和以前版本的差别实在太⼤了,只⽤⼀篇⽂章很难做到⾯⾯俱到,所以本⽂⾸先探讨IIS 6.0的安装、体系结构以及由于体系结构⽅⾯的差异带来的全新服务功能,下⼀篇⽂章接着介绍IIS 6.0的新特性——其中有些你可能还没有听说过,另外还有默认配置⽅⾯的⼀些重要变化,这些变化可能会影响到你的迁移计划。
⼀、安装⼀、安装IIS 6.0 ⾸先从最基本的说起吧。
IIS 6.0包含在Windows Server 2003服务器的四种版本之中:数据中⼼版,企业版,标准版,Web版。
另外,顺便再回答⼀个最常见的IIS 6.0问题:IIS 6.0不能在Windows XP、2000或NT上运⾏。
安装好Windows 2003之后,马上就可以看到Windows 2003/IIS 6.0的与众不同之处,其中⼀个关键的变化是,除了Windows 2003 Web版之外,Windows 2003的其余版本默认不再安装IIS。
按照微软过去的理念,安装操作系统的同时IIS也⾃动启动,为许多Web应⽤提供服务,Windows 2003的做法可谓⼀⼤突破。
在Windows 2003中,安装IIS有三种途径:利⽤“管理您的服务器”向导,利⽤控制⾯板“添加或删除程序”的“添加/删除Windows组件”功能,或者执⾏⽆⼈值守安装。
第⼀次启动Windows 2003系统时,“管理您的服务器”向导⾃动启动,如图⼀所⽰。
图⼀ 选择“添加或删除”⾓⾊,在“配置服务器”向导中可以看到⼀系列可配置的服务器⾓⾊,其中就有“应⽤程序服务器(IIS,)”选项,如图⼆,选中该选项之后点击“下⼀步”,向导提供了是否安装和Microsoft FrontPage服务器扩展的选项。
可以看到,微软在这⾥采⽤了⼀种新型的“安装任何部件之前总是征求⽤户意见”的IIS安装策略,对于微软来说,这是⼀个彻底的转变,证明微软确实在认真对待安全问题。
IIS6.0详细安装图解
开始→设置→控制面板→添加或删除程序→添加删除程序找到应用程序服务器(w2000直接是internet信息服务iis)
双击应用程序服务器弹出如下对话框
在双击internet信息服务(iis)、勾选万维网服务、单击确定,确定完成后单击下一步
在安装过程中出现了如下对话框
这代表操作系统无法找到可用的iis6.0安装包、因为我没有把光盘放入光驱中所以找不到、我们用现有的iis6.0安装包进行安装就可以了、请看下面的操作步骤
首先把iis6.0.rar解压到文件夹当中、如果没有iis6.0可以插入光盘或者到网上下载iis6.0安装包、解压到文件夹当中以后我们点浏览、找到iis6.0 文件夹根据提示的文件、我们选择该文件并打开即可、这个过程可能会持续2-3次、我们按照操作步骤走就可以了。
选择好以后点确定进行安装
持续添加好文件以后就会一直安装着走,下面是安装好的界面
这是最完整的操作界面。
Server 2003 ----Internet Information Services 6.0 实习简介Microsoft Internet Information Services 6.0 针对企业、IT、ASP、ISV、Hosting、.COM以及一般组织等环境需求,作了重大的架构修改。
新加强的部分包括了更佳的Web服务器管理功能、更快的效能、更好的可靠性以及更紧密的安全性。
本实作练习使用IIS 6.0 Process Model Architecture、 IIS 命令列工具以及Windows Management Instrumentation (WMI) 来示范IIS 6.0所支持的一些关于可靠性和便于管理的新功能。
本实作练习分为2单元:•单元1: IIS 6.0 Process Architecture在本单元中,您将学习到Process Recycling。
另外,您也可以浏览使用者程序以及应用程序共享(Application Pooling)。
这个单元包含了介绍与练习。
•单元 2: IIS 6.0 设定与管理在本单元中,您将学习到编辑Web 服务器设定数据库 (Metabase)并使用 WMI及命令列工具管理IIS 6.0 服务器。
这个单元包含了介绍与练习。
预估本实作练习完成所需时间:45分钟目标完成本实作练习之后,您应该可以:示范程序复原(Process Recovery)设定Process Recycling在IIS执行时,同时编辑Web 服务器设定数据库 (Metabase)使用 WMI 建立虚拟目录(Virtual Directory)使用IISBACK 还原Web 服务器设定数据库 (Metabase)设定使用ISAPI Extensions 以及 ISAPI Filters 保护IIS服务器安全单元1:IIS 6.0 Process Architecture练习练习1:示范程序复原(Process Recovery) – Access Violation在本练习中您将示范IIS 6.0程序复原,您将利用一个ISAPI extension引发 access violation ,这会造成系统回收工作者处理序(worker process)中的资源。
IIS应用程序池自动回收问题的有效解决方法IIS能够设置按时自动回收,默许回收是1740分钟,也确实是29小时。
IIS自动回收相当于效劳器IIS重启,应用程序池内存清空,所有数据被清除,相当于IIS重启,在气宇快速开发平台效劳器端,为了减小数据库负担,内存中暂存了很多信息,不适合频繁的回收,因为回收会造成效劳器端所有存在内存中的数据丢失,若是没有及时保留到数据库中,可能致使程序显现问题。
而若是系统利用顶峰时期,并非适合回收,回收可能致使几十秒IIS无响应,关于正在工作的人员来讲,是一种很不行的体验,会以为是网络或掉线等问题。
因此,基于以上的分析,咱们需要设置IIS在指定的时刻内按时回收。
气宇快速开发平台(以下简称:气宇平台)效劳端搭建采纳Webservice 方式进行,这就需要正确的配置IIS(Internet Information Service)才能保证效劳端靠得住、稳固的运行,以给客户提供更好的用户体验。
IIS为爱惜效劳器资源,有一个应用程序池的回收功能,而且已经默许设置1740分钟回收一次(29小时),为了更好的设置该属性,咱们有必要对IIS回收功能设置进行把握,并依照应用的实际情形配合调整,以达到系统运行的最正确成效。
IIS应用程序池回收,找到相应的应用程序池并点击高级设置,就能够够看到回收的相关设置(本文以windows2020R2下的IIS7为例,Windows2021类似)。
(图1)发生配置更改时禁止回收:若是为True,应用程序池在发生配置更改时将可不能回收。
固按时刻距离(分钟):超过设置的时刻后,应用程序池回收,为0意味着应用程序池可不能按固定距离回收。
系统默许设置的时刻是1740(29小时)。
禁用重叠回收:若是为true,将发生应用程序池回收,以便在创建另一个工作进程之前退显现有工作进程。
请求限制:应用程序池在回收之前能够处置的最大请求数。
若是值为0,那么表示应用程序池能够处置的请求数没有限制。
IIS6.0架构十分详细的讲解了iis的运行1.概述为了提高IIS的可靠性,安全性以及可用性,与IIS5.0和以前更早的版本不同,IIS6.0提供了一个全新的IIS架构。
这个架构的详细情况如下图所示:(图 1) IIS 6.0整体架构由上可以看出,IIS6.0的内核体系主要由如下三个组件构成:HTTP.SYS,W3SVC以及W3Core。
作为一个全新的架构,IIS6.0有如下让人值得关注的新特点:➢HTTP.SYS。
全新的内核监听模式。
➢IIS6.0新的应用程序隔离模式-工作进程隔离模式。
➢应用程序池。
➢工作进程。
➢Web管理服务(W3SVC)。
作为一个平台,IIS上面运行着很多web应用程序,并且提供了一系列的相关服务。
在系统启动阶段,IIS以及IIS所包含的服务的启动过程如下图所示:HTTP.SYS的内部组成结构图如下图:(图 3)HTTP.SYS的内部结构2.2.HTTP.SYS的可靠性作为在内核模式下运行的操作系统的驱动程序,HTTP.SYS拥有高度的可靠性和稳定性。
它始终处于运行状态,能够对用户的http请求作出快速的响应。
在内核模式下,HTTP.SYS不执行任何用户代码,它只是监听用户的http 请求。
这些http请求中包含了IIS上运行的web站点所使用的IP地址和端口。
因为在HTTP.SYS中不运行任何的用户代码,所以即使用户的web应用程序发生了故障,也不会影响到HTTP.SYS本身,它仍然能够对用户的http请求进行监听,并及时作出反应。
在IIS 5.0或以前更早的版本中,对用户的http请求进行监听的功能是集成在Inetinfo.exe进程之中的。
同时,有一部分用户代码也是运行在Inetinfo.exe进程之中的。
在这种情况下,如果用户代码不稳定,或者由于其他原因导致了用户代码的崩溃,那么Inetinfo.exe也会崩溃,这就导致了IIS的不稳定性。
在IIS 6.0 中,引入了HTTP.SYS模块,它运行在内核模式下,与Inetinfo.exe进程隔离开来,作为操作系统的驱动程序运行。
如何在IIS里设置内存回收
如何在IIS里设置内存回收:
由于.net对内存的特殊管理机制,导致有时内存回收不及时,这时就需要我们在IIS里人工设置下内存回收。
1、首先我们要给系统单独一个应用程序池
点击右键-新建应用程序池AppPool #1,默认确定即可。
然后在
右键-属性
这两项打上√,然后根据你的服务器内存大小,来设置后面的数值,这样就完成了内存回收的设置。
2、然后在IIS网站中
选择你的网站,如huaruib2b-右键-属性-主目录
在应用程序池-这里选你刚开始建的AppPool #1应用程序池即可。
应用程序池'DefaultAppPool' 提供服务的进程关闭时间超过了限制服务器经常产生“应用程序池'DefaultAppPool' 提供服务的进程关闭时间超过了限制。
进程ID 是'2068'。
”的错误,导致iis处于假死状态,经了解是IIS应用程序池的设置问题。
解决方法如下:Internet 信息服务(IIS)管理器->应用程序池->DefaultAppPool->右击属性一、回收1、回收工作进程(分钟):选中,值为17402、回收工作进程(请求数目):不选(原先设置为35000)3、在下列时间回收工作进程:不填4、消耗太多内存时回收工作进程:全不选。
(2、3、4项可能避免了在访问量高的时候强制回收进程可能引发的服务器响应问题,导致iis假死不响应)二、性能只选中空闲超时20分钟。
其他都不选。
WEB园最大工作进程数为1(默认)。
注意web 园这里一定要保持默认,如果填写其他超过1的数字就会导致一些网站程序的后台程序打不开或者刷新不停。
原来的请求队列限制为4000,现在无限制。
三、运行状况前两项都起用,是原来的默认设置。
启动时间限制90秒,关闭时间限制180秒。
启动快速失败保护的钩去掉!为了避免真的遇到很多错误时没有提示,可以不关闭,只是把快速保护的保护范围加大些,例如失败数50次时间段5分钟则关闭对应的程序。
“关闭时间限制180秒”是必须的,因为进程关闭的时间,原来为90秒限制,是默认值,如果进程关闭时间超过90秒,则认为超时,从而出现:进程关闭时间超过了限制日志,所以,适当延长这个时间,可以避免这种错误第2种方法:原因:独立进程的内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理解决方法:1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC2. 在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS 第3种问题已解决,发现是数据库连接无法释放,不知道是什么原因,同样的代码在本地就是好的,在服务器端就有问题,最后在连接串里加入以下语句解决问题.Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30第4种新建应用程序池,不同的网站引用不同程序池。
iis6.0应用程序池回收和工作进程(转)-我的大房子-博客园公司的一个网站程序长时间运行后,速度变慢,重新启动网站后速度明显变快,估计是网站程序占用的内存和CPU 资源没能及时释放,才需要每隔一段时间重启网站释放资源。
但手工重启总不能算解决问题的方法,怎样才能实现自动管理呢?IIS6.0的应用程序池自动回收功能可以解决这一问题。
问题如下:1.网页上显示您试图在此Web 服务器上访问的Web 应用程序当前不可用。
请点击Web 浏览器中的“刷新”按钮重试您的请求。
管理员注意事项:详述此特定请求失败原因的错误信息可在Web 服务器的系统事件日志中找到。
请检查此日志项以查明导致该错误发生的原因。
2.windows事件查看器-应用程序LogThe state server has closed an expired TCP/IP connection. The IP address of the client is 127.0.0.1. The expired Read operation began at 05/21/2007 20:12:04.解决的方法很简单,把程序对应的IIS应用程序池回收一下就好了。
可是为什么会出现这个原因呢?还有为什么回收一下就好了呢?回收做了些什么?出现的原因在网上搜索了一翻,发现主要是一下几个问题,当然还有其他原因1).Framework的问题,例如1.0和2.0版本2)aspnet_wp.exe 问题3)安全更新程序(KB886903)可惜我们服务器出现的问题都不是以上几点引起的,经过我的分析认为是写的很烂很烂的程序占用了大量的资源最后导致内存泄漏,导致IIS的进程当掉了。
可惜了程序我是没办法改,都是别人写的,也不会改。
不过我不可能每次出现这个问题就登陆到远程服务器上去回收一次吧,所以只有让他自动回收了。
自动回收有好几种方式,也不知道那一种比较适合,而且回收工作进程是会把保存在内存里的Session清空,造成用户需要重新登陆的问题,所以自动回收要越少越好,以保证不会因为其中的一个用户使用了那个很烂的程式导致其他的用户都要重新登陆。
如果用了状态服务器或者是把Session保存到了数据库中去的程序自动回收后肯定是没有任何影响的,请求也不会中断还是一样继续运行,只是换了个工作进程继续为客户端工作,客户端是感觉不到的,当初没有为了方便没有把Session 保存到数据库真是失策!根据运行时间系统默认是1740分钟,也就是29个小时,这个不是很好控制,建议不用,也就是去掉那个勾。
请求数目这个要看具体的情况了。
如果只有10个请求,可是有5个都在请求那个比较占资源的页面(可能是统计年度报表之类),这个时候就会出现进程当掉的情况,如果请求有1000个可是一个也没运行比较占资源的页面,这个时候进程肯定是很正常的,所以根据请求的数目来决定也不符合实际需要。
计划的时间这个其实很好,不过具体什么时间回收好呢?通常我们都是设置上班前和下班后回收,这个时候回收是有必要的,不过针对出现随时可能出现是高内存占用并不是很适用。
内存(虚拟内存或已使用的内存)这个针对出现内存问题引起的进程当掉实在太合适了,不过设置多大的值比较好是一个很重要的问题,我是根据每次出现问题时进程是实际占用情况决定的。
我们的服务器内存是2G,通常其他的一些服务会占用掉600多M,我发现有每次进程都是到1G多的时候当掉,所以设置了最大使用内存为1000M的时候自动回收,设置后一直都没出现问题了。
要查看进程的占用直接用windows任务管理器就好,值不能太小了,否则如果访问量都很大超过这个值的时候也会自动回收,这个就很没必要了。
一定要多多观察进程的实际占用情况再做决定。
在IIS的配置文件里面如果配置了IIsApplicationPools节点的LogEventOnRecycle属性,每次回收的时候IIS的日志文件会根据LogEventOnRecycle属性的值纪录下相关的信息,也个也是设置自动回收时的一个重要参考,不过由于这个日志文件只能看几个小时以前的纪录,当前的纪录要几个小时后才写进去,所以看起来不方便,郁闷!现在暂时根据最大占用内存自动收回以前的问题是解决了,暂时也发现什么新问题了,也不知道其他地方都是怎么设置的,是不是还有更好的方法呢?希望到了这篇文章的人能提点宝贵意见,大家一起交流一下经验。
IIS的配置文件在windows的安装目录下(C:\WINDOWS\system32\inetsrv\MetaBase.xml),直接修改配置文件需要停止IIS服务,修改前记得备份。
部分配置信息,写的好玩的<IIsApplicationPool Location="/LM/W3SVC/AppPools/DefaultAppPool"AppPoolAutoStart="TRUE"PeriodicRestartMemory="2000" //最大虚拟内存MBPeriodicRestartPrivateMemory="1000" //最大占用内存MBPeriodicRestartRequests="1000" //请求数PeriodicRestartSchedule="07:50 //自动回收时间12:0020:00"></IIsApplicationPool>以下是摘录IIS自带的帮助。
工作进程回收如何工作根据应用程序池回收的配置方式,万维网发布服务(WWW 服务)可以使用两种方法来回收已分配的工作进程:默认情况下,WWW 服务建立“重叠回收”,即继续运行要终止的工作进程,直到启动新的工作进程后为止。
或者,WWW 服务可以终止一个工作进程,然后启动一个新的工作进程(如果工作负荷允许执行此操作的话)。
注意当WWW 服务回收某个工作进程时,它并不断开现有的TCP/IP 连接。
HTTP 协议堆栈(HTTP.sys) 建立并维护TCP/IP 连接。
在重叠回收方案中,要回收的进程继续处理请求,同时WWW 服务创建一个替代工作进程。
在停止旧工作进程之前启动新的工作进程,然后将请求定向到新的进程。
此设计可以防止服务中断,因为旧进程关闭前仍然保持与HTTP.sys 的通信以处理请求。
因为可重叠关闭或启动的关闭超时值是可以配置的,所以在工作进程仍在处理请求的同时可以终止该进程(如果它在时间限制内没有处理完请求的话)。
在配置应用程序池以基于运行时间来回收工作进程时,可以在设置的运行时间内回收所有的工作进程,但不能同时回收所有这些工作进程。
可以在设置的时间内的不同时段进行回收应用程序,以减少客户端请求服务的中断次数。
类似地,在配置应用程序池以基于处理请求的数目来回收应用程序时,可以每隔一段时间回收一次以分担与工作进程回收有关的系统开销。
何时使用工作进程回收在决定是否启动工作进程回收时,应考虑以下常规指南。
最佳的解决方案是修复引起故障的应用程序。
但是,并非总能使用重新编码,尤其是运行的其他应用程序代码无法修改时。
在以下情况下考虑使用回收:无法修复Web 服务器上您所主控的有故障的应用程序。
遇到不能确定的或间断性的故障。
您怀疑应用程序由于性能监视的原因而泄漏内存。
先前已实施了临时性的重置解决方案,例如,计划执行IISReset 命令行实用工具。
在以下情况下,可能根本不需要使用回收:您所主控的网站只包含静态内容,并且不包含自定义Internet 服务器API (ISAPI) 应用程序。
您所主控的应用程序已经过完全测试,并且不会出现内存或资源分配问题。
要有效地使用回收,请仔细检查回收所依据的标准(如下表中所示)。
回收依据的条件描述使用时间ISAPI 请求根据应用程序池中ISAPI 的请求回收工作进程。
ISAPI 扩展可以将其自身声明为运行状况差。
运行时间根据用户指定的时间(分钟)回收工作进程。
存在故障的应用程序的运行时间过长。
请求数目当超文本传输协议(HTTP) 请求超出某个特定阈值时回收工作进程。
根据应用程序接收到的请求数目,应用程序出现故障。
计划的时间在24 小时内的指定时间进行回收。
条件与运行时间的条件类似。
虚拟内存(保留的内存加上已使用的内存)当工作进程虚拟内存达到某个特定阈值时回收该工作进程。
内存堆栈碎片过多(这是由于应用程序保留多次内存造成的)。
症状是虚拟内存持续增加。
已使用的内存当W3wp.exe 进程使用的内存达到某个特定阈值时回收工作进程。
某些应用程序出现内存泄漏。
根据需要当IIS 管理员可以使用Microsoft® 管理控制台(MMC) 或脚本控制整个应用程序池的回收时开始回收。
在其他站点启动并运行时,有一个引起故障的应用程序池。
请考虑回收该应用程序,而无需重置整个WWW 服务。
应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。
因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产生的问题的影响。
为Web程序配置应用程序池需要以下步骤:1)创建应用程序池,右键单击“应用程序池”,“新建/应用程序池”,命名为KefuAppPool;2)为Web程序指定应用程序池,在网站虚拟目录属性“应用程序设置”里面的“应用程序池(N)”里选择KefuAppPool;3)应用程序池自动回收方式的设置。
回收方式有如下几种:a.根据运行时间系统默认是1740分钟,也就是29个小时,这个不是很好控制,建议不用。
在命令提示符下运行iisapp -a,可以查看w3wp.exe和哪个应用程序池关联。
1)在任务管理器中增加显示pid字段;2)在命令提示符下运行iisapp -a。
注意,第一次运行,会提示没有js支持,点击确定。
然后再次运行就可以了。
这样就可以看到pid对应的应用程序池。
如上图左侧所示,应用程序池KefuAppPool和PID=3232的w3wp.exe相关联,应用程序池ReportServer和PID=3572的w3wp.exe相关联. 下图显示了手动执行应用程序池KefuAppPool的回收,在回收前,回收中和回收后应用程序池和工作进程情况。
我们注意到:回收过程中增加了一个工作进程(PID=3896),该工作进程(PID=3896)启动好后,旧的工作进程(PID=5716)才被停止,新工作进程(PID=3896)正式替代旧进程工作,这就很好的防止了应用程序池回收过程中服务被中断,保证了程序的连续运行。