SQLServer 2014 缓冲池扩展(Buffer Pool Extension)
SQL Server 2014 中引入的缓冲池扩展提供数据库引擎缓冲池的非易失性随机存取内存(即固态硬盘)扩展的无缝集成,从而显著提高 I/O 吞吐量。 并非每个 SQL Server 版本均提供了缓冲池扩展。更多说明参考 ?缓冲池扩展 缓冲池扩展功能的优点: >> ?随机 I/O 吞吐量提高 >> ?I/O 滞后时间缩短 >> ?事务吞吐量提高 >> ?由于采用更大的混合缓冲池,读取性能提高 >> ?Improved read performance with a larger hybrid buffer pool >> ?具有一种可利用现有和将来的低成本内存驱动器的缓存体系结构 SSD 存储用作内存子系统的扩展而不是磁盘存储子系统的扩展。 也就是说,通过缓冲池扩展文件,缓冲池管理器可以使用 DRAM 和 NAND 闪存,在由固态硬盘支持的非易失性随机存取内存中保持一个大得多的温热页缓冲池。 这会在固态硬盘上创建一个多级缓存层次结构,级别 1 (L1) 作为 DRAM,级别 2 (L2) 作为缓冲池扩展文件。 仅将干净页写入 L2 缓存,以帮助确保数据安全。 缓冲区管理器会处理 L1 和 L2 缓存之间的干净页移动。 下图所示为缓冲池相对于其他 SQL Server 组件的高级体系结构概览。 启用缓冲池扩展后,该功能会指定固态硬盘上缓冲池缓存文件的大小和文件路径。 此文件是固态硬盘上的一个连续存储范围,是在 SQL Server 实例启动期间静态配置的。 只有在禁用了缓冲池扩展功能的情况下,才能修改此文件的配置参数。 禁用缓冲池扩展后,将从注册表中删除所有相关的配置设置。 SQL Server 实例关闭时,将会删除缓冲池扩展文件。 最佳实践: 1. 首次启用缓冲池扩展后,建议重新启动 SQL Server 实例,以获得最大的性能优势。
设置 buffer pool 限制: USE master GO EXEC sp_configure 'show advanced options',1 RECONFIGURE WITH OVERRIDE GO EXEC sp_configure 'max server memory (MB)' GO 启用和配置缓冲池扩展: ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSION ON ( FILENAME = N'D:os_file_path_and_name.BPE',SIZE = 2046MB) GO 若要更改文件位置或者大小,先关闭缓冲池扩展。(关闭后,文件自动删除) ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSION OFF GO ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSION ON ( FILENAME = N'E:os_file_path_and_name.BPE',SIZE = 4GB) GO 缓冲池扩展信息,可以查看以下 DMV: SELECT * FROM sys.dm_os_buffer_pool_extension_configuration SELECT * FROM sys.dm_os_buffer_descriptors视图?dm_os_buffer_descriptors 的字段?is_in_bpool_extension 可以确定是否有页面使用了扩展缓存。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |