SQL Server 2014緩存池擴展 (Buffer Pool Extension)功能可以將緩存池擴展到較快的SSD存儲上。為內存比較緊張的系統提供了新的擴展途徑。
Buffer Pool 擴展可以帶來以下好處:
緩存池擴展支持以下兩種模式:
下面2張圖里,C: 干凈頁 D:臟頁 R:隨機 S:順序
總的來說緩存池擴展對于讀遠遠高于寫的OLTP系統比較有幫助,對于以下環境,則幫助不大:
以下是如何使用緩存池擴展的具體步驟:
首先檢查SQL server最大內存的設置。建議將緩存池擴展的大小設為最大內存的16倍或以下。請先做好充分測試再實施到生產環境。
1 USE master 2 GO 3 4 EXEC sp_configure 'show advanced options', 1 5 RECONFIGURE WITH OVERRIDE 6 GO 7 8 9 EXEC sp_configure 'max server memory (MB)'10 GO 11 12 /*13 14 EXEC sp_configure 'max server memory (MB)', [VALUE (MB)]15 RECONFIGURE WITH OVERRIDE16 GO17 */
以下腳本啟用了緩存池擴展到10GB:
1 USE master 2 GO 3 4 ALTER SERVER CONFIGURATION 5 SET BUFFER POOL EXTENSION OFF; 6 GO 7 8 ALTER SERVER CONFIGURATION 9 SET BUFFER POOL EXTENSION ON 10 (FILENAME = 'F:/SSDCACHE/Example.BPE', SIZE = 20 GB);11 GO
以下為緩存池擴展相關的DMV和perfmon counter,可用于檢查設置和監控:
1 --DMV: 2 select * from sys.dm_os_buffer_pool_extension_configuration 3 select * from sys.dm_os_buffer_descriptors where is_in_bpool_extension = 1 4 5 --Perfmon counter: 6 SQL Server:Buffer Manager:Extension page reads/sec 7 SQL Server:Buffer Manager:Extension page writes/sec 8 SQL Server:Buffer Manager:Page reads/sec 9 SQL Server:Buffer Manager:Page writes/sec10 SQL Server:Readahead pages/sec
原文鏈接:http://blogs.msdn.com/b/apgcdsd/archive/2014/12/18/sql-2014-6-buffer-pool-extension.aspx
新聞熱點
疑難解答