使用Perfmon和PAL工具查看Server性能--PerfMon入门指南

PerfMon是一个可靠性和性能监视器的一个组件,性能监视器启动可以点击Start=>All Programs ➪ Administrative Tools;或者在Run框里输入perfmon并回车。

监视实时Server活动

PerfMon最常见的用处是查看实时的Server活动。PerfMon提供即时数据,有系统负载、性能及资源消耗。通过阅读PerfMon当前的数据,你可以快速缩小问题的范围。如果10-2所示,从监视工具中选择性能监视器。

使用Perfmon和PAL工具查看Server性能--PerfMon入门指南_第1张图片

在图标区任意位置右击,可选择添加计数器,如图10-3所示。Ctrl+H可以突出显示锁选择的计数器。

使用Perfmon和PAL工具查看Server性能--PerfMon入门指南_第2张图片

数据收集器集

数据收集器集是数据收集工具的群组,它们可以包括内核追踪,性能日志及配置数据。要使用预定义的数据收集器,选择数据收集器集=》系统,右击系统性能并选择开始。系统性能收集器60秒跑一次。收集结束后,导航到报告=》系统=》系统性能,并选择最新的报告。如图10-4所示:

使用Perfmon和PAL工具查看Server性能--PerfMon入门指南_第3张图片

用户定义数据收集器集

选择数据收集器集,右击用户定义并选择新建=》数据收集器集。你可以通过模板或手动创建,模板有基本、系统诊断和系统性能3种。手动创建包括两种类型,创建数据日志(包括3种:性能计数器、事件跟踪数据和系统配置信息)及性能计数器警报。

开始、停止和计划收集器

数据收集器定义好后,要开始它,可以在名称上右击并选择开始。没有配置停止条件的收集器会一直运行,直到手动停止。要停止收集器,右击名称并选择停止。你可以通过收集器属性的计划一栏来计划收集器。当计划和停止条件绑定后,开始和停止收集器都能完全被计划。

配置收集器属性

属性对话框里有两个有趣的点,一个是目录,用于改变存储日志文件的文件夹;另一个是停止条件,能够配置收集器的持续时间。其他还有计划,它可以计划收集器的开始;还有任务,你可以配置数据收集器停止时运行一个任务,如完成时发送一个MSG。

配置性能计数器属性

使用性能计数器属性,可以修改日志参数,如添加和删除计数器,改变日志格式和采用间隔。

PerfMon日志格式

有4种格式:逗号隔开、Tab隔开、SQL及Binary。Binary日志(BLG)类型是默认的,适合多数情况。选择SQL,需要数据源名称(DSN)连接SQL Server。性能日志文件可以导入数据库做分析。使用工具Relog.exe,可以操作日志文件,转换文件类型,如果处理大日志文件,你可以缩短时间范围或提取一些有兴趣的计数器。

远程运行PerfMon

远程使用PerfMon,你需要是目标Server的本地管理员,并且remote registry service应该处于运行状态。要对远程服务器运行PerfMon,你要指定目标服务器名称,如图10-7所示:

使用Perfmon和PAL工具查看Server性能--PerfMon入门指南_第4张图片

运行PerfMon要考虑的因素

监视服务器增加开销,但是必须的。监视时,你应该考虑性能影响,降低开销并最小化2中主要的风险:使问题更糟糕及影响数据抓取。

运行PerfMon的影响

确认PerfMon的影响时,有3中关键因素要考虑:采样间隔,计数器数量和磁盘性能。采样越频繁,对服务器影响越大,产生的日志数据也越多。默认是15秒,追踪数小时时,通常是不错的。使用数据收集器集抓取性能数据时,考虑日志文件的存放位置。日志文件放在一个不影响数据库的磁盘上。

服务器遭受非常差的性能

在有严重性能问题的服务器上抓取PerfMon日志是,运行PerfMon要尽可能谨慎,以降低影响。下面是一些指南:

  • 远程运行PerfMon
  • 减少采样间隔
  • 包括的计数器尽可能少
  • 日志存放到磁盘

一般的PerfMon问题
有时,你或许会遇到PerfMon自身的问题,特别是,计数器丢失,它们可能没有正确地显示出来,或者链接远程服务器有问题。这里对一些日常问题及对如何解决问题做些小结。

  • 在64位系统上使用WOW执行PerfMon------当运行x64 Windows和x86 SQL Server,使用Windows on Windows(WOW),这意味着x64 Windows在为x86 SQL Server仿真一个x86 环境。如果你使用x64 Windows和x64 SQL Server,就没有关系。x64 PerfMon不能装载x86计数器,但你可以通过命令mmc /32 perfmon.msc克服。
  • 远程监视失败------失败最可能的原因是权限问题,你可以尝试如下建议:确保账号是目标服务器的本地管理员;确认NetBIOS访问目标服务器;确保目标服务器上的remote Registry service正在运行;确保没有本地俺去策略或活动目录组策略限制访问。
  • SQL Server计数器丢失------当你打开PerfMon时,你或许发现在计数器列表里没有SQL Server计数器。问题常在群集实例上发生。如果计数器丢失,检查SQL Server 错误日志和Windows 事件应用程序日志,来确定有关失败的计数器是否记录了一些错误。如果两个日志中都没有错误,你可以卸载计数器(unlodctr mssqlserver),一旦计数器卸载了,验证路径sqlctr.ini,并使用如下命令重新装载计数器:lodctr C:\Program Files\Microsoft SQL Server\MSSQL10.1\MSSQL\Binn\sqlctr.ini。现在测试机上测试,如果仍没有列出来,使用下面的方法重建。
  • 计数器丢失或数字代替名称出现(Counters Are Missing or Numbers Appear Instead of Names)-------如果你尝试添加性能计数器,列表包含代替计数器的数字,计数器可能被进程错误地破坏,修改了注册表。重建计数器可以克服这个问题,具体过程可参考:http://support.microsoft.com/kb/300956。

 

 

你可能感兴趣的:(SQL,Server,2012的内部原理和故障排除)