我在哪里可以找到:1) 缓存命中和 2) SQL Server 中的缓存查找统计信息
首先,问题不是:如何查看SQL Server缓存命中率! 对于这个,我已经知道一个包含精确统计数据的视图。
事实上,我的问题是:计算命中率的原始统计数据在哪里? Sql Server在msdn页面中指出,缓存命中率是总缓存命中数除以总缓存查找数。所以我假设 RDBMS 将这两个值存储在某处。
有人知道我可以在哪里访问它们吗?
First of, the question is not: how to see SQL Server cache hit rate!
For that one i already know of a view that contains that precises statistic.
My question is in fact: where are the raw statistics from where the hit ratio is calculated?
Sql server, in msdn pages, states that the cache hit ratio is the total cache hits divided by the total cache lookups. So I am assuming that the RDBMS is storing these two values somewhere.
Anyone know where i can access them?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您有权访问 SQL Server,那么您可以启动 SQL Server Profiler,它将显示数据库上运行的所有查询。保持 SQL Server Profiler 运行并开始录制的 Web 测试(如 VSTS Web 测试)。
至少查看运行跟踪可以让您很好地了解数据库被访问的次数。
假设您查询的是
查看它在跟踪中出现了多少次。
假设 200 次
&测试迭代次数,假设为 800。
那么 800/(800-200) = 缓存命中率。
If you have access to SQL Server then you can start SQL Server Profiler which will show you all the queries running on database. Keep SQL Server Profiler running & start recorded web test (like in VSTS Web Test).
At least looking at running trace will give you good idea of how many times db is accessed.
Suppose you query is
see how many times it occurs in trace.
Let's say 200 times
& number of test iterations, let's say 800.
Then 800/(800-200) = cache hit ratio.
我相信您所寻求的确切指标可以通过动态管理视图 (DMV) 获得:
例如:
您还可以使用 Windows 性能监视器来查看缓冲区缓存统计信息:
缓冲区缓存
有关 SQL Server 缓冲区管理指标的详细信息,请参阅参考:
Object
要获取有关所有 SQL Server 内存空间的详细信息,请使用以下命令:
注意:关于问题的第 2) 点,页面查找 == 缓存查找,并且此信息再次可用在上述 DMV 中。
I believe that the exact metrics you seek are available via the Dynamic Management View (DMV):
For example:
You can also use the Windows Performance Monitor to review the Buffer Cache statistics:
Buffer Cache
For detailed information regarding the metrics concerning SQL Server Buffer Management consult the reference:
Object
To get detailed information regarding all of the SQL Server Memory space use the command:
Note: Regarding point 2) of the question, Page lookups == cache lookups and again this information is available in the afformentioned DMV.