SQL Server 2014新功能 -- 緩衝池擴充(Buffer Pool Extension)

來源:互聯網
上載者:User

標籤:buffer pool extension   緩衝池擴充   緩衝區   

SQL Server 2014新功能 -- 緩衝池擴充(Buffer Pool Extension)


 

支援版本

 

緩衝池擴充(Buffer Pool Extension)此功能僅可用於64位 SQL Server 2014 Enterprise/Business Intelligence/Standard版本。

 

術語解釋

 

緩衝區

在 SQL Server 中,一個緩衝區就是一個 8 KB 大小的記憶體頁,其大小與一個資料頁或索引頁相同。 因此,緩衝區快取被劃分為多個 8KB 頁。 緩衝區快取中會保留一頁,直到緩衝區管理器需要該緩衝區讀入更多資料。 資料只有在被修改後才重新寫入磁碟。 這些記憶體中已修改的頁稱為髒頁。 當一頁等同於它在磁碟上的資料庫映像時,該頁就是乾淨頁。 在將緩衝區快取中的資料寫回磁碟之前,可對其進行多次修改。

 

緩衝池

也稱為緩衝區快取。 緩衝池是一個由所有資料庫共用的全域資源,用於存放其快取資料頁。 緩衝池緩衝的最大和最小大小是在啟動期間或使用 sp_configure 動態重新設定 SQL Server 執行個體時確定的。 此大小確定了啟動並執行執行個體中在任何時候都可以緩衝在緩衝池中的最大頁數。

 

緩衝池擴充的優點

 

1.  提高隨機I/O的輸送量

2.  降低I/O延遲

3.  提高單位時間內處理事務的輸送量

4.  顯著地提高讀效能

5.  以軟體方式為客戶實現了類似於混合式硬碟的效果。


緩衝池擴充詳細資料

 

SSD 儲存用作記憶體子系統的擴充而不是磁碟儲存子系統的擴充。 也就是說,通過緩衝池擴充檔案,緩衝池管理器可以使用 DRAM 和 NAND 快閃記憶體,在由固態硬碟支援的非易失性隨機存取記憶體中保持一個大得多的溫熱頁緩衝池。 這會在固態硬碟上建立一個多級緩衝階層,層級 1 (L1) 作為 DRAM,層級 2 (L2) 作為緩衝池擴充檔案。 僅將乾淨頁寫入 L2 緩衝,以協助確保資料安全。 緩衝區管理器會處理 L1 和 L2 緩衝之間的乾淨頁移動。

 

所示為緩衝池相對於其他 SQL Server 元件的進階體繫結構概覽。

650) this.width=650;" title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;margin:0px;border-left:0px;padding-right:0px;" alt="image" src="http://s3.51cto.com/wyfs02/M00/5D/F1/wKiom1Unm-HBxJ63AAFmB0DrIOc670.jpg" border="0" height="338" />

 

啟用緩衝池擴充後,該功能會指定固態硬碟上緩衝池快取檔案的大小和檔案路徑。 此檔案是固態硬碟上的一個連續儲存範圍,是在 SQL Server 執行個體啟動期間靜態配置的。 只有在禁用了緩衝池擴充功能的情況下,才能修改此檔案的配置參數。 禁用緩衝池擴充後,將從註冊表中刪除所有相關的配置設定。 SQL Server 執行個體關閉時,將會刪除緩衝池擴充檔案。

 

緩衝池擴充支援以下兩種模式

 

CW:只向SSD寫入乾淨頁。

DW:雙重寫,即同時向SSD和硬碟寫入髒頁。

 

1)      順序寫總是直接寫入硬碟,不會寫入SSD

2)      乾淨頁的隨機寫是寫入SSD,因為既然是乾淨頁,硬碟上已經有一份拷貝。

3)      當緩衝池尚有空間時,緩衝池擴充採用CW模式的,只對SSD唯寫入乾淨頁。

4)      當緩衝池空間已滿,需要將一部分髒頁刷到硬碟上的時候,它是DW模式的,髒頁將同時寫入SSD和硬碟。

 

應用情境


總的來說緩衝池擴充對於讀遠遠高於寫的OLTP系統比較有協助,對於以下環境,則協助不大:

1.資料倉儲。您應該考慮列儲存而不是緩衝池擴充

2.寫入比較多的OLTP。

3.擁有大於64GB記憶體的伺服器

 

最佳做法

 

我們建議您遵循以下最佳做法。

1)     緩衝池擴充大小最大可為 max_server_memory 值的 32 倍。 我們建議實體記憶體 (max_server_memory) 的大小與緩衝池擴充的大小之比不應超過 1:16。 介於 1:4 至 1:8 之間的比率是最佳的。 有關設定 max_server_memory 選項的資訊,請參閱“伺服器記憶體”伺服器配置選項。

2)     在生產環境中實現之前,應徹底測試緩衝池擴充。 處於生產過程中時,請避免對該檔案進行配置更改或關閉該功能。 因為禁用該功能時會大大減小緩衝池大小,所以這些活動可能會對伺服器效能產生負面影響。 禁用時,不回收用於支援該功能的記憶體,直到重新啟動 SQL Server 的執行個體。 但是,如果重新啟用該功能,將重用記憶體而不必重新啟動執行個體。

 

如何使用緩衝池擴充的具體步驟

 

首先檢查SQL server最大記憶體的設定。建議將緩衝池擴充的大小設為最大記憶體的16倍或以下。請先做好充分測試再實施到生產環境。

USE masterGO EXEC sp_configure ‘show advanced options‘, 1RECONFIGURE WITH OVERRIDEGO EXEC sp_configure ‘max server memory (MB)‘GO /*EXEC sp_configure ‘max server memory (MB)‘, [VALUE (MB)]RECONFIGURE WITH OVERRIDEGO*/

 

以下指令碼啟用了緩衝池擴充到10GB:

USE masterGO ALTER SERVER CONFIGURATIONSET BUFFER POOL EXTENSION ON   (FILENAME = ‘E:\DB_Cache\SQL2014.BPE‘, SIZE = 10 GB);GO 以下指令碼為關閉緩衝池擴充:USE masterGO ALTER SERVER CONFIGURATION   SET BUFFER POOL EXTENSION OFF;GO

 

以下指令碼為改變緩衝池擴充的大小:

USE masterGO ALTER SERVER CONFIGURATION   SET BUFFER POOL EXTENSION OFF;GO ALTER SERVER CONFIGURATIONSET BUFFER POOL EXTENSION ON   (FILENAME = ‘F:\SSDCACHE\Example.BPE‘, SIZE = 20 GB);GO

 

以下為緩衝池擴充相關的DMV和perfmon counter,可用於檢查設定和監控:

--DMV:select * from sys.dm_os_buffer_pool_extension_configurationselect * from sys.dm_os_buffer_descriptors where is_in_bpool_extension = 1 --Perfmon counter:SQL Server:Buffer Manager:Extension page reads/secSQL Server:Buffer Manager:Extension page writes/secSQL Server:Buffer Manager:Page reads/secSQL Server:Buffer Manager:Page writes/secSQL Server:Readahead pages/sec


本文出自 “SQL Server Deep Dives” 部落格,請務必保留此出處http://ultrasql.blog.51cto.com/9591438/1631022

SQL Server 2014新功能 -- 緩衝池擴充(Buffer Pool Extension)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.