概述
这篇文章为如何在大容量的环境下优化IIS 4.0的安装提出了一般性的指导。本文是为那些熟悉Microsoft Windows NT 和Microsoft IIS的Web服务器系统管理员准备的。因为每个Web 站点都是独特的,Microsoft建议客户认真地策划、测试并监控他们的站点,使用Windows NT服务器以及现在市场上提供的各种标准套装软件。这样就可以确保在一个IIS 4.0 Web站点上配置的内容能够根据用途得到最优化。
调整的优化设置
一、通用的调节优化
1、将Windows NT服务器设置为AppServer
设 置 步 骤
在桌面上,右击网络邻居并选择属性。在服务标签上,双击服务器服务。要确保网络应用程序是选中的。
作用原理
IIS 4.0 的规模增长了,在 文件服务器的设置下页面出错也增加了。AppServer设置指示Windows NT更大幅度地整理文件缓冲器。
2、安装hotfix并且取消不相关的脚本映射
设置方法
从the ftp site download下载并运行hotfix功能。你需要选择适当的平台(Intel或 Alpha)。 用Microsoft管理控制台,在 IIS snap-in下航行到Web 站点(虚拟服务器)。右击默认的Web 站点和/或有你的内容 存在的任何其它Web 站点,并且选择 属性。选择Home Directory property,在应用程序设置区点击配置按钮。将不使用的映射都去掉,但是留下至少一个映射(服务器要求至少要有一个映射)。Microsoft建议如果没有其它映射在使用的话,就保留.ASP扩展名。
作用原理
为了使用户更容易升级到IIS 4.0,IIS 4.0查看每个文件的扩展名,甚至在只读目录(一个取消了脚本的 目录)中也要检查。这个额外的负载是可以消除的。按照设计方案, 服务器要求至少有一个脚本映射,所以要保留ASP映射。
3、为了大容量站点或基准测试,要将性能条设置为100,000以上
设置方法
用Microsoft管理控制台,在IIS snap-in下航行到Web 站点(虚拟服务器)。右击默认的Web站点和/或有你的内容存在的任何其它Web站点,并且选择属性。选择性能页,将滑动条一直向右移动,直到100,000 以上。
作用原理
这样控制了IIS可用的资源量。因为IIS可以承担繁重的使用,这对于大多数基准是共同的,因此IIS可以保留目前没有使用的额外资源。注意:这个设置只用于大容量的站点。对于小容量站点,这个设置应该变为最小。
4、为将来的应用程序关闭性能推进
设置方法
打开控制面板,双击系统图标,选择性能属性页。将应用程序性能滑动条移到None。
作用原理
因为大容量的站点通常都建立在专用的Web服务器上,所以向Web服务器提供最大限度的系统资源 很重要。这个设置将Web 服务器程序可用的CPU周期数最大化了。
二、日志调节优化
1、不需要时关闭日志
设置方法
用Microsoft管理控制台,在IIS snap-in下航行到Web站点(虚拟服务器)。右击默认的Web 站点 和/或有你的内容存在的任何其它Web站点,并且选择属性。从站点属性页,取消对日志的激活。 点击OK
作用原理
这样就释放了一些系统资源,有助于提高性能。
2、如果日志被激活,就将日志写到一个带有允许写回缓冲器的控制器的条形区域,特别是当日志磁盘上 的使用比较频繁的情况
设置方法
用Microsoft 管理控制台,在IIS snap-in下航行到Web 站点(虚拟服务器)。右击默认的Web 站点 和/或有你的内容存在的任何其它Web 站点,并且选择属性。选择Web 站点属性页,在日志区点击 属性按钮,要确保路径是引导到一个条形区域的。
作用原理
对繁忙的站点来说,日志磁盘会成为一个瓶颈,因为这是一个争夺的焦点。服务器上的所有请求 都要争夺一个同样的文件。
三、网络调节参数
1、将网络接口卡(NIC)的接收缓存设置成最大值。如果这是一个受控制的环境或为了基准测试的目的,就要在服务器上和客户机上都设置
设置方法
阅读你的NIC文档的详细内容。在网络控制面板下,这个参数通常都是用NIC的属性设置的。
作用原理
在接收端丢失信息包会导致TCP的重新发送。这样使接收端的丢失的信息包数降到最小,因此可以提高 性能。
2、在注册文件中设置TCP参数
设置方法
用Regedt32, 航行至HKLM\ CurrentControlSet\ Services
\TCPIP Parameters。如果那里没有 MaxUserPort 的值,就将其加上,并设置为0xfffe。如果没有TcpWindowSize的值,就将其加上,并设置为0x4470。
作用原理
我们并不想把用户端口用完。并且,一个较大的窗口空间对于高速网络工作更好(当窗口填满时 TCP就会停止)。
四、SMP调节参数
1、活跃IIS线路的控制数
设置方法
在Windows NT性能监控中的系统下,监控处理器排队深度对象,看看是否活跃线路过多。如果在系统中有N个处理器,那么排队深度介于N到3N之间是最好的。如果你不能确定的话,就保留默认值。对于静态的工作量,可以将MaxPoolThreads设置为1,将PoolThreadLimit设置为系统中的处理器数。(这些值是用regedt32.exe在Windows NT 的注册文件中设置的。设置这些参数的细节请看下一部分)。
作用原理
为了使引入的请求不被堵塞,系统中要有足够的线路。但是每条线路都要使用系统资源,并潜在地 导致不必要的上下文转换。目的是在不导致额外的上下文转换的前提下将IIS使用的线路数最大化。 这样做能够在对称多处理器(SMP) 硬件上保证更好的性能。
五、静态工作量的优化
1、将对象缓存时间设置为Live (TTL)默认值为30秒
设置方法
使用Regedt32, 航行到HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\Services\InetInfo\Parameters。如果没有ObjectCacheTTL的值,就增加它。将其设置为需要的值。如果你不能确定 要求IIS将一个未使用的文件保持在打开的状态多长时间,就保留ObjectCacheTTL 的默认值。
作用原理
这改变了缓冲器清道夫运行的频率。如果你的内容与内存相配合并大部分是静态的,就可以将清道夫 设置为0xffffffff来取消它。一个较高的ObjectCacheTTL 对于“流行”文件较少的站点是最好的。如果 频繁地被请求的文件数量较大,ObjectCacheTTL 高是没用的。将这一条目设高就告诉IIS将未使用的 文件打开时间更长些。如果你希望这些文件在一个TTL的周期内被重复使用的话,这是有帮助的。如果 你不希望这些文件经常被重复使用,或者系统资源看起来较低的话,那么就使用一个低的ObjectCacheTTL 来保存资源。还可以使用OpenFilesInCache 来限制IIS保持打开状态的文件数。
2、将OpenFileInCache 设置为足够大的值以缓存所有打开的句柄。默认值:对于每32MB的物理内存为1000 。
设置方法
用Regedt32, 航行至HKEY_LOCAL_MACHINE\System\CurrentControlSet
\Services\InetInfo\Parameters。 如果没有的话,就增加OpenFileInCache的值。将其设置成需要的值。这个值的确定依赖于你希望被 IIS缓冲器所利用的内存数以及你希望缓存的文件句柄数。
作用原理
大的Web 站点为使性能最高,需要将更多的文件句柄保持在打开状态。如果你站点的内容是静态的,那么 将从RAM中而不是从磁盘上提供的文件数最大化能够极大地提高Web 服务器的性能。在Windows NT 性能 监控中的Internet Information Service Global下,你可以使用缓存的文件句柄计数器来监控缓存的 文件句柄的个数。
六、ASP性能的优化
1、将ProcessorThreadMax设置为一个低值。
设置方法
使用Using Regedt32, 航行到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Services\W3SVC\ ASP\ Parameters。如果没有的话,增加ProcessorThreadMax的值。减少这个值并对性能进行监控。如果发现性能降低,就返回到以前的值。
作用原理
改变了IIS分配给MTS的每个CPU的线路数。对于写得较好的脚本,这个个数越少越好。这样会降低争夺 的次数。
2、将ASPScriptEngineCacheMax属性设置为ProcessorThreadMax, 乘以系统中处理器的个数。默认值:30
设置方法
与Web站点、路径和页面有关的信息都存储在IIS配置数据库中(metabase)。IIS 4.0 包含了一些脚本, 让你在metabase中修改设置。从SystemRoot, 航行到/System32/ inetsrv/ adminisamples。将 adsutil.vbs. Set /w3svc/ ASPScriptEngineCacheMax键入 ProcessorThreadMax中,并乘以系统中处理器的个数。
作用原理
这就允许每个ASP线路缓存一个脚本引擎,结果是处理ASP页面的效率更高。
3、为ASP应用程序激活缓冲器
设置方法
用Microsoft管理控制台,在IIS snap-in下航行到Web 站点或ASP应用程序名空间。右击站点或应用程序 并选择属性。选择Home/Virtual Directory 页。在应用程序设置部分点击配置按钮。点击App选项属性页。 点击激活缓冲器选项。点击OK,然后再次点击OK。
作用原理
设置了这一选项就将ASP向浏览器的输出缓存起来。这样就允许服务器向客户机释放全部的响应,而不是 在服务器生成内容的同时释放
4、将Session的Timeout值最小化
设置方法
用Microsoft 管理控制台,在IIS snap-in下航行到Web 站点(虚拟服务器)。右击默认的Web 站点 和/或有你的内容存在的任何其它Web 站点,并且选择属性。选择Home Directory 属性页。在应用程 序设置部分点击配置按钮。点击App选项属性页。将Session 的Timeout 设置成你需要维持一个用户 session 状态的最小的时间值。
作用原理
在ASP中用Session对象来维持Session需要系统资源。想象一下,在任一给定时间,有1000个用户 与站点相连接。这就意味着服务器要分配资源来维持每个用户的session状态。服务器需要维持session状态的时间越长,占用资源的时间越长。因此,将Session的Timeout值最小化可以优化服务器资源并提高性能。 (DVOL本文转自:中国DV传媒 http://www.dvol.cn)