SQL Server 缓冲区管理器对象

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 指标计数器 DESCRIPTION
缓冲区缓存命中率 指示缓冲区缓存中找到的页面百分比,而无需从磁盘读取。 该比率是缓存命中总数与最近几千次页面访问的缓存查找总数之比。 经过很长一段时间后,比率的移动很少。 由于从缓存读取比从磁盘读取成本要低得多,因此您需要将此比率设置为较高值。 通常,可以通过增加 SQL Server 可用的内存量或使用缓冲池扩展功能来提高缓冲区缓存命中率。
检查点页数/秒 指示检查点或其他需要刷新所有脏页的操作,每秒刷新到磁盘的页数。
数据库页 指示包含数据库内容的缓冲池中的页数。
扩展分配的页面 缓冲池扩展文件中非免费缓存页的总数。
免收扩展费用的页面 缓冲池扩展文件中的免费缓存页总数。
用作百分比的扩展 缓冲区管理器页占用的缓冲池扩展分页文件的百分比。
扩展未完成的 IO 计数器 缓冲池扩展文件的 I/O 队列长度。
扩展页逐出速率/秒 每秒从缓冲池扩展文件逐出的页面数。
扩展页读取率/秒 每秒从缓冲池扩展文件读取的页数。
扩展页面未被引用的时间 页面在缓冲池扩展中停留的平均秒数,而不引用该扩展。
扩展页写入速度/秒 每秒写入缓冲池扩展文件的页数。
空闲列表暂停次数/秒 指示每秒等待空闲页面的请求数量。
延迟写入数/秒 指示缓冲区管理器的懒写程序每秒写入的缓冲区数量。 惰性写入器是一个系统进程,用于刷新包含待写回磁盘更改的成批过期脏缓冲区(这些缓冲区必须在重新用于其他页面之前被释放),并使其可供用户进程使用。 惰性写入程序无需执行频繁的检查点以创建可用缓冲区。
页面寿命期望 指示页面在不被访问的情况下保留在缓冲池中的秒数。
页面查找数/秒 指示每秒查找缓冲池中的页面的请求数。
页面读取数/秒 表示每秒读取的物理数据库页面的数量。 此统计信息显示所有数据库中的物理页读取总数。 由于物理 I/O 成本高昂,因此可以使用较大的数据缓存、智能索引和更高效的查询,或者通过更改数据库设计来最大程度地降低成本。
页面写入数/秒 指示每秒发出的物理数据库页写入数。
预读页数/秒 指示每秒读取的页数,以适应预期的使用需求。

另请参阅

SQL Server:缓冲节点
服务器内存服务器配置选项
SQL Server 计划缓存对象
监视资源使用情况(系统监视器)
sys.dm_os_performance_counters(Transact-SQL)
缓冲池扩展