Azure VM'lerinde SQL Server için VM sanal çekirdek özelleştirmesi

Şunlar için geçerlidir:Azure VM'de SQL Server

Bu makalede, Yapılandırılabilir Kısıtlanmış Çekirdekler (CCC) ve Eşzamanlı Çoklu İş Parçacığı Kullanımı (SMT) ayarlarını devre dışı bırakma özelliğini içeren Azure VM sanal çekirdek özelleştirmesini kullanarak Azure Sanal Makinelerinde (VM) SQL Server'ınızın performansını nasıl iyileştirebileceğiniz ve lisanslama maliyetlerini nasıl azaltabileceğiniz gösterilmektedir.

Uyarı

VM sanal çekirdek özelleştirmesi şu anda Azure VM'lerinde SQL Server için önizleme aşamasındadır.

Genel Bakış

Yapılandırılabilir Kısıtlanmış Çekirdekler (CCC), Azure VM'lerinin özgün Kısıtlanmış vCPU modelini geliştirir. Etkin sanal çekirdek sayısı (vCPU olarak da bilinir) üzerinde üst sanal makineye göre daha hassas bir denetim sağlar. CCC, SQL Server müşterilerine sanal makine belleğinden ve Girdi/Çıktı işlemlerinden bağımsız olarak sanal çekirdek ayırma olanağı sağlar. Bu yapılandırma, çekirdek başına lisanslar için anlamlı tasarruf sağlarken arabellek havuzu, sütun deposu (columnstore) tempdb, yedekleme/geri yükleme aktarım hızı ve depolama bant genişliği için gerekli bellek ve G/Ç kapasitesini korumaya devam eder.

Gecikmeye duyarlı iş yükleri için CCC'yi isteğe bağlı olarak Eşzamanlı Çoklu İş Parçacığı (SMT) / hiper iş parçacığı (çekirdek başına iş parçacıkları = 1 olarak ayarlayın) devre dışı bırakma ile birleştirebilirsiniz.

Bu VM özelleştirme seçenekleri birlikte, diğer VM boyutu özelliklerinden ödün vermeden konuk işletim sistemine CPU sunusu üzerinde ayrıntılı denetim sağlar.

Özgün kısıtlanmış vCPU modeli

Özgün kısıtlanmış vCPU modeli, bir VM'nin tam işlem kapasitesini kullanması gerekmeyen iş yükleri için maliyet verimliliğini iyileştirmek üzere tasarlanmış bir Azure VM'leri özelliğidir. Kısıtlanmış vCPU'lar, daha az sayıda vCPU ile VM boyutlarını seçmenize olanak tanırken özgün VM boyutuyla aynı belleği, depolamayı ve ağ kaynaklarını korumanızı sağlar. Bu, işlem odaklı uygulamalar yerine bellek veya GÇ ağırlıklı uygulamalar için özellikle kullanışlı bir özelliktir.

Örneğin, kullanılabilir CPU kaynaklarının bir bölümünü kullanan bir uygulama için yüksek bellek yapılandırmasına sahip bir M serisi aile VM'sini dağıttığınız düşünün. Kısıtlanmış vCPU özelliğini kullanarak aynı M serisi VM'yi daha az etkin vCPU ile dağıtabilirsiniz. VCPU'lardaki bu azalma, özellikle SQL Server gibi sanal çekirdek sayısını temel alan yazılım lisanslamalarında önemli maliyet tasarruflarına yol açabilir.

Kısıtlanmış vCPU'lar, VM'nin adının azaltılmış çekirdek sayısını gösterdiği VM boyutu seçiminde yerleşiktir. Örneğin, E96-24ads_v5 VM boyutu, bağlı olduğu üst E96ads_v5 VM boyutundaki 96 vCPU'nun tamamı yerine 24 etkin vCPU'ya sahiptir. Yine de 672 GB RAM'i ve üst sanal makinenin depolama ve ağ performansını korur. Daha fazla bilgi için bkz. Kısıtlı vCPU ile kullanılabilir boyutların tam listesi.

Kısıtlanmış vCPU'lar şunlar için idealdir:

  • Bellek ve depolama performansının kritik olduğu ancak CPU kullanımının düşük olduğu veritabanı sunucuları.
  • Çekirdek başına lisanslama maliyetlerinin daha yüksek olduğu uygulamalar.

Kısıtlanmış vCPU'lar ile daha az sanal çekirdek için ödemeniz gerekir, ancak yine de üst veya konak sanal makinesi için işlem maliyetleri ve Windows Server lisansı için ödemeniz gerekir.

Özgün kısıtlanmış vCPU modelinin temel avantajları ve özellikleri

Aşağıdaki listede, Azure VM'lerinde SQL Server için kısıtlanmış vCPU'ları kullanmanın bazı temel avantajları ve özellikleri açıklanmaktadır:

  • Fiyat-performans avantajları: ÖZGÜN vCPU'ların 50% veya 75% vm boyutlarını seçebilirsiniz ve bu da SQL Server lisanslama maliyetlerini önemli ölçüde azaltır.
  • Bellek: Bellek ayırma üst VM yapılandırmasıyla aynıdır, bu nedenle yoğun bellek kullanan iş yükleri tehlikeye atılamaz.
  • Depolama: Depolama performansı üst VM yapılandırmasıyla aynıdır, bu nedenle yoğun depolama gerektiren iş yükleri etkilenmez.
  • Performans: vCPU'ların azaltılması, iş parçacığı çekişmesini azaltarak ve CPU kullanımını uygulamanızın gereksinimleriyle uyumlu hale getirme yoluyla performansı artırabilir.

Uyarı

SQL Server, NUMA düğümü başına 64'ten fazla mantıksal işlemciye sahip yapılandırmaları desteklemez. SQL Server 2022 CU15'den başlayarak bu sınırı aşan bir sunucuya SQL Server yüklemeye çalışırsanız yükleme başarısız olur ve hata günlüğü desteklenmeyen bir NUMA yapılandırmasını gösterir.

Özgün kısıtlanmış vCPU modelinin dezavantajları

Orijinal kısıtlanmış çekirdek modeli önemli maliyet tasarrufu ve esneklik sağlarken bazı dezavantajları vardır:

  • VM aileleri arasında tutarsız destek: Tüm Azure VM aileleri kısıtlanmış vCPU'ları desteklemez.
  • Sınırlı esneklik: Orijinal kısıtlanmış vCPU modeli, ana VM'nin vÇekirdeklerinin yalnızca %25 veya %50'sini kullanmanıza olanak tanır ve daha ince bir ayrıntı düzeyi sunmaz. Bu sınırlama, bir üst VM'nin tam kaynaklarını gerektiren ancak yalnızca belirli, daha az sayıda sanal çekirdek gerektiren iş yükleri için sorunludur.
  • Ölçeklendirme zorlukları: VM boyutları arttıkça ayrıntı düzeyi azlığı daha belirgin hale gelir. Örneğin, Standard_M416ms_v2 VM 416 sanal çekirdek sunar ve kısıtlanmış seçenek (208 sanal çekirdek) bile birçok SQL Server dağıtımının gereksinimlerini aşabilir.

Yapılandırılabilir Kısıtlanmış Çekirdekler (CCC) ile sunulan iyileştirmeler

Azure VM Yapılandırılabilir Kısıtlanmış Çekirdekler (CCC) modeli, aşağıdaki özellikler gibi SQL Server VM dağıtımları için gerçek esneklik ve tutarlılık sağlayarak özgün kısıtlanmış vCPU modelinin dezavantajlarını çözer:

  • Granüler çekirdek seçimi: CCC, önceden belirlenmiş kesirlerle sınırlı kalmak yerine, sanal makineniz için etkin sanal işlemci sayısını belirtmenize olanak tanır. Bu, 16, 32 veya 48 gibi desteklenen herhangi bir vCPU sayısını seçip üst VM boyutunun tam belleğini, depolama alanını ve G/Ç bant genişliğini koruyabileceğiniz anlamına gelir.
  • Tutarlı kullanılabilirlik: CCC, çok çeşitli VM ailelerinde kullanılabilir ve tutarsız destek riskini azaltır. İş yükünüz ve lisanslama gereksinimleriniz için en iyi VM'yi güvenle seçebilirsiniz.
  • İyileştirilmiş lisanslama ve kaynak kullanımı: Etkin vCPU sayısını SQL Server lisans yetkilendirmelerinizle ve iş yükü gereksinimlerinizle uyumlu hale getirerek CCC, kullanılmayan çekirdekler için ödeme yapmaktan kaçınmanıza yardımcı olur ve bu sayede daha büyük VM boyutlarının performans özelliklerini tam olarak kullanabilirsiniz.
  • Geliştirilmiş müşteri memnuniyeti: CCC kullanarak hem maliyeti hem de performansı iyileştirme esnekliği elde ederek beklenmeyen giderlerin veya en iyi olmayan yapılandırmaların olasılığını azaltırken SQL Server VM dağıtımlarıyla ilgili genel memnuniyetinizi de artırırsınız.

CCC, SQL Server müşterilerinin Azure VM dağıtımlarını uyarlayarak lisans verimliliğini ve kaynak kullanımını en üst düzeye çıkarırken maliyeti ve karmaşıklığı en aza indirmelerini sağlar.

Azure VM'lerinde SQL Server için en iyi CCC yöntemleri

Yapılandırılabilir Kısıtlanmış Çekirdekler (CCC), Azure VM'lerinde SQL Server için özellikle kullanışlı bir özelliktir. Dağıtımınızı hem performans hem de maliyet açısından iyileştirebilirsiniz.

  • Çekirdek başına SQL Server lisanslamasını gerçek CPU gereksinimiyle uyumlu hale getirin: SQL Server iş yükünüz CPU sınırı yerine bellek veya G/Ç bağlıysa, bellek ve disk aktarım hızı için daha büyük bir VM boyutu seçin, ancak etkin vCPU'ları lisanslı çekirdeklerinizle eşleşecek şekilde kısıtlayın. Bu seçenek, aynı VM belleğini ve G/Ç özelliklerini korurken SQL Server lisanslama maliyetlerini düşürebilir.
  • Gecikme tutarlılığını geliştirme: Bazı OLTP ve gecikmeye duyarlı veritabanı desenleri için SMT'yi ( çekirdek başına iş parçacıkları = 1) devre dışı bırakmak, kritik sorgular veya eşitleme iş yükleri için mantıksal çekirdek çekişmesini ve kuyruk gecikmesini azaltabilir. SMT Off ile CCC'i tek bir dağıtımda birleştirebilirsiniz.
  • Dağıtımı planlama: Dağıtmadan önce, gereken en iyi vCPU sayısını belirlemek için SQL Server iş yükünüzü analiz edin. CCC ve SMT ayarlarını yalnızca ilk VM oluşturma sırasında veya yeniden boyutlandırma işlemi sırasında değiştirebilirsiniz. Çalışan bir VM'de bu seçenekleri değiştiremezsiniz ve yeniden boyutlandırma için yeniden başlatma gerekir.
  • vCPU'ları uygun şekilde ayırma: Değerleri belirtirken, etkin vCPU sayısı (vCPUsAvailable) seçilen VM boyutu için varsayılan vCPU sayısını aşmamalıdır. Hiper iş parçacığı kullanımı (çekirdek başına iki iş parçacığı) kullanan VM boyutları için vCPUsAvailable geçerli değerler çift sayılardır (örneğin, 2, 4, 6 vb.), hiper iş parçacığı olmayan boyutlar ise bir artışa izin verir. VM'yi başka bir uyumlu boyuta yeniden boyutlandırdığınızda CCC ve SMT ayarları kalıcı olur. Hedef VM boyutu bu özellikleri desteklemiyorsa yeniden boyutlandırma işlemi engellenir. Azure Hibrit Avantajı'nı etkinleştirirseniz veya çekirdek başına lisanslama kullanırsanız, çalıştırmayı planladığınız vCPUsAvailable ayarlayın. SQL Server yalnızca bu sayıda mantıksal işlemci görür. Bu seçenek, gereksiz SQL çekirdekleri için ödeme yapmadan daha büyük bir bellek veya G/Ç VM (arabellek havuzu veya aktarım hızı için) seçilmesini sağlar. SQL Server'da sys.dm_os_sys_info kullanarak ve Görev Yöneticisi ile Windows'ta çekirdek sayısını doğrulayın.
  • SMT'yi devre dışı bırakma: Bazı OLTP iş yükleri, paylaşılan çekirdek kaynaklarda daha az çekişme nedeniyle SMT'yi devre dışı bırakmaktan yararlanıyor. Analiz veya yüksek oranda paralel iş yükleri gibi diğer iş yükleri, SMT'yi etkin durumda bırakmanın avantajını elde edebilir. Son haline getirmeden önce temsili yük testlerini kullanarak her ikisini de iş yükünüz için test edin.
  • NUMA ve MAXDOP: CCC, temel alınan VM belleğini veya G/Ç aktarım hızını değil yalnızca mantıksal CPU sayısını değiştirir. Azaltılan CPU'larda en uygun paralelliği sağlamak için çekirdekleri kısıtladıktan sonra paralellik için MAXDOP ve maliyet eşiğinizi gözden geçirin. SQL Server iş yükü başına ayarlama yaparak genel performans en iyi yöntemlerini uygulayın.
  • Kullanılabilirlik grupları ve yedeklemeler: Çekirdeklerin kısıtlanması VM boyutunun disk aktarım hızı yetkilendirmelerini değiştirmez. Yedekleme ve geri yükleme ile kullanılabilirlik grubu eşitlemesi için daha büyük VM'nin depolama bant genişliğini kullanmaya devam edebilirsiniz. Bu aktarım hızı, daha az etkin çekirdeğe sahip daha büyük bellek veya G/Ç boyutları seçmek için yaygın bir sürücüdür.
  • Ek ücret alınmaz: VM işlem fiyatlandırması, işlem, bellek ve depolama maliyetlerini içeren seçili boyutla aynı kaldığından CCC veya SMT / HT denetimlerini kullanmak için ek Azure VM maliyeti yoktur. Olası tasarruflar , azaltılmış vCPU sayısını tanıyan çekirdek başına lisanslı yazılımlardan (SQL Server gibi) gelir. Tasarrufları ve genel maliyetleri tahmin etmek için lisanslama koşullarınızı gözden geçirin.

Örnek SQL Server dağıtım desenleri

Aşağıdaki örnek SQL Server iş yükü dağıtım desenlerini göz önünde bulundurun:

  • Yoğun bellek kullanan OLTP: Yüksek bellek için bir E serisi veya Ebdsv5 VM seçin. SQL Server lisansınızla (sekiz çekirdek gibi) eşleşecek şekilde vCPUsAvailable ayarlayın ve gecikme süresine duyarlı iş yükleri için SMT'yi devre dışı bırakmanın isteğe bağlı olduğunu vCPUsPerCore = 1 ayarlayın. Bu yapılandırma, lisanslama maliyetlerini azaltırken VM'nin belleğini ve G/Ç'sini korur.
  • Bellek ve depolama yoğunluklu OLAP/DW: Yüksek bellek ve depolama için bir M Serisi VM seçin. vCPUsAvailable SQL Server lisansınızla (32 çekirdek gibi) eşleşecek şekilde ayarlayın ve isteğe bağlı olarak gecikme süresine duyarlı iş yükleri için SMT'yi devre dışı bırakmak üzere ayarlayınvCPUsPerCore = 1.
  • Yedekleme ve geri yükleme aktarım hızı: Blob veya yönetilen diskler için maksimum bant genişliği elde etmek amacıyla depolama için optimize edilmiş bir VM seçin. Daha az çekirdek lisanslarken yüksek disk aktarım hızını koruyarak gerekli SQL çekirdeği sayısına ayarlayın vCPUsAvailable .

CCC ile çalışmaya başlama

Azure portalı, Azure CLI, PowerShell ve ARM şablonlarını kullanarak Azure VM'niz için CCC ve SMT ayarlarını yapabilirsiniz. Daha fazla bilgi edinmek için VM sanal çekirdek özelleştirmesini gözden geçirin.

Azure VM'nizi dağıtdıktan veya yeniden boyutlandırdıktan sonra, ayarlarınızın doğru uygulandığından emin olmak için konuk işletim sistemi içinde ve SQL Server'da CPU yapılandırmasını doğrulayın.

Windows'ta CPU yapılandırmasını doğrulama

Mantıksal işlemci sayısını denetlemek için Görev Yöneticisi'ni (Performans → CPU) kullanın.

SMT durumunu onaylamak için bir yönetim komut isteminde komutunu çalıştırın wmic cpu get NumberOfCores,NumberOfLogicalProcessors .

SQL Server'da CPU yapılandırmasını doğrulama

Mantıksal CPU sayısını ve SMT'yi doğrulamak için komutunu yürütün SELECT cpu_count, hyperthread_ratio FROM sys.dm_os_sys_info; .

Yeni CPU sayısı için paralellik için en yüksek paralellik derecesini (MAXDOP) ve maliyet eşiğini gözden geçirin ve ayarlayın.

Sınırlamalar

Azure VM'lerinde SQL Server için VM sanal çekirdek özelleştirmesini kullanmanın aşağıdaki sınırlamalarını göz önünde bulundurun:

  • Desteklenen görüntüler Windows Server, Ubuntu, RHEL, SUSE gibi birinci taraf görüntüleri ve özel görüntüleri içerir. Üçüncü taraf Market görüntüleri desteklenmez. Kullanımdan Kaldırılan Pazar SQL VM Linux görüntüleri desteklenmez.
  • CCC şu anda Orta Batı ABD, Kuzey Avrupa, Doğu Asya ve Güney Birleşik Krallık gibi seçili bölgelerde kullanılabilir.
  • CCC/SMT'i yalnızca oluşturma veya yeniden boyutlandırma işlemleri sırasında ayarlayabilirsiniz. Dinamik çalışma zamanı değişiklikleri desteklenmez. Yeniden boyutlandırma yeniden başlatmayı tetikler.

Sıkça Sorulan Sorular (SSS)

Aşağıdaki sık sorulan soruları göz önünde bulundurun:

CCC, SANAL makinemin belleğini veya depolama aktarım hızını değiştirir mi?

Hayır. CCC yalnızca konuk işletim sistemine sunulan vCPU sayısını değiştirir. Seçilen VM boyutunun belleğini ve Giriş/Çıkış kapasitesini saklarsınız.

Kapalı kalma süresi olmadan CCC'i açabilir veya kapatabilir miyim?

Hayır. CCC'yi VM oluşturma zamanında veya yeniden boyutlandırma sırasında etkinleştirmeniz gerekir. Yeniden başlatma gerçekleşir.

SQL Server, lisanslama için azaltılmış çekirdek sayısını tanıyacak mı?

Evet. SQL Server ve çekirdek başına diğer lisanslı yazılımlar yalnızca vCPUsAvailable işletim sisteminin aldığı değeri görür. Onaylamak için lisans koşullarınızı denetleyin.