如何获得CPU /内存等等数据库特定的性能指标。在SQL Server 2005中?

时间:2008-09-18 13:50:34

标签: sql-server sql-server-2005 performance optimization

我在共享的SQL Server 2005群集实例上有几个数据库,我想要性能指标。我有一些流程运行了很长时间,并怀疑代码效率低下,而不是硬件不足。

我想要一些方法来获取这些性能指标,以便我可以排除数据库硬件作为罪魁祸首。

3 个答案:

答案 0 :(得分:1)

这很棘手......您可以使用性能监视器来跟踪硬件和操作系统因素 - 如CPU使用率,内存;以及每秒查询的各种SQL Server计数器。显然,内存使用会告诉你是否需要更多内存,但不容易判断(如果)高CPU使用率是由于效率低下的代码,还是只是强化代码。

有些计数器更有助于深入了解性能问题 - 可以计算数据库中的锁等问题,问题是您无法判断有多少是因为所有代码的工作方式不同。你可以判断你是否经历了太多,或者如果慢的时期等于大数。这也适用于其他各种计数器 - 去查看可以查看的内容。

另一件事是运行跟踪(sql server tools)来获取运行的查询列表。采取一些最慢/最大的,看看你运行它们时会出现什么执行计划 - 这可能会建议你可以优化查询,尽管它可以决定代码是低效还是只是像以前一样密集。

最后,获取一个像Spotlight这样的工具,可以滚动大量的数据库统计信息并详细显示给你。

答案 1 :(得分:1)

我刚刚阅读了一篇关于使用typeperf.exe内置的Windows的文章。 http://www.mssqltips.com/tip.asp?tip=1575

答案 2 :(得分:1)

啊,听起来像SQL Profiler的工作。 http://msdn.microsoft.com/en-us/library/ms181091(SQL.90).aspx