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

问题描述 投票:0回答:3

我希望在性能指标上使用一个共享SQL Server 2005群集实例上的几个数据库。我有一些运行了很长时间的进程,并怀疑应该归咎于代码效率低下,而不是硬件不足。

我希望以某种方式获得这些性能指标,以便可以排除数据库硬件为罪魁祸首。

sql-server sql-server-2005 performance optimization
3个回答
1
投票

我刚刚读了一篇很棒的文章,介绍了如何使用typeperf.exe中内置的Windows来解决此问题。 http://www.mssqltips.com/tip.asp?tip=1575


1
投票

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


1
投票

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

某些计数器对于深入研究性能问题更有用-可以算出数据库中的锁之类的问题,问题是您无法分辨出太多,因为所有代码的工作方式都不一样。您可以判断自己是否经历了太多,或者缓慢的时期是否等于大量的经历。这也适用于其他各种计数器-请看一下要查看的内容。

另一件事是运行跟踪(SQL Server工具)以获取运行查询的列表。以最慢/最大的一些为例,看看运行它们时会执行什么执行计划-这将建议您优化查询,尽管这取决于您自己决定代码效率低下还是像以前一样密集。

最后,获得像Spotlight这样的工具,该工具可以汇总大量数据库统计信息并向您详细显示。

© www.soinside.com 2019 - 2024. All rights reserved.