Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SQL Server 2014'te (12.x) tanıtılan arabellek havuzu uzantısı, G/Ç aktarım hızını önemli ölçüde geliştirmek için geçici olmayan rastgele erişim belleği (katı hal sürücüsü) uzantısının Veritabanı Altyapısı arabellek havuzuyla sorunsuz tümleştirilmesini sağlar. Arabellek havuzu uzantısı her SQL Server sürümünde kullanılamaz. Daha fazla bilgi için bkz. sql server 2022
Arabellek havuzu uzantısının avantajları
SQL Server veritabanının birincil amacı verileri depolamak ve almaktır, bu nedenle yoğun disk G/Ç Veritabanı Altyapısı'nın temel bir özelliğidir. Disk G/Ç işlemleri çok fazla kaynak tüketebileceğinden ve tamamlanması görece uzun sürebileceğinden, SQL Server G/Ç'yi yüksek oranda verimli hale getirme üzerine odaklanır. Arabellek havuzu, SQL Server'ın birincil bellek ayırma kaynağı olarak görev görür. Arabellek yönetimi, bu verimliliğe ulaşmada önemli bir bileşendir. Arabellek yönetimi bileşeni iki mekanizmadan oluşur: veritabanı sayfalarına erişmek ve güncelleştirmek için arabellek yöneticisi ve veritabanı dosyası G/Ç'sini azaltmak için arabellek havuzu.
Veri ve dizin sayfaları diskten arabellek havuzuna okunur ve değiştirilen sayfalar (kirli sayfalar olarak da bilinir) diske geri yazılır. Sunucu ve veritabanı denetim noktaları üzerindeki bellek baskısı, arabellek önbelleğindeki sık (etkin) kirli sayfaların önbellekten çıkarılmasına ve mekanik disklere yazılmasına ve ardından önbellekte yeniden okunmasına neden olur. Bu G/Ç işlemleri genellikle 4 KB ile 16 KB arasında veri sırasına göre küçük rastgele okuma ve yazma işlemleridir. Küçük rastgele G/Ç desenleri sık sık aramalara neden olur, mekanik disk kolu için rekabet eder, G/Ç gecikme süresini artırır ve sistemin toplam G/Ç aktarım hızını azaltır.
Bu G/Ç performans sorunlarını çözmenin tipik yaklaşımı, daha fazla DRAM veya alternatif olarak yüksek performanslı SAS iş milleri eklemektir. Bu seçenekler yararlı olsa da, önemli dezavantajları vardır: DRAM veri depolama sürücülerinden daha pahalıdır ve iş mili eklemek donanım alımında sermaye harcamasını artırır ve güç tüketimini artırarak ve bileşen arızası olasılığını artırarak operasyonel maliyetleri artırır.
Arabellek havuzu uzantısı özelliği, arabellek havuzu önbelleğini geçici olmayan depolama (genellikle SSD) ile genişletir. Bu uzantı nedeniyle arabellek havuzu, RAM ile SSD'ler arasında G/Ç'lerin disk belleğini zorlayan daha büyük bir veritabanı çalışma kümesini barındırabilir. Bu, küçük rastgele G/Ç'leri mekanik disklerden SSD'lere etkili bir şekilde boşaltıyor. SSD'lerin daha düşük gecikme süresi ve daha iyi rastgele G/Ç performansı nedeniyle arabellek havuzu uzantısı G/Ç aktarım hızını önemli ölçüde artırır.
Aşağıdaki listede arabellek havuzu uzantısı özelliğinin avantajları açıklanmaktadır.
Artan rastgele G/Ç aktarım hızı
Azaltılmış G/Ç gecikme süresi
Artan işlem aktarım hızı
Daha büyük bir karma arabellek havuzuyla geliştirilmiş okuma performansı
Mevcut ve gelecekteki düşük maliyetli bellek sürücülerinden yararlanabilen bir önbelleğe alma mimarisi
Kavramlar
Arabellek havuzu uzantısı özelliği için aşağıdaki koşullar geçerlidir.
| Süre | Description |
|---|---|
| Katı hal sürücüsü (SSD) | Katı hal sürücüleri verileri kalıcı bir şekilde bellekte (RAM) depolar. Daha fazla bilgi için wikipedia tanımına bakın. |
| Arabellek | SQL Server'da arabellek, bellekte veri veya dizin sayfasıyla aynı boyutta olan 8 KB'lık bir sayfadır. Bu nedenle, arabellek önbelleği 8 KB sayfaya ayrılır. Arabellek yöneticisi daha fazla veri okumak için arabellek alanına ihtiyaç duyana kadar bir sayfa arabellek önbelleğinde kalır. Veriler yalnızca değiştirildiğinde diske geri yazılır. Bu bellek içi değiştirilen sayfalar kirli sayfalar olarak bilinir. Sayfa, disk üzerindeki veritabanı görüntüsüyle eşdeğer olduğunda temizdir. Arabellek önbelleğindeki veriler diske geri yazılmadan önce birden çok kez değiştirilebilir. |
| Arabellek havuzu |
Arabellek önbelleği olarak da adlandırılır. Arabellek havuzu, önbelleğe alınan veri sayfaları için tüm veritabanları tarafından paylaşılan genel bir kaynaktır. Arabellek havuzu önbelleğinin en büyük ve en küçük boyutu, başlatma sırasında veya SQL Server örneği sp_configure ile dinamik olarak yeniden yapılandırıldığında belirlenir. Bu boyut, çalışan örnekte arabellek havuzunda herhangi bir zamanda önbelleğe alınabilecek en fazla sayfa sayısını belirler. Arabellek havuzu uzantısı tarafından işlenebilen maksimum bellek, bu uygulamaların önemli bir bellek baskısı oluşturması durumunda makinede çalışan diğer uygulamalar tarafından sınırlandırılabilir. |
| Checkpoint | Denetim noktası, veritabanı altyapısının beklenmeyen bir kapatma veya kilitlenme sonrasında kurtarma sırasında işlem günlüğünde yer alan değişiklikleri uygulamayı başlatabileceği bilinen bir iyi nokta oluşturur. Denetim noktası kirli sayfaları ve işlem günlüğü bilgilerini bellekten diske yazar ve işlem günlüğü hakkındaki bilgileri de kaydeder. Daha fazla bilgi için bkz. Veritabanı denetim noktaları (SQL Server). |
Ayrıntılar
SSD depolama, disk depolama alt sistemi yerine bellek alt sisteminin uzantısı olarak kullanılır. Başka bir ifadeyle, arabellek havuzu uzantısı dosyası, arabellek havuzu yöneticisinin SSD'ler tarafından desteklenen geçici olmayan rastgele erişim belleğinde çok daha büyük bir yedek sayfa arabellek havuzunu korumak için hem DRAM hem de NAND-Flash bellek kullanmasına olanak tanır. Bu, DRAM olarak düzey 1 (L1) ve SSD'de arabellek havuzu uzantısı dosyası olarak düzey 2 (L2) ile çok düzeyli bir önbelleğe alma hiyerarşisi oluşturur. L2 önbelleğine yalnızca temiz sayfalar yazılır ve bu da veri güvenliğinin korunmasına yardımcı olur. Arabellek yöneticisi, temiz sayfaların L1 ve L2 önbellekleri arasındaki hareketini işler.
Aşağıdaki çizimde, diğer SQL Server bileşenlerine göre arabellek havuzuna yönelik üst düzey mimari bir genel bakış sağlanır.
Etkinleştirildiğinde, arabellek havuzu uzantısı SSD'de arabellek havuzu önbelleğe alma dosyasının boyutunu ve dosya yolunu belirtir. Bu dosya, SSD üzerindeki depolamanın bitişik bir kapsamıdır ve SQL Server örneğinin başlatılması sırasında statik olarak yapılandırılır. Dosya yapılandırma parametrelerinde değişiklikler yalnızca arabellek havuzu uzantısı özelliği devre dışı bırakıldığında yapılabilir. Arabellek havuzu uzantısı devre dışı bırakıldığında, tüm ilgili yapılandırma ayarları kayıt defterinden kaldırılır. Arabellek havuzu uzantısı dosyası, SQL Server örneği kapatılırken silinir.
Kapasite sınırlamaları
SQL Server Enterprise sürümü, değerinin 32 katı maksimum arabellek havuzu uzantısı boyutuna max server memory (MB)izin verir.
SQL Server Standard sürümü, değerinin dört katı maksimum arabellek havuzu uzantısı boyutuna max server memory (MB)izin verir.
En iyi yöntemler
Bu en iyi yöntemleri izlemenizi öneririz.
Arabellek havuzu uzantısını ilk kez etkinleştirdikten sonra en yüksek performans avantajlarından yararlanmak için SQL Server örneğini yeniden başlatmanız gerekir.
Arabellek havuzu uzantısını, fiziksel belleğin boyutu (
max server memory (MB)) ile arabellek havuzu uzantısının boyutu arasındaki oranın 1:16 veya daha az olması için ayarlayın. 1:4 ile 1:8 aralığında daha düşük bir oran en uygun olabilir. seçeneğini ayarlamamax server memory (MB)hakkında bilgi için bkz . Sunucu belleği yapılandırma seçenekleri.Bir üretim ortamında uygulamadan önce arabellek havuzu uzantısını kapsamlı bir şekilde test edin. Üretime geçtikten sonra dosyada yapılandırma değişiklikleri yapmaktan veya özelliği kapatmaktan kaçının. Özellik devre dışı bırakıldığında arabellek havuzunun boyutu önemli ölçüde azaldığından bu etkinliklerin sunucu performansı üzerinde olumsuz bir etkisi olabilir. Devre dışı bırakıldığında, özelliği desteklemek için kullanılan bellek SQL Server örneği yeniden başlatılana kadar geri kazanılamaz. Ancak özellik yeniden etkinleştirilirse, örnek yeniden başlatılmadan bellek yeniden kullanılır.
Arabellek havuzu uzantısı hakkında bilgi döndürme
Arabellek havuzu uzantısının yapılandırmasını görüntülemek ve uzantıdaki veri sayfaları hakkında bilgi döndürmek için aşağıdaki dinamik yönetim görünümlerini kullanabilirsiniz.
Performans sayaçları, arabellek havuzu uzantısı dosyasındaki veri sayfalarını izlemek için SQL Server, Buffer Manager Nesnesi'nde kullanılabilir. Daha fazla bilgi için bkz . Arabellek havuzu uzantısı performans sayaçları.
Aşağıdaki XEvents kullanılabilir.
| XEvent | Description | Parametreler |
|---|---|---|
sqlserver.buffer_pool_extension_pages_written |
Bir sayfa veya sayfa grubu arabellek havuzundan çıkarıldığında ve arabellek havuzu uzantısı dosyasına yazıldığında tetiklenir. | number_pagefirst_page_idfirst_page_offsetinitiator_numa_node_id |
sqlserver.buffer_pool_extension_pages_read |
Bir sayfa arabellek havuzu uzantısı dosyasından arabellek havuzuna okunduğunda tetikler. | number_pagefirst_page_idfirst_page_offsetinitiator_numa_node_id |
sqlserver.buffer_pool_extension_pages_evicted |
Bir sayfa arabellek havuzu uzantısı dosyasından çıkarıldığında tetikler. | number_pagefirst_page_idfirst_page_offsetinitiator_numa_node_id |
sqlserver.buffer_pool_eviction_thresholds_recalculated |
Çıkarma eşiği hesaplandığında tetikler. | warm_thresholdcold_thresholdpages_bypassed_evictioneviction_bypass_reasoneviction_bypass_reason_description |
İlgili görevler
| Görev Açıklaması | Article |
|---|---|
| Arabellek havuzu uzantısını etkinleştirin ve yapılandırın. | ALTER SERVER CONFIGURATION |
| Arabellek havuzu uzantısı yapılandırmasını değiştirme | ALTER SERVER CONFIGURATION |
| Arabellek havuzu uzantısı yapılandırmasını görüntüleme | sys.dm_os_buffer_pool_extension_configuration |
| Arabellek havuzu uzantısını izleme |
sys.dm_os_buffer_descriptors SQL Server, Arabellek Yöneticisi nesnesi |