IIS的性能优化

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1IIS的性能优化管理互联网信息服务器(InternetInformationServer,IIS)的人们都知道,IIS是一个既简单又麻烦的家伙。简单的是安装它几乎不需要费什么脑筋,选择一下路径,然后一路按“下一步”就可以完成;配置也比较简单,只要有一定的NT和网络知识,照着说明书就可以架设一个像模像样的Web站点出来。然而管理IIS却没有想像的那样简单。使用一段时间以后,管理员往往会遇上服务器性能不良的情况。这时候,IIS的性能优化,就提上日程了。导致IIS服务性能不良的原因有两个方面。一个是人为的,也就是说管理员在安装、配置IIS的时候没有进行优化或者配置错误。另一个则是客观上的,随着运行的服务种类,以及访问人数的增加,服务器原有的硬件配置已不能满足要求了,这就需要提高硬件配置。在服务器配置上优化IIS性能1.IIS高速缓存是对IIS进行优化时要考虑的最重要的项目之一。服务器保留了一部分内存空间用作IIS高速缓存,为将来的请求存储对象,这样IIS就可从高速缓存中检索对象而不用从硬盘中检索。调整IIS高速缓存的容量需要修改注册表,表项如下:\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo2\Parameters\MemoryCacheSizeMemoryCacheSize的范围是从0道4GB,缺省值为3072000(3MB)。IIS通过高速缓存系统句柄、目录列表以及其他常用数据的值来提高系统的性能。这个参数指明了分配给高速缓存的内存大小。如果该值为0,那就意味着“不进行任何高速缓存”。在这种情况下系统的性能可能会降低。如果你的服务器网络通讯繁忙,并且有足够的内存空间,可以考虑增大该值。必须注意的是修改注册表后,需要重新启动才能使新值生效。2.使IIS使用处理器时间最长。服务器的CPU处理器能力总是有限的。哪一个应用程序占用处理器的时间最长,谁的性能就能得到最大的提高。(1)在NT的控制面板中,双击系统图标。(2)单击性能标签。(3)在应用程序性能下将游标拖到None的位置,这样就可以使所有正在运行的服务,包括IIS,使用处理器的时间达到最大值。3.服务器属性设置。在服务器属性里有一项可以使网络应用程序的总处理能力最大的选项,你当然应该选择它。3(1)在桌面上右键单击网络邻居图标,然后选择属性选项。(2)单击“服务标签”。(3)单击“服务器”,然后按“属性”。(4)选择最大化网络应用程序的总处理能力。然后单击“OK。”提高硬件配置来优化IIS性能当进行了上述的优化配置,IIS的性能仍然没有什么明显改善的话,也许你应该考虑提高服务器配置了。然而事关银子问题,老板们一定不会轻易同意,除非你用事实说服他。你必须在首先提高什么硬件配置上面考虑清楚。以下是在进行IIS优化时需要考虑的有关硬件:处理器:可以升级为速度更快的CPU,还可以再增加一个CPU。但是代价太高了(也许会换主板什么的),老板很难接受。硬盘:硬盘空间被NT和IIS服务以如下两种方式使用:一种是简单地存储数据;另一种是作为虚拟内存使用。如果使用Ultra2的SCSI硬盘,可以显著提高IIS的性能。网络接口卡:如果服务器是在企业内部网上运行,那么可以考虑将他的网卡升级为100M网卡。这在网络带宽是瓶颈的情况下特别有效。4内存:增加内存可能是升级系统最简单、最有效的方法。也是笔者推荐的硬件升级首选方案。那么如何知道需要进行硬件上的升级呢?这就和性能监视器的使用有关了。笔者会在其他文章中描述。在这里作简要介绍:比如你可以利用性能监视器来跟踪服务器上的CPU使用程度。并可以查看由内存调换到硬盘中的页面的数目和频率。将这些信息与内存使用情况以及其他系统信息相结合,就可以得到一张系统性能报告表。如果这些信息一直表现出很高的使用率,那么就说明应该升级硬件设备了。优化IIS的注意事项为了避免以后的头疼,在安装IIS之时就应该注意到IIS的优化。比如:1.为了提高性能和节约资源,应该只运行需要的协议。这一点很多管理员都没有注意,笔者曾见到在一台只作Web服务的机器上同时安装有NetBEUI、Tcp/IP和IPX协议。显然这是不合理的。2.应该将IIS服务器,设置为独立的服务器,不要让服务器去承受域控制器要求的额外负荷。试想:服务器一边在响应用户的登录,一边还要提供IIS服务,性能能不下降吗?3.可以把NT服务器的页交换文件分布到多个物理磁盘上,注意是多个“物理磁盘”,分布在多个分区上是无效的。另外,不要将页交换文件放在与WIndowsNT引导区相同的分区中。4.使用磁盘镜像或磁盘带区集可以提高磁盘的读取性能。55.关于日志的记录,应该采用文件记录而不是记录到ODBC数据源。此外,还可以在记录期间增加用来记录日志的内存缓冲区的容量来减少磁盘的活动。该缓冲区的缺省容量值为64KB。6.最好把所有的数据都储存在一个单独的分区里。然后定期运行磁盘碎片整理程序以保证在存储Web服务器数据的分区中没有碎片。使用NTFS有助于减少碎片。笔者推荐使用Norton的Speeddisk,可以很快地整理NTFS分区。7.虽然SSL可以提供相当可靠的加密传输。但是所需的额外开销会导致IIS服务器速度下降,尤其是在处理大型文件的时候。所以应该只对确实需要保护的目录进行SSL加密。IIS的性能优化关键词:IIS性能优化微软的IIS是目前最快的WEBSERVER,但如果要让IIS承受高负载,还必须对IIS进行很多设置,举几个比较常用的:1.在Windows2000Server中,把IIS中将WEB站点的性能调整设置为最大,在一定程度上可避免由于同时访问人数太多而服务死掉的现象。方法:进入Internet服务管理器,在维站点上点右键—属性—性能,将性能调整设置为最大,如下图所示。62.修改注册表,突破IIS极限线程256限制。IIS默认的支持最大线程数是256,我们可以通过修改注册表来加大这个线程数。方法:在注册表中找到下面分支[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters]在其中新建一个双字节值,命名为“PoolThreadLimit”,键值为十进制“500”或“1000”。如下图所示。3.对多站点服务器设置所在站点主目录的应用程序保护为“高(独立的)”,可防止内存冲突。如下图所示。73、禁用不必要的服务开始-运行-services.mscTCP/IPNetBIOSHelper提供TCP/IP服务上的NetBIOS和网络上客户端的NetBIOS名称解析的支持而使用户能够共享文件、打印和登录到网络Server支持此计算机通过网络的文件、打印、和命名管道共享ComputerBrowser维护网络上计算机的最新列表以及提供这个列表Taskscheduler允许程序在指定时间运行Messenger传输客户端和服务器之间的NETSEND和警报器服务消息DistributedFileSystem:局域网管理共享文件,不需要可禁用Distributedlinktrackingclient:用于局域网更新连接信息,不需要可禁用Errorreportingservice:禁止发送错误报告MicrosoftSerch:提供快速的单词搜索,不需要可禁用NTLMSecuritysupportprovide:telnet服务和MicrosoftSerch用的,不需要可禁用PrintSpooler:如果没有打印机可禁用RemoteRegistry:禁止远程修改注册表RemoteDesktopHelpSessionManager:禁止远程协助Workstation关闭的话远程NET命令列不出用户组以上是在WindowsServer2003系统上面默认启动的服务中禁用的,默认禁用的服务如没特别需要的话不要启动。iis内存占用过大的问题在IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢。今天研究了一下,可以做以下配置:1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。同时,设置同时运行的w3wp进程数目为1。再设置当内存或者cpu占用超过多少,就自动回收内存一般来说,这样就可以解决了。但仍然会出现个别网站因为程序问题,不能正确释放。8那么,怎么样才能找到是哪一个网站的?1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid2、在命令提示符下运行iisapp-a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池3、到iis中察看该应用程序池对应的网站,就ok了解决iis内存占用过大的问题突破iis6.0上传文件的200kb限制在windows2003中的iis6.0,预设置的文档上传最大大小是200kb,在上传超出该限制的文件时,会产生失败信息.解決的方法如下:用文本编辑器打开C:\windows\sytem32\inetserv\metabase.xml找到字符串AspMaxRequestEntityAllowed表示请求的最大字节204800(200KB)改成你要的大小在某些下载方式中,可能也会有大小超出的情况,可以修改同一文件的AspBufferingLimit,预设的是4MB突破iis6.0上传文件的200kb限制IIS设置远程分析远程确定目录权限让我们打开一个IIS服务器来看看。在IIS服务管理器中,选择一个目录,看他的属性在目录属性项有有这么一些选项(日志访问和索引此资源不计):脚本资源访问:对网站的脚本可以读取原文件。9读取读取目录里面的静态资源。写入用户可以建立以及删除资源目录浏览用户可以浏览目录内容。应用程序设置的执行许可中有三个选项:无只能访问静态页面纯脚本只允许允许脚本如ASP脚本脚本和可执行程序可以访问和执行各种文件类型那么,如何确定服务器上面的这些开关设置呢?别着急,一个一个来。执行权限如何确定某个目录是否开了执行权限呢?很简单,向服务器发送一个下面得请求:为要判断得目录,no-such-file.dll是随便取得一个名字,服务器上面没有这个文件。服务器对我们得请求会返回一个信息。如果返回的是一个500错误:HTTP500-内部服务器错误(InternalServererror)那么就说明这个目录的执行权限是开着的。对于服务器,能不开执行权限的就不要开。特别是虚拟目录的执行权限,大家想一想UNICODE和二次解码漏洞的利用过程就明白了。10如果服务器返回的是一个404错误:HTTP404-未找到文件那么就说明这个目录的执行权限没有开。写权限测试一个目录对于web用户是否具有写权限,采用如下方法:telnet到服务器的web端口(80)并发送一个如下请求:PUT/dir/my_file.txtHTTP/1.1Host:iis-serverContent-Length:10enterenter这时服务器会返回一个100(继续)的信息:HTTP/1.1100ContinueServer:Microsoft-IIS/5.0Date:Thu,28Feb200215:56:00GMT接着,我们输入10个字母:AAAAAAAAAA送出这个请求后,看服务器的返回信息,如果是一个201Created响应:11HTTP/1.1201CreatedServer:Microsoft-IIS/5.0Date:Thu,28Feb200215:56:08GMTLocation::0Allow:OPTIONS,TRACE,GET,HEAD,DELETE,PUT,COPY,MOVE,PRO

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功