IIs5.0建站点--〉第九章 系统监视与性能优化

发表于:2007-06-30来源:作者:点击数: 标签:
IIS系统监视 ??系统监视包括监视事件和监视性能,前者检测IIS不正常运行的原因,后者用于建立用户系统性能的基准。IIS系统监视使用的Windows 2000工具包括:事件查看器、任务管理器、性能监视器和 网络 监视器。综合运用这些工具才能更好的完成系统监视工
IIS系统监视
??系统监视包括监视事件和监视性能,前者检测IIS不正常运行的原因,后者用于建立用户系统性能的基准。IIS系统监视使用的Windows 2000工具包括:事件查看器、任务管理器、性能监视器和网络监视器。综合运用这些工具才能更好的完成系统监视工作。
监视事件
??在Windows 2000中"事件"的概念是指:系统或应用程序中需要通知用户的所有重要事件,或是将被添加到日志中的项目。 Windows 2000内置了一个用于记录和管理事件的工具:事件查看器。事件查看器记录诸如错误或成功启动服务这样的事件,并为管理员提供了查看这些事件的工具。我们知道,IIS中的网站是靠IIS服务来实现的,例如Web站点依赖于WWW服务,故服务启动失败这样的事件往往暗示着站点不能正常工作的原因。此外,象TCP/IP错误,网络硬件设备错误这样的事件往往也是导致服务器不能正常工作的罪魁祸首。当系统提示出错或者IIS出现某种异常情况时,有经验的管理员通常先检查事件查看器所记录的事件。[/TD] [/TR][/TABLE]
单击【开始】、【程序】、【管理工具】、【事件查看器】打开如右图所示的事件查看器。全部事件分别保存在三个事件日志中:应用程序日志、安全日志和系统日志,其包含的事件种类如下:
??应用程序日志:包含由应用程序或系统程序记录的事件。例如,数据库程序可在应用日志中记录文件错误。程序开发员决定记录哪一个事件。
??系统日志:包含Windows 2000的系统组件记录的事件。例如,在启动过程将加载的驱动程序或其他系统组件的失败记录在系统日志中。Windows 2000预先确定由系统组件记录的事件类型。
??安全日志:记录安全事件,如有效的和无效的登录尝试,以及与创建、打开或删除文件等资源使用相关联的事件。

对于IIS服务器而言,系统日志中记录的事件显得更加重要。如图,在事件查看器控制树中选择系统日志,则右侧窗格列出已经被记录的全部事件,事件分为:错误、警告、信息等不同类型。其中错误事件意味着服务启动失败或者某种功能的丧失,属于最严重的系统事件,应当十分关注;警告事件意味着存在发生错误的可能,但错误还并未发生,也应予以关注。此外,事件的记录是按照时间顺序从上到下依次排列的,最先发生的事件在事件列表的最下方,这样,按照一般的逻辑,先发生的错误是最致命的,它导致后来发生的全部错误,因此,最下面的错误通常是IIS工作不正常的根本原因。
??事件列表中仅显示有关事件发生的时间、来源、分类和用户等有限信息,为了详细查看某一事件的描述或信息代码,应双击列表中的事件,查阅事件属性对话框。如右图所示,在事件属性对话框中详细描述事件发生的情况和可能的原因,典型的事件还给出了数据代码供程序员调试使用。单击事件属性对话框中的上下箭头可以继续查看上一个或下一个事件的详细信息。

关于事件查看器本身的属性,需在日志属性对话框中配置。三种日志可以独立的配置属性。右击事件查看器控制树中的日志节点,选择【属性】,打开如右图所示的属性对话框。最重要的日志属性是事件的老化机制,因为系统记录的事件随着时间的推移会愈来愈多,而我们并不需要保留很久以前的日志。日志老化可以通过文件大小和时间周期来指定,默认值为大于512KB的事件(较旧的)和久于7天的事件将被自动删除。单击【清除日志】按钮亦可手工清除日志中的全部事件。
??某些情况下,我们不但不需要清除日志事件,还需要将它们保留起来作为记录,这是就应将事件记录保存为.evt文件。右击需要保存的日志节点,选择【另存日志文件】,然后指定文件路径并单击【确定】。打开被保存日志文件的方法与此相反,右击日志节点选择【打开日志文件】,然后指定路径。以文件方式保存的事件不受日志属性的限制,可以长期保存。

简单性能监视
??管理员对系统性能进行监视的工作根据实际情况具有不同的需求,仅需要获知有关CPU和内存的实时数据时,使用任务管理器进行简单性能监视是个不错的选择。任务管理器的性能监视功能虽然不够强大,但它灵活亦用,对系统影响很小。任务管理器所提供的CPU利用率,内存使用率等数据对于判断系统当前状态,初步了解系统繁忙程度等任务都是非常有用的。
??启动任务管理器的方法有两种:按下【Ctrl】+【Alt】+【Del】组合键,打开安全性对话框并单击【任务管理器】;或者右击任务栏空白处,选择【任务管理器】,均可打开如右图所示的Windows任务管理器对话框,单击【性能】选项卡进行监视。

任务管理器提供了CPU使用和内存使用两个主要的实时图形窗口,以曲线的形式显示当前的CPU使用率和内存占用数量。双击CPU占用率窗口,以详细模式显示当前CPU占用情况,如右图所示。左侧柱型图标示实时CPU占用率,右侧曲线显示占用率的历史情况。
    在任务管理器的下部,分别列出内存使用的详细信息,包括:系统进程/线程总数、物理内存、认可用量以及核心内存使用情况。这些数据为排错和性能分析提供了可靠依据,例如CPU或内存使用率经常性的居高不下意味着需要升级服务器,过多的进程意味着应当优化Web应用程序。

系统性能监视
??任务管理器所提供的性能监视工具虽然简便,但是其功能太弱,对于复杂、系统的服务器性能监视工作,还需借助于系统监视器进行。在Windows NT 4.0中,系统监视器称为性能监视器。在Windows 2000中系统监视器属于核心管理工具之一,其功能强大,可以用来监视服务器活动或监视所选时间段内服务器的性能。系统监视器即可以在实时图表或报告中显示性能数据,又可以在文件中收集数据或在关键事件发生时生成警告。
??系统监视器监视的单位是"对象",对象是指特定的控制服务器资源的服务或机制,例如处理器对象,内存对象、Web对象等。每一对象的不同方面的

属性称为"计数器",系统监视器真正记录的是这些计数器的值,例如处理器对象的%Processer Time计数器,内存对象的Pages Fault/Sec计数器等。
??Windows 2000已经包括了许多计数器,在Windows 2000中安装IIS服务之后,系统监视器自动添加了特殊的IIS计数器,包括Web服务计数器、FTP 服务计数器、"Active Server Pages"应用程序计数器和"Internet信息服务"全局计数器。其中Web和FTP服务计数器与"Active Server Pages"应用程序计数器监视连接活动,"Internet 信息服务"全局计数器则监视所有IIS服务的带宽使用和高速缓存活动情况。
    单击【开始】、【程序】、【管理工具】、【性能】,在【性能】工具的控制树中选择【系统监视器】,打开如右上图所示的系统监视器MMC窗口。
我们启动系统监视器之后并没有任何缺省的监视内容运行,管理员必须添加计数器才能让系统监视器工作。
??右击性能监视器,从弹出菜单上选择【添加监视器】,打开如右图所示的添加监视器对话框。首先应指定监视对象位于那台服务器上,默认为监视本地服务器,选择【从计算机选择计数器】后亦可在列表中指定监视网络中其他计算机的对象。鉴于性能监视工作本身也会对系统性能造成影响,故通常在远程计算机上监视诸如CPU、内存之类的对象。
??随后从【性能对象】下拉列表中指定要监视的对象,对于IIS而言,可见监视的对象包括Web服务、FTP服务、NNTP服务器、SMTP服务器等等,这些对象包括相应服务的全部性能监视内容。每个对象包

括若干计数器,计数器是系统监视器进行监视的最基本单位。选定对象后单击【从列表选择计数器】,则在列表框中列出当前对象的全部计数器,计数器代表对象的某一方面特性,例如Web服务包括"每秒发送的文件数"、"当前CGI请求数测量异步I/O带宽使用"、"每秒匿名用户数"等数十个计数器。
鉴于每一对象包含的计数器数量庞大,管理员不太可能对所有计数器的功能了如指掌,因此需要随时查阅计数器说明。在列表中选择计数器后,单击【说明】,打开如右图所示的【说明文字】对话框,从中获得所选计数器的信息解释信息
??单击选择计数器后,还要在【实例】列表中选定计数器监视的实例。这里的实例是指同一对象的平权组件,例如,如果计算机装有多

个处理器,则每个处理器都可看作CPU对象的一个实例;又如对于Web服务对象,服务器上对每个虚拟站点都是一个实例,选择实例就是选择计数器监视的具体目标,选择实例列表中的【Total】项代表监视的前对象的所有实例。


??选择计数器并单击【添加】,则系统监视器开始工作,一次可以添加多个计数器同时进行监视。系统监视器默认以曲线形式反映监视计数器的活动情况,单击工具栏中的【显示直方图】和【显示报告】图标,可将系统监视器显示方式更改为柱型直方图(如上左图所示)或摘要报告(如上右图所示)形式。
添加多个计数器的情况下,区分这些件事情的曲线活动并不容易,尤其是当它们具有相似的值时。系统监视器通常以不同的颜色和线形区分计数器,在计数器列表中可以对缺省分配的计数器颜色及线形进行修改。全部计数器的统一外观属性属于监视器的整体属性,右击系统监视器,从弹出菜单中选择【属性】,打开如右图所示的系统监视器属性对话框,其【常规】、【颜色】和【字体】选项卡分别定义了监视器的显示外观属性。
??当需要在诸多计数器中突出显示某一计数器时,先在计数器列表中选中它,单击工具栏中的【加亮】图标即可。


对IIS服务器的性能监视立足于IIS服务和服务器硬件性能两个方面,前者主要是对IIS相关的服务对象进行监视,获得关于站点访问、用户、安全等方面的详细信息;而关于服务器本身的性能监视则涉及当前服务器硬件配置是否能够满足需求的问题。我们知道,过低的配置不能满足越来越多的用户访问需求,其造成的结果是系统响应变慢、例外错误增加等。而构成服务器的各个硬件部分中总有某一或某些组件对系统性能造成的影响更大一些,这就构成了系统的瓶颈。例如,一台PIII800/32M内存/15G硬盘的服务器响应很慢,我们一眼就能看出是过少的内存造成了运行的延迟,这里,内存就是瓶颈。对系统瓶颈的升级是最佳的投资,能够产生最高的性能/价格比。然而,大多数情况下,服务器的硬件瓶颈并非一目了然,这时就要借助于系统监视器找出瓶颈所在。通常可能成为瓶颈的部分是:CPU子系统、内存子系统、磁盘子系统等,对上述对象的典型计数器进行持续的监视,根据监视结果判断瓶颈所在并做出升级计划。
??最典型的计数器及其推荐值列于下表中,超出推荐范围的对象即可认为已经成为系统瓶颈。
对象\计数器?推荐值
?内存\页数/秒?00-20(如果大于 80,表示有问题)。
?内存\可用字节数?最少 4 MB。
?内存\提交的字节数?不超过物理内存的 75%。
?内存\未分页的字节池?固定的(缓慢的增长表示存在内存泄露问题)。
?处理器\% 处理器时间?小于 75%。
?处理器\中断次数/秒?与处理器有关。486/66 处理器最大为 1,000;P90 为
?3,500;P200 大于 7,000。?越低越好。
?处理器\处理器队列长度?小于 2。
?磁盘(逻辑磁盘或物理磁盘)\% 磁盘时间?尽可能低。
?磁盘(逻辑磁盘或物理磁盘)\队列长度?小于 2。
?磁盘(逻辑磁盘或物理磁盘)\平均磁盘字节/传输?尽可能高。
?全局 Internet 信息服务\高速缓存命中数 %?尽可能高。
?Web 服务\每秒总字节数?尽可能高。
?Active Server Pages\请求等待时间?尽可能低。
?Active Server Pages\已排队的请求?零。
?Active Server Pages\事务数/秒?尽可能高。
前面推荐的瓶颈查找方法对于一般的IIS系统已经足够了,但在一个更加严格的大型网站服务器上,短期的监视(即使是在典型情况下的短期监视)并不能很好的提供瓶颈判断的依据。为此,我们有必要通过日志文件的方式对服务器进行长期监视,得到系统对象的平均特性,利用在数小时甚至数天时间中获得的数据建立所谓的"基线",为服务器升级提供可靠的保障。
    利用日志文件进行及监视的方法如下:
??1.在系统监视器中展开【系统日志和警报】节点,右击【计数器日志】,选择【新建日志设置】。
??2.在【新建日志设置】对话框中输入新日志名称,单击【确定】。
??3.如右图所示在新日志属性对话框的【常规】选项卡中单击【添加】打开计数器对话框,指定该日志文件记录的计数器,单击【确定】返回。

4.在【数据采样间隔】栏中指定计数器数据多久被采集一次,注意,过密的采集间隔会影响系统的正常工作并造成巨大的日志文件。
??5.在【计划】选项卡中指定日志起止时间,可选的方式有:手动、指定起止时间或者指定记录时间。单击【确定】。
??6.如右图所示,如果选择手动起止日志,则在日志列表中右击日志,选择【开始】,日志图标变为绿色。
??系统监视器将计数器数据以blg文件的形式保存起来(缺省位置是系统分区的\PerfLogs目录下)。一旦开始记录,计数器数据被定期(按照采样间隔时间)加入日志文件,直到到达计划的日志结束时间或者手工停止日志记录。

建立性能警报

原文转自:http://www.ltesting.net