SQL Server Buffer Manager 对象

Buffer Manager 对象提供了计数器,用于监视 SQL Server 如何使用以下项:

  • 存储数据页的内存。

  • 用于监视 SQL Server 读取和写入数据库页时的物理 I/O 的计数器。

监视 SQL Server 使用的内存和计数器有助于确定:

  • 是否存在物理内存不足的瓶颈。 如果 SQL Server 无法将经常访问的数据存储在缓存中,则必须从磁盘检索数据。

  • 是否可以通过添加更多内存或增加数据缓存或 SQL Server 内部结构的可用内存来提高查询性能。

  • SQL Server 需要从磁盘读取数据的频率。 与其他操作(例如内存访问)相比,物理 I/O 会消耗大量时间。 尽可能减少物理 I/O 可以提高查询性能。

缓冲区管理器性能对象

下表描述了 SQL Server Buffer Manager 性能对象。

SQL Server Buffer Manager 计数器

说明

Buffer Cache Hit Ratio

指示在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比。 该比率是缓存命中总次数与过去几千页访问以来的缓存查找总次数之比。 经过很长时间后,该比率的变化很小。 由于从缓存中读取数据比从磁盘中读取数据的开销小得多,一般希望该比率高一些。 通常,可以通过增加 SQL Server 的可用内存量来提高缓冲区高速缓存命中率。

Checkpoint pages/sec

指示由要求刷新所有脏页的检查点或其他操作每秒刷新到磁盘的页数。

Database pages

指示缓冲池中包含数据库内容的页数。

Free list stalls/sec

指示每秒必须等待空闲页面的请求数量。

Lazy writes/sec

指示缓冲区管理器惰性编写器每秒写入的缓冲区数。 “惰性编写器”是一个系统进程,用于成批刷新脏的过期的缓冲区(包含更改的缓冲区,必须将这些更改写回磁盘,才能将缓冲区重用于其他页),并使它们可用于用户进程。 惰性编写器不需要为创建可用缓冲区而频繁执行检查点。

Page life expectancy

指示页面在没有引用的情况下,在此节点的缓冲池中停留的时间(以秒计)。

Page lookups/sec

指示每秒要求在缓冲池中查找页的请求数。

Page reads/sec

指示每秒发生的物理数据库页读取数。 此统计信息显示的是所有数据库间的物理页读取总数。 由于物理 I/O 的开销大,可以通过使用更大的数据缓存、智能索引、更有效的查询或更改数据库设计等方法,将开销降到最低。

Page writes/sec

指示每秒发出的物理数据库页写入数。

Readahead pages/sec

指示每秒为预期使用读取的页数。

请参阅

参考

SQL Server:Buffer Node

SQL Server Plan Cache 对象

sys.dm_os_performance_counters (Transact-SQL)

概念

“服务器内存”服务器配置选项

监视资源使用情况(系统监视器)