IIS用了很长时间,但是要把它用好确实不容易。以下是我摘的一段关于IIS优化的文章,希望大家共同学习,更希望大家的补充。
为什么我的IIS比你棒(原作者:叶孤城)
管理互联网信息服务器(Internet Information Server,IIS)的人们都知道,IIS是一个既简单又麻烦的家伙。简单的是安装它几乎不需要费什么脑筋,选择一下路径,然后一路按“下一步”就可以完成;配置也比较简单,只要有一定的NT和网络知识,照着说明书就可以架设一个像模像样的Web站点出来。然而管理IIS却没有想像的那样简单。使用一段时间以后,管理员往往会遇上服务器性能不良的情况。这时候,IIS的性能优化,就提上日程了。
导致IIS服务性能不良的原因有两个方面。一个是人为的,也就是说管理员在安装、配置IIS的时候没有进行优化或者配置错误。另一个则是客观上的,随着运行的服务种类,以及访问人数的增加,服务器原有的硬件配置已不能满足要求了,这就需要提高硬件配置。
在服务器配置上优化IIS性能
1.IIS高速缓存是对IIS进行优化时要考虑的最重要的项目之一。服务器保留了一部分内存空间用作IIS高速缓存,为将来的请求存储对象,这样IIS就可从高速缓存中检索对象而不用从硬盘中检索。 调整IIS高速缓存的容量需要修改注册表,表项如下:
\HKEY_LOCAL_MACHINE
\System
\CurrentControlSet
\Services
\InetInfo
\Parameters
\MemoryCacheSize
MemoryCacheSize的范围是从0道4GB,缺省值为3072000(3MB)。
IIS通过高速缓存系统句柄、目录列表以及其他常用数据的值来提高系统的性能。这个参数指明了分配给高速缓存的内存大小。如果该值为0,那就意味着“不进行任何高速缓存”。在这种情况下系统的性能可能会降低。如果你的服务器网络通讯繁忙,并且有足够的内存空间,可以考虑增大该值。必须注意的是修改注册表后,需要重新启动才能使新值生效。
2.使IIS使用处理器时间最长。服务器的CPU处理器能力总是有限的。哪一个应用程序占用处理器的时间最长,谁的性能就能得到最大的提高。
(1)在NT的控制面板中,双击系统图标。
(2)单击性能标签。
(3)在应用程序性能下将游标拖到None的位置,这样就可以使所有正在运行的服务,包括IIS,使用处理器的时间达到最大值。
3.服务器属性设置。在服务器属性里有一项可以使网络应用程序的总处理能力最大的选项,你当然应该选择它。
(1)在桌面上右键单击网络邻居图标,然后选择属性选项。
(2)单击“服务标签”。
(3)单击“服务器”,然后按“属性”。
(4)选择最大化网络应用程序的总处理能力。然后单击“OK。”
提高硬件配置来优化IIS性能
当进行了上述的优化配置,IIS的性能仍然没有什么明显改善的话,也许你应该考虑提高服务器配置了。然而事关银子问题,老板们一定不会轻易同意,除非你用事实说服他。你必须在首先提高什么硬件配置上面考虑清楚。以下是在进行IIS优化时需要考虑的有关硬件:
处理器:可以升级为速度更快的CPU,还可以再增加一个CPU。但是代价太高了(也许会换主板什么的),老板很难接受。
硬盘:硬盘空间被NT和IIS服务以如下两种方式使用:一种是简单地存储数据;另一种是作为虚拟内存使用。如果使用Ultra2的SCSI硬盘,可以显著提高IIS的性能。
网络接口卡:如果服务器是在企业内部网上运行,那么可以考虑将他的网卡升级为100M网卡。这在网络带宽是瓶颈的情况下特别有效。
内存:增加内存可能是升级系统最简单、最有效的方法。也是笔者推荐的硬件升级首选方案。 那么如何知道需要进行硬件上的升级呢?这就和性能监视器的使用有关了。笔者会在其他文章中描述。在这里作简要介绍:比如你可以利用性能监视器来跟踪服务器上的CPU使用程度。并可以查看由内存调换到硬盘中的页面的数目和频率。将这些信息与内存使用情况以及其他系统信息相结合,就可以得到一张系统性能报告表。如果这些信息一直表现出很高的使用率,那么就说明应该升级硬件设备了。
优化IIS的注意事项
为了避免以后的头疼,在安装IIS之时就应该注意到IIS的优化。比如:
1.为了提高性能和节约资源,应该只运行需要的协议。这一点很多管理员都没有注意,笔者曾见到在一台只作Web服务的机器上同时安装有NetBEUI、Tcp/IP和IPX协议。显然这是不合理的。
2.应该将IIS服务器,设置为独立的服务器,不要让服务器去承受域控制器要求的额外负荷。试想:服务器一边在响应用户的登录,一边还要提供IIS服务,性能能不下降吗?
3.可以把NT服务器的页交换文件分布到多个物理磁盘上,注意是多个“物理磁盘”,分布在多个分区上是无效的。另外,不要将页交换文件放在与WIndows NT引导区相同的分区中。
4.使用磁盘镜像或磁盘带区集可以提高磁盘的读取性能。
5.关于日志的记录,应该采用文件记录而不是记录到ODBC数据源。此外,还可以在记录期间增加用来记录日志的内存缓冲区的容量来减少磁盘的活动。该缓冲区的缺省容量值为64KB。
6.最好把所有的数据都储存在一个单独的分区里。然后定期运行磁盘碎片整理程序以保证在存储Web服务器数据的分区中没有碎片。使用NTFS有助于减少碎片。笔者推荐使用Norton的Speeddisk,可以很快地整理NTFS分区。
7.虽然SSL可以提供相当可靠的加密传输。但是所需的额外开销会导致IIS服务器速度下降,尤其是在处理大型文件的时候。所以应该只对确实需要保护的目录进行SSL加密。
---------------------------------------------------------------
我对IIS不是很熟,不过我找到一些这方面的资料。贴上来看看。
在安装Windows2000的时候,如果你选择了安装IIS,那么在安装的时候系统将会你的%SystemDrive%里创建一个InetPub目录,而且还会在Inetpub目录下创建一个Scripts目录,IIS还会创建一个虚拟目录SCIPTS指向该目录,并且给这个目录执行权限。前段时间NSFocus安全小组研究发现的“Unicode解码目录遍历漏洞”大部分问题就是针对Web站点的可执行目录而言的,所以我们建议把该目录移到非系统盘在一定程度上可以保证一定的安全。
然而在我们选择安装系统组件的时候,无法自己定义IIS的安装盘符,所以才有了今天的这篇文章。
我们在安装系统的时候不选择安装IIS,等系统安装完成后手动来做,我们可以使用无人值守的方式自定义安装IIS 5.0。首先确认你的 Windows 2000的安装介质是可用的,本例中的安装介质是光盘,因此只要将安装光盘插入光驱即可,然后在你的硬盘或者软盘上创建一个无人值守安装文件,本例中我们将在D盘创建一个 IIS5install.txt 作为无人值守安装文件,下面我们看看该文件的内容:
[Components] 所安装的组件
iis_common = on 公用文件
iis_inetmgr = on IIS管理器
iis_www = on WWW服务
iis_ftp = on FTP服务
iis_htmla = on Web方式的IIS管理器
[InternetServer]
Path="D:\inetsrv" Common文件放置位置(如果你是卸载了IIS再手动装,公用文件还是会位置保持不变)
PathFTPRoot="D:\inetPub\FTPRoot" FTP的根路径
PathWWWRoot="D:\InetPub\wwwroot" WWW的根路径
将该文件存盘后,运行“sysocmgr /i:%windir%\inf\sysoc.inf /u:d:\iis5install.txt”,不会有提示框出现,系统将自动的为你安装好IIS,而且Scripts目录将会在D盘,使用“Unicode解码目录遍历漏洞”也就失效了。
如果你需要安装更多的IIS组件,点击后出现的是一个比较详细的无人值守安装文件
IIS安全
去年下半年关于IIS的漏洞层出不穷,鉴于目前IIS的广泛使用,觉得有必要把收集的资料加以总结一下。下面是漏洞名称列表点击可以打开,以供大家参考:
(1)Null.htw
http://www.yesky.com/20010521/180704.shtml
http://www.yesky.com/20010521/180704.shtml
(8)webhits.dll & .htw
http://www.yesky.com/20010521/180704_2.shtml
(2)MDAC- 执行本地命令漏洞
http://www.yesky.com/20010521/180704.shtml
(9)ASP Alternate Data Streams(::$DATA)
http://www.yesky.com/20010521/180704_2.shtml
(3)ASP Dot Bug (10)ISM.DLL 缓冲截断漏洞
http://www.yesky.com/20010521/180704.shtml
(4)idc & .ida Bugs (11)存在的一些暴力破解威胁.htr程序
http://www.yesky.com/20010521/180704.shtml
(5)+.htr Bug
http://www.yesky.com/20010521/180704_3.shtml
http://www.yesky.com/20010521/180704_3.shtml
(12)Translate:f Bug
http://www.yesky.com/20010521/180704_4.shtml
(6)NT Site Server Adsamples 漏洞
http://www.yesky.com/20010521/180704_1.shtml
(13)IIS存在的Unicode解析错误漏洞
http://www.yesky.com/20010521/180704_4.shtml
(7)IIS HACK
http://www.yesky.com/20010521/180704_1.shtml