. . . . . . . . . . . . . . Blog Garden' C plus plus (My technology Impire!)

................................................................ It‘s a age of economic globalization and Infomation globalization........................................

SQL Server 计数器

SQL Server 计数器

  SQL Server计数器——第一部分

  Barrie Sosinsky

  接下来的那篇贴士SQL Server计数器,第二部分将会就使用计数器来监控SQL Server性能方面给出更多详细信息。

  性能监视器是你可以用来监控SQL Server性能的三个工具之一(其它两个分别是Profiler 和企业管理器)。具有超过156个独立的计数器,并且还能创建你自己的计数器(正如SQL Server在线书籍上面描述的),这么一大串的工具要你来使用真是一件令人困惑的事情。Windows服务器操作系统提供了全部几百种可能的计数器来供你进行分析。我突然想起了“信息过载”这个词。然而,一些类型的计数器要比其它类型的更有价值,跟据你的安装和问题解决方法,可以直接根据需要挑选某些计数器。

  你可以从菜单命令或者从Profiler工具条的按钮上,直接调出系统监视器。在7.0版本中,默认安装了6个计数器进行监控:缓冲存储区命中率(Buffer Cache Hit Ratio),页面读取(Page Reads),页面写入(Page Writes),SQL编辑/秒(SQL Compilations/sec),服务器全部内存(Total Server Memory)(KB),以及用户连接。根据你使用的SQL Server版本的不同而有所区别,以为在6.5版本中,默认情况下是5个:存储区命中率(Cache Hit Ratio),3个I/O计数器(页面读取/秒,单页面写入/秒,以及事务/秒),还有用户连接。这些计数器测量的参数都类似,但是在含义上有很大的区别,因此也就具有不同的解释。

  一次测量一个计数器是个好主意。最重要的计数器包括:磁盘I/O,进城,内存,用户连接,以及网络,顺序如上。数据库(总体)性能有几个主要的瓶颈,同时这里也是你能够进行适当修正的地方。你会发现,性能监视器收集的数据比你需要的多一些,通常情况都是如此;或者你会发现你想要分析的性能特点已经从下一次数据扫描的图表中去掉了。通过选项/图标命令来调整更新频率,这样你就可以更好地察看结果中重要的方面了。

  你还会发现,当你解决或者诊断问题的时候,需要添加更多的计数器。通过使用编辑/添加到命令,或者用工具栏上的添加按钮,你就可以往性能监视器中添加计数器。在选择计数器的时候,你还需要注意你添加的某个计数器的不同的实例。例如,有些实例是针对数据库的,还有一些不是。例如,SQL Server 7.0有22个计数器,表示70个实例。

  注意,许多计数器都会拖系统性能的后腿,所以小心一点,不要在永久基础上安装一个会给数据库操作带来负面影响的计数器。你还会发现,一些计数器只有当性能监视器开始的时候才能运行,并且当你退出工具时候,它也随之结束。在下一篇文章中,我们将会进一步讨论重要的用于解决问题和优化的工具。

  SQL Server 计数器 ——第二部分

   在最后的一篇贴士中,我们来看看性能监视器,然后讨论一下它的默认情况下的行为。这里我们将更进一步地察看你需要注意的特定的计数器。

  有一些值得察看的明显的瓶颈。当你使用Physical Disk: % Disk Time和Physical Disk: Current Disk Queue Length(全部实例)来测量磁盘I/O,你会想要将磁盘时间计数器保持在2.0以下,还有超过3.0的当前磁盘队列长度(Current Disk Queue Length)就意味着你可能遇到了磁盘I/O瓶颈。同时测量两个计数器,看看它们之间是否有关联,也是个不错的主意;你可以点击检索,使它高亮,然后按下键盘上的Ctrl+H来使选中的检索高亮。第二个瓶颈就是处理器,你应该打开处理器的实例环境:系统中每个处理器的%处理器时间计数器。你可以看到两个值:处理器整体活动,以及处理器负载平衡得怎么样。任何一个负载总是超过80%的处理器都是超载了,需要进行升级了。

  4个内存计数器:SQL Server: 缓冲管理器Buffer Manager:缓冲区命中率( Cache Hit Ratio),惰性写入( Lazy Writes);内存: 页面错误/秒(Page Faults/sec)和 分页文件(Paging File): % 使用率,这些都是值得监控的。任何低于80%的存储区命中率都表示,你需要添加更多的内存来存储缓冲数据了,太大的页面错误率或者分页文件使用率也都是同样的意思。惰性写入通常应该为0,正数表示页面已经写入磁盘。所有这些计数器都可以显示内存是否充足。

  还有,不要忘记察看用户连接的数量和你的网络性能。有用的连接计数器有:SQL Server: 一般统计数字(General Statistics):用户连接( User Connections)和 SQL Server:内存管理器( Memory Manager): 连接内存(Connection Memory) (KB)。这些计数器在分析CPU利用率的时候d都会用到,每秒登录数,还有核定的工作空间内存(Granted Workspace Memory),以上所有这些计数器都与建立和维护你的连接流量有关。

  如果你测量磁盘性能来收集一些统计数字,那么你就需要开启diskperf命令——它本身是关闭的,以保证性能不受到影响。在命令提示行下输入diskperf –y,就可以启动这个服务,还可以打开设备控制面板,然后在那里把它启动。你需要重新启动系统,以便让性能监视器接受这个新的设置。你将设置保存到PMC文件中,这个文件专门用于你的SQL Server环境实例。性能监视器也可以保存日志文件,在PerfMon的在线帮助中有详细描述。

  PerfMon是作为开发人员的工作创建的,可以被终端用户使用。你拥有创建自己的计数器的能力。察看SQL Server 在线来了解如何完成。例如,你可以使用一个客户计数器来监控某个服务器上即将到来的流量,还有其他几乎任何你能想象得到的东西。

  有关SQL Server性能计数器这个话题还有很多信息。除了在线书籍和微软网站(www.microsoft.com/sql 和 TechNet)之外,你还可以在www.sql-server-performance.com的主题中找到很多信息。虽然几乎每一本有关SQL Server的书都在某种程度上涉及了计数器,但是以下的几本有关性能调整的书对这个问题作了比较有深度的讨论。你在上述的几个网站上可以找到书籍列表,点击网站顶端的书籍标签就可以了。

  Barrie Sosinsky是Sosinsky and Associates (Medfield MA)咨询公司的总裁。他的著作涉及广泛的计算机主题。公司主要业务为客户软件(数据库和网络相关的)、培训和技术文档。

posted on 2006-10-03 19:16 Technical Consultant 阅读(883) 评论(0)  编辑 收藏 引用 所属分类: Database


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


My Links

Blog Stats

常用链接

留言簿(3)

随笔分类(47)

随笔档案(45)

文章分类(87)

文章档案(87)

相册

C++

Database

Game Develope & Game Engine

Java

News

Web

最新随笔

搜索

最新评论

阅读排行榜

评论排行榜