2009-09-11 66 views
2

首先,问题不在于:如何查看SQL Server缓存命中率! 对于那个我已经知道包含该精度统计的视图。我在哪里可以找到:1)缓存命中和2)SQL Server中的缓存查找统计信息

我的问题实际上是:计算命中率的原始统计数据在哪里? 在msdn页面中,Sql服务器指出缓存命中率是总缓存命中数除以总缓存查找量。所以我假设RDBMS在某处存储这两个值。

任何人都知道我可以访问他们吗?

+0

2)呢? – 2009-09-11 09:40:25

+0

2):P点击左侧的位置。 :) 时空错位,我想! :D – 99Sono 2009-09-11 11:31:40

回答

2

我相信,你所寻求的确切指标,通过动态管理视图(DMV)可供选择:

例如:

Select * 
from sys.dm_os_performance_counters 
WHERE OBJECT_NAME='SQLServer:Buffer Manager'  

您还可以使用Windows性能监视器来查看缓冲区缓存统计信息:

有关有关SQL Server缓冲管理咨询参考指标的详细信息:

要获得关于所有的SQL Server内存的详细信息空间使用命令:

DBCC memorystatus 

注意:关于问题的第2点),页面查找==缓存查找,并再次提供此信息在所提到的DMV。

+0

嗨,约翰,谢谢你的时间! 您在文章sys.dm_os_performance_counters中提到的系统视图,我前几天发现了它。这个观点的问题,你提到的柜台是他们都是利率。 也就是说,他们给我的口粮而不是我寻求的绝对值。例如,您提到的页面查找是:页面查找/秒。我期望的是在两个不同的时间点检索页面查找,以确定该段时间内的总页面查找。对于cachehits也是如此:这种方式我确切知道比率所代表的时间间隔。 – 99Sono 2009-09-11 10:27:03

0

如果您有权访问SQL Server,那么您可以启动SQL Server Profiler,它将向您显示在数据库上运行的所有查询。保持SQL Server Profiler运行&开始记录Web测试(如在VSTS Web测试中)。

至少查看运行轨迹可以让您很好地了解db访问的次数。

假设你的查询是

select * from customer 

看到它的踪迹出现的次数。

比方说200倍

&数测试的迭代,让我们说800

然后800 /(800-200)=高速缓存命中率。

相关问题