七彩知识堂[服务器租用|服务器产品知识]
IIS6核心组件IIS6工作原理
     1、IIS6服务
WWW服务:iisw3adm.dll宿主于svchost.exe,万维网发布服务。
FTP服务:ftpsvc.dll宿主于inetinfo.exe,文件传输协议服务。
SMTP服务:smtpsvc.dll宿主于inetinfo.exe,简单邮件传输协议服务。
NNTP服务:nntpsvc.dll宿主于inetinfo.exe,网络新闻传输协议服务。
IIS管理服务:iisadmin.dll宿主于inetinfo.exe,管理IIS配置数据库和注册表项目。
2、IIS6核心组件
http.sys:超文本传输协议 (HTTP) 侦听程序。
WWW服务管理和监视组件:管理任务和工作进程(w3wp.exe)。
w3wp.exe:处理请求以返回静态页面、调用 Internet 服务器 API (ISAPI) 扩展或筛选器或运行通用网关接口 (CGI) 处理程序。
inetinfo.exe:文件传输协议服务(FTP 服务)、简单邮件传输协议服务(SMTP 服务)、网络新闻传输协议服务(NNTP 服务)和 IIS 配置数据库。
3、IIS6工作原理(工作进程隔离模式)
请求到达 http.sys。
http.sys 确定请求是否有效。如果请求无效,它将向客户端返回一个无效的请求代码。
如果请求有效,http.sys 检查响应是否存在于其内核模式缓存中。
如果缓存中存在该响应,http.sys 会立即返回该响应。
如果没有缓存该响应,http.sys 将确定正确的请求队列,并将此请求放在队列中。
如果没有为队列指派工作进程,http.sys 将通知 WWW 服务启动一个工作进程。
工作进程将该请求从队列中取出并对其进行处理。
工作进程将响应返回给 http.sys。
http.sys 将响应返回给客户端并记录该请求。
4、IIS6优化选项
IIS 配置数据库设置 (c:\windows\System32\Inetsrv\MetaBase.xml)
AspRequestQueueMax:指定允许进入队列的并发 ASP 请求的最大数量(默认值为3000)。此设置的效果取决于应用程序的行为。如果请求的执行时间非常短,且在队列中的时间非常短,那么提高默认值的限度是合理的。
AspScriptEngineCacheMax:指定 ASP 页缓存在内存中的脚本引擎的最大数量(默认值为250)。根据应用程序中的内容的类型调整默认值。如果有成千上万的不同页,您会体验到提高缓存大小的一些好处:大多数频繁请求的页都可以轻松地访问到。脚本引擎缓存的好处意味着您可以无需将模板重新编译为字节代码。
AspScriptFileCacheSize:指定存储在 ASP 模板缓存中的预编译脚本文件的数量(默认值为500)。如果设置为 0,则不缓存任何脚本文件。如果设置为 -1,则缓存所有被请求的脚本文件。如果您有许多不同的 ASP 页,则可以增大默认值。不要将此属性的值设置为 0。如果值为 0,则会关闭所有 ASP 缓存,会严重影响服务器的性能。
AspProcessorThreadMax:指定 IIS 为每个处理器创建的工作线程的最大数量(默认值为25)。 IIS 所允许的每个 ASP 进程的工作线程的最大数量是该值 乘以服务器上处理器的数量。可以降低此值然后监视性能。如果性能降低,请恢复 AspProcessorThreadMax 原来的值。
注册表设置
MaxCachedFileSize:确定可以放在缓存中的文件的最大大小。IIS 不缓存大于 MaxCachedFileSize 字节的文件。如果您正在运行专用的大型 Web 服务器,您可能需要将此值添加到注册表中,以提高缓存中可以保存的文件大小。
注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters
数据类型:REG_DWORD
默认值:256 KB (262,144 bytes)
5、IIS6常见故障
连接错误
客户端请求收到 503 错误
检查错误事件日志以确定 503 错误是在 http.sys 中还是在万维网发布服务(WWW 服务)中检测到的。如果该错误是在 http.sys 中检测到的,则可能是由于队列中的请求太多,而导致 http.sys 超过其应用程序池队列长度限制。要解决此问题,请增加应用程序池队列长度限制。
更改应用程序池队列长度限制
在 IIS 管理器中,展开本地计算机,展开“应用程序池”文件夹,右键单击应用程序,然后单击“属性”。
单击“性能”选项卡。
在“请求队列限制”部分中,选中“核心请求队列限制为”复选框,然后键入队列请求的最大数量。
单击“确定”。
如果在 WWW 服务中检测到 503 错误,则问题可能是 IIS 已启动了快速失败保护,因为在给定一段时间内为应用程序池分配的许多工作进程都处于不正常的运行状态。要解决此问题,请增加启动快速失败保护前出现的故障数量或时间。您应该测试应用程序是否存在内存泄漏或者其他使工作进程处于不正常状态的问题。
配置快速失败保护
在 IIS 管理器中,展开本地计算机,展开“应用程序池”,右键单击该应用程序池,然后单击“属性”。
单击“运行状况”选项卡。
在“失败数”框中,键入在禁用工作进程之前要检测的工作进程失败数量。
在“时间段”框中,键入累积失败总数的时间长短(分钟)。
单击“确定”。
 
经典短信推荐
资讯中心 | 电子商务 | 搜索营销 | 设计学院 | 中医养生 | 养生保健 | 节日祝福 | 民俗文化 | 奇闻趣事
建站知识 | 人世百态 | 网站导航 | 传统节日 | 搜索热点 | 星座运势 | 趣闻轶事 | 祝福的话 | 短信大全
© 2023 QicaiSpace.Com