服务器 频道

SQL Server计数器

  【IT168 服务器学院】性能监视器(Performance Monitor)是你能用于监控SQL服务器的性能(其他两是Profiler 和Enterprise Manager)的3 个工具之一。 由于具有超过156个独立的计数器和创建你自己拥有的计数器的能力(在SQL Server Books Online里有所描述),你工作时会涉及到一系列的工具。Windows 服务器版操作系统为你提供了可供分析的数百个计数器。有一个词汇"信息过载(information overload)"会出现在你脑海里。然而,有些计数器比其它的要有价值得多,而且你特定的设置和故障诊断会指导你使用哪一系列的计数器。

  你可以从菜单命令处找到性能监视器,也可以从Profiler工具条处找到它。在7.0版本中,默认安装并监控了6个计数器:超高速缓冲器命中率,页面读取,页面写入,SQL每秒编译次数,总服务器内存,以及用户连接。这些根据你所使用的SQL Server的版本的不同而有所不同,因为在6.5版中,默认市5个计数器:超高速缓冲器命中率,三个I/O计数器(每秒页面读取,每秒单个页面写入,以及每秒处理次数),还有一个用户连接。这些计数器集测量类似的量度,但具有略为不同的含义和解释。

  一次测量一个计数器是一个好办法。最重要的计数器可能是:磁盘I/O,处理器,内存,用户连接,以及网络。这些是数据库性能的主要瓶颈(通常情况下),你可以对它们进行适当的修正。你会发现性能监视器收集比你所需更多的数据,通常情况是这样;或者,你可能发现你想要分析的性能特点在下一次数据扫描之前已经从图表中删除了。使用选项 | 图表命令调整更新频率,以便你能够更好地查看你的结果的重要特征。

  当你在排除故障或者诊断问题时,你会发现你想要增加更多的计数器。可以通过“编辑 | 添加到图表”命令或者那个工具栏上的Plus图标来把计数器添加到性能监视器。在选择j计数器时你还需要注意你所添加的特定寄存器的各种实例。例如,某些实例是针对数据库的,而有些实例不是。比如,SQL Server7.0的有22个计数器,表示70个实例。

  要知道很多计数器将导致系统性能的下降,所以请不要永久安装一个能够使你的数据库操作变慢的计数器。你还会发现,有些计数器只要性能监视器打开就一直运行到你退出工具并关闭性能监视器为止。

  现在让我们更进一步的看看这个重要的检测和最优化工具。

  有一些明显的瓶颈值得查找。如果你使用物理磁盘:% Disk Time或者物理磁盘:Current Disk Queue Length(所有实例)来测量磁盘I/O,你应该保持磁盘时间计数器的值在2.0以下。超过3.0的一个当今的磁盘队列长度也表明你可能有一个磁盘I/O 瓶颈。 立刻测量两个计数器看看它们是否有相互关联是一种好想法; 并且你能点击踪迹高亮显示它并且使用Ctrl+H来高亮显示被选择的踪迹。 第二个瓶颈是处理器, 并且你应该你系统的每台处理器打开处理器的实例:% Processor Time Counter(处理器时间计数器)。 你寻找两个值:处理器总体活动和处理器负载如何被平衡。 任何一个持续负载超过百分之80的处理器都需要更新。

  4 个内存计数器: SQL Server: 缓冲管理: 高速缓存命中率和迟钝写入,存储器: 页面每秒出错和页面文件:% Usage(使用率)都值得监控。 任何低于80%的高速缓存命中率可能指示你需要更多的存储器储存缓冲的数据, 如同过多的页面出错或者页面文件使用率一样。迟钝写入应该通常是0,正的值注明页面正在被写入磁盘。 所有这些计数器都是足够的内存的表征。

  不要忘记也看看你的用户连接和网络性能的数量。有用的连接计数器是: SQL Server: 一般的统计:用户连接和SQL Server:内存管理:连接内存(KB)。 应该将这些计数器与CPU 使用协同分析,每秒注册次数,和允许的工作区内存,和所有与建立和保持你的连接通路有关。

如果你正测量磁盘性能并收集一套统计数据,然后你需要打开diskperf命令 - 制止性能被影响。命令快捷方式diskperf-y 将开始这种服务,或者可以打开设备控制面板并且在那里把它打开。 为了让性能监视器接受新设置,你可能必须重新启动你的系统。你把你的设置保存成一个PMC 文件,这是一个仅限于你的SQL服务器的实例的一个文件。性能监视器也能保留日志文件,在PerfMon的在线帮助中有所描述。

  PerfMon被创建为一件开发者的工具,同时供最终用户使用。你也能够创建你自己的计数器。 可以检查SQL Server Online看看这是怎么实现的。例如,你能使用一个定制的计数器来监控从一个特定服务器进入的业务量,以及其它几乎所有你可以想象到的特性。

0
相关文章