技术开发 频道

十步优化SQL Server中的数据访问

  使用性能监视工具(PerfMon)诊断性能问题

  当你的数据库遇到性能问题时,大多数时候使用SQL事件探查器就能够诊断和找出引起性能问题的背后原因了,但有时SQL事件探查器并不是功能较多的。

  例如,在生产库上使用SQL事件探查器分析查询执行时间时,对应的TSQL执行很慢(假设需要10秒),但同样的TSQL在测试服务器上执行时间却只要200毫秒,通过分析执行计划和数据列,发现它们都没有太大的差异,因此在生产库上肯定有其它问题,那该如何揪出这些问题呢?

  此时性能监视工具(著名的PerfMon)可以帮你一把,它可以定期收集硬件和软件相关的统计数据,还有它是内置于Windows操作系统的一个免费的工具。

  当你向SQL Server数据库发送一条TSQL语句,会产生许多相关的执行参与者,包括TSQL执行引擎,服务器缓存,SQL优化器,输出队列,CPU,磁盘I/O等,只要这些参与者任何一环执行节奏没有跟上,最终的查询执行时间就会变长,使用性能监视工具可以对这些参与者进行观察,以找出根本原因。

  使用性能监视工具可以创建多个不同的性能计数器,通过图形界面分析计数器日志,此外还可以将性能计数器日志和SQL事件探查器跟踪信息结合起来分析。

  性能监视器基本用法介绍

  Windows内置了许多性能监视计数器,安装SQL Server时会添加一个SQL Server性能计数器,下面是创建一个性能计数器日志的过程。

  1)在SQL事件探查器中启动性能监视工具(“工具”*“性能监视器”);

  图 15 启动性能监视工具

  2)点击“计数器日志”*“新建日志设置”创建一个新的性能计数器日志

  图 16 创建一个性能计数器日志

  指定日志文件名,点击“确定”。

  图 17 为性能计数器日志指定名字

  3)点击“添加计数器”按钮,选择一个需要的计数器

  图 18 为性能计数器日志指定计数器

  4)从列表中选择要监视的对象和对应的计数器,点击“关闭”

  图 19 指定对象和对应的计数器

  5)选择的计数器应显示在窗体中

  图 20 指定计数器

  6)点击“日志文件”标签,再点击“配置”按钮,指定日志文件保存位置,如果需要现在还可以修改日志文件名

  图 21 指定性能计数器日志文件保存位置

  7)点击“调度”标签,指定一个时间读取计数器性能,写入日志文件,也可以选择“手动”启动和停止计数器日志。

  图 22 指定性能计数器日志运行时间

  8)点击“常规”标签,指定收集计数器数据的间隔时间

  图 23 设置计数器间隔采样时间

  9)点击“确定”,选择刚刚创建的计数器日志,点击右键启动它。

  图 24 启动性能计数器日志

  10)为了查看日志数据,再次打开性能监视工具,点击查看日志图标(红色),在“源”标签上选中“日志文件”单选按钮,点击“添加”按钮添加一个日志文件。

  图 25 查看性能计数器日志

  11)默认情况下,在日志输出中只有三个计数器被选中,点击“数据”标签可以追加其它计数器。

  图 26 查看日志数据时追加计数器

  12)点击“确定”,返回图形化的性能计数器日志输出界面

  图 27 查看性能计数器日志

2
相关文章