我在哪里可以找到:1) 缓存命中和 2) SQL Server 中的缓存查找统计信息

发布于 2024-08-04 22:09:31 字数 186 浏览 6 评论 0原文

首先,问题不是:如何查看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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

喜你已久 2024-08-11 22:09:32

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

至少查看运行跟踪可以让您很好地了解数据库被访问的次数。

假设您查询的是

select * from customer

查看它在跟踪中出现了多少次。

假设 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

select * from customer

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.

关于从前 2024-08-11 22:09:31

我相信您所寻求的确切指标可以通过动态管理视图 (DMV) 获得:

例如:

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

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

有关 SQL Server 缓冲区管理指标的详细信息,请参阅参考:

要获取有关所有 SQL Server 内存空间的详细信息,请使用以下命令:

DBCC memorystatus

注意:关于问题的第 2) 点,页面查找 == 缓存查找,并且此信息再次可用在上述 DMV 中。

I believe that the exact metrics you seek are available via the Dynamic Management View (DMV):

For example:

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

You can also use the Windows Performance Monitor to review the Buffer Cache statistics:

For detailed information regarding the metrics concerning SQL Server Buffer Management consult the reference:

To get detailed information regarding all of the SQL Server Memory space use the command:

DBCC memorystatus

Note: Regarding point 2) of the question, Page lookups == cache lookups and again this information is available in the afformentioned DMV.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文