SQLServer2005怎样关联事件探查器和系统监视器的性能计数数据(之二)

SQLServer2005怎样关联事件探查器和系统监视器的性能计数数据(之二)

--王成辉翻译整理,转贴请注明出自微软BI开拓者www.windbi.com
--
原帖地址

结束跟踪

此时,系统监视器和事件探查器都在收集数据。在你任何需要的时候收集数据。当你收集完所有你需要的数据时,结束系统监视器和事件探查器,先结束哪个都行,无所谓。

此时你有两个日志文件:一个系统监视器计数器日志和一个事件探查器跟踪日志。我也建议你同时退出系统监视器和事件探查器。这样做可以省掉稍候可能遇到的一些麻烦。

怎样关联系统监视器和事件探查器的数据

现在是最有趣的部分了。这是关联你刚刚收集的日志的数据的时候了,看看它们互相是怎么关联的。

为了关联数据,启动事件探查器并载入你刚创建的跟踪日志文件。接下来,单击“文件”然后选择“导入性能数据”。出现下面的对话框。在这里,你必须选择先前你创建的系统监视器计数器日志文件。




一旦你选择了正确的日志,单击“打开”,出现下面的对话框:



在上面的对话框里,你会看到所有你可用的计数器。你看到仅有一个计数器是你刚打开的日志里的。选择你要看与事件探查器关联事件数据的那个计数器,然后单击“确定”,出现下面的窗口:



在上面的窗口里,你会看到在事件探查器事件(最上面的对话框)和系统监视器数据图形(中间部分)之间的关联。根据你观察的事件和计数器的多少,上面的对话框可能变得很忙。你的屏幕越大,事件和计数器显示得越少,数据查看和分析起来就越容易。

你可用两种方法查看数据。第一,你可以单击图形的任何地方,此时出现红线。这显示了特定时间点的计数器活动。然后在上面部分,你会看到在接近选择的计数器数据的时间高亮显示了发生的事件。这个选项可以让你去查看特定点发生的事件。你可以查看是什么查询或其他活动在此期间运行,它是怎样影响服务器资源的。

第二,你可以单击对话框上面部分的事件探查器的任何一个事件,然后在图形里的红线将移到事件发生的特定时间。这样,你能查看一个特定的事件是怎样影响服务器资源的。

例如,在下面的图中,注意我单击了窗口顶部的duration3364934毫秒的事件。注意红线的位置。这里,你可以看到这个特殊的事件,运行得很长,在这段时间内%Processor Time几乎是60%。




充分理解你正看到的

在你会使用这个关联窗口之后,你可以发现一些奇特之处。例如,上面的例子里,我是怎样知道这个长时间运行的查询引起了CPU运行60%这么长时间的呢?实际上,我不知道。它是一个有根据的推测。这个工具没有能力具体确定一个特定的查询使用了多少服务器资源。但你能做一些有根据的推测。在我的例子里,我用duration排序了所有事件探查器捕捉到的跟踪。做完后,我发现其中一个查询运行了3364934毫秒。其他大部分查询都运行得不长。在图形里,我看到同一时期%CPU UtilizationCPU利用率)很高。这样我可以推断出这个特殊的查询是主要原因。特别是当我看到在这个查询执行完之后CPU利用率几乎降为0时。

你也要记住同一时刻可能运行多个查询,可能在计数器和事件之间没有同一时刻的关联,因为被测量的计数器超过你指定的时间间隔了,而事件正好发生在此时。如果你记住这些,然后用数据做一个小的实践,我想你会发现此关联可能性是真正很有用的。最后到现在为止,我能相当容易的找到是什么查询引起了服务器的压力。

上一篇:SQLServer2005怎样关联事件探查器和系统监视器的性能计数数据(之一)


最后编辑拓狼 最后编辑于 2007-05-25 13:36:29
虽有智慧,不如乘势;虽有鎡基,不如待时。
君子学以聚之,问以辨之,宽以居之,仁以行之。
独学而无友,则孤陋而寡闻。