Aracılığıyla paylaş


SQL Server sürümüne göre işlem kapasitesi sınırları

Şunlar için geçerlidir: SQL Server

Bu makalede, SQL Server sürümleri için işlem kapasitesi sınırları ve bunların eşzamanlı çok iş parçacıklı (SMT) işlemcilere sahip fiziksel ve sanallaştırılmış ortamlardaki farkları açıklanır. Intel CPU'larda SMT, Hyper-Threading Teknolojisi olarak adlandırılır.

Genel Bakış

İşlem kapasitesi sınırlarına eşlemeleri gösteren diyagram.

Bu tabloda, önceki diyagramdaki notasyonlar açıklanmaktadır:

Değer Description
0..1 Sıfır veya bir
1 Tam olarak bir
1..* Bir veya daha fazla
0..* Sıfır veya daha fazla
1..2 Bir veya iki

Daha ayrıntılı bilgi için:

  • Bir sanal makinenin (VM) bir veya daha fazla sanal işlemcisi vardır.
  • Bir veya daha fazla sanal işlemci tam olarak bir sanal makineye ayrılır.
  • Sıfır veya bir sanal işlemci, sıfır veya daha fazla mantıksal işlemciyle eşlenir. Sanal işlemcilerin mantıksal işlemcilerle eşlendiğinde:
    • Bire sıfır: Konuk işletim sistemleri tarafından kullanılmayan ilişkisiz bir mantıksal işlemciyi temsil eder.
    • Bire çok: aşırı tahsisi temsil eder.
    • Sıfırdan birden fazlaya: Konak sisteminde sanal makinenin hiç bulunmamasını temsil eder. Bu nedenle VM'ler herhangi bir mantıksal işlemci kullanmaz.
  • Soket sıfır veya daha fazla çekirdeğe atanabilir. Yuvadan çekirdeğe eşleme şu olduğunda:
    • Bir ile sıfır arasında: boş bir yuvayı temsil eder. Yonga takılı değil.
    • Bire bir: yuvaya yüklenmiş tek çekirdekli bir yongayı temsil eder. Bugünlerde bu haritalama nadirdir.
    • Bire çok: yuvaya yüklenmiş çok çekirdekli bir yongayı temsil eder. Tipik değerler 2, 4 ve 8'tir.
  • Çekirdek, bir veya iki mantıksal işlemciye eşlenir. Çekirdeklerin mantıksal işlemcilerle eşlendiğinde:
    • Bire bir: SMT kapalı.
    • Bir ila iki: SMT açık.

Aşağıdaki tanımlar bu makalede kullanılan terimler için geçerlidir:

  • İş parçacığı veya mantıksal işlemci, SQL Server, işletim sistemi, uygulama veya sürücü açısından bir mantıksal bilgi işlem altyapısıdır.

  • Çekirdek bir işlemci birimidir. Bir veya daha fazla mantıksal işlemciden oluşabilir.

  • Fiziksel işlemci bir veya daha fazla çekirdek içerebilir. Fiziksel işlemci, işlemci paketi veya yuva ile aynıdır.

NUMA düğümü başına mantıksal çekirdek sayısını 64 ile sınırlayın

NUMA düğümü başına 64'ten fazla mantıksal işlemciye sahip sunucularda yığın dökümleri gibi sorunlarla karşılaşabilirsiniz. BIOS veya üretici yazılımı yapılandırması, işletim sistemine sunulan mantıksal çekirdek sayısını NUMA düğümü başına en fazla 64 mantıksal işlemciye düşürebilir.

Dikkat

SQL Server 2022 (16.x) Toplu Güncelleştirme 11, NUMA düğümü başına 64'ten fazla mantıksal çekirdek algılarsa Veritabanı Altyapısı'nın başlamaması gibi çalışma uyumsuzluğuna yol açan bir değişiklik sundu.

SQL Server 2022 (16.x) Toplu Güncelleştirme 15'ten başlayarak, Kurulum bu yapılandırmanın desteklenmediğini ve Veritabanı Altyapısı hizmetinin durdurulup devre dışı bırakılmasına neden olacağını belirten bir uyarı üretir. Uyarı, Kurulum günlüklerine de eklenir.

SMT'yi devre dışı bırakarak Azure Sanal Makinesinde NUMA düğümü başına mantıksal çekirdek sayısını azaltabilirsiniz. Bare-metal SQL Server örnekleri için, mantıksal çekirdek sayısını azaltmak amacıyla alt NUMA kümelemesi (SNC) veya Yuva Başına Düğüm (NPS) seçeneklerini kullanabilirsiniz.

Azure Sanal Makinesinde SMT'yi devre dışı bırakma

SQL Server,NUMA düğümü başına desteklenen 64 mantıksal çekirdek sınırına sahiptir. Bazı durumlarda Azure Mv3 serisi VM, SQL Server'ın başlatılmasını engelleyen veya düşük performansla çalışmasına izin veren bu sınırı aşabilir. SMT'yi devre dışı bırakmak için PowerShell ve Kayıt Defteri Düzenleyicisi'ni (reg.exe ) kullanarak aşağıdaki değişiklikleri yapın. Kayıt defterinizi düzenlemeden önce yedeklemeyi unutmayın.

  1. Mantıksal çekirdek sayısını denetleyin. Oran 2:1 ise SMT etkinleştirilir (mantıksal çekirdek sayısı çekirdek sayısının iki katıdır).

    Get-CimInstance -ClassName Win32_Processor | Select-Object -Property "NumberOfCores", "NumberOfLogicalProcessors"
    
  2. SMT'yi aşağıdaki iki kayıt defteri değişikliğiyle devre dışı bırakın, ardından VM'yi yeniden başlatın.

    reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 8264 /f
    reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f
    
  3. Mantıksal çekirdek sayısını bir kez daha denetleyin. Mantıksal çekirdek sayısı çekirdek sayısıyla eşleşmelidir.

    Get-CimInstance -ClassName Win32_Processor | Select-Object -Property "NumberOfCores", "NumberOfLogicalProcessors"
    

Çıplak metal örneklerde mantıksal çekirdek sayısını azaltma

Aşağıdaki bölümlerde, SQL Server'ın donanım tabanlı örneklerinde mantıksal çekirdek sayısının nasıl azaltılacağı açıklanmaktadır.

Intel Xeon CPU

Üçüncü, dördüncü ve beşinci nesil Intel Xeon CPU'larında, eski adı Cluster-on-Die (CoD) olan alt NUMA kümelemesini (SNC) etkinleştirerek tek bir fiziksel yuva içinde iki NUMA etki alanı elde edebilirsiniz.

Uyarı

Altıncı nesil Intel Xeon CPU'ları, varsayılan olarak etkinleştirilmiş alt NUMA kümeleme (SNC2 veya SNC3) ile birlikte gelir. Bazı CPU modellerinde, varsayılan SNC yapılandırması NUMA düğümü başına 64'ten fazla mantıksal işlemciye neden olabilir. Bu CPU modelleri için SNC2 veya SNC3 ile birlikte BIOS/üretici yazılımında Intel sanal NUMA özelliğini etkinleştirmeniz gerekir.

Yapılandırma ayarı Description
SNC devre dışı 1 Alt NUMA kümelemesini devre dışı bırakır.
SNC2 etkinleştirildi 2 Soket başına iki NUMA düğümü sunar.
SNC3 etkinleştirildi 2 Yuva başına üç NUMA düğümü sunar.
Intel VirtualNuma etkinleştirildi 3 Tek bir fiziksel NUMA düğümü içinde birden çok sanal düğüm oluşturur.

1 Üçüncü, dördüncü ve beşinci nesil Intel Xeon CPU'ları için varsayılandır.

2 Altıncı nesil Intel Xeon CPU'ları ve üzeri için varsayılan.

3 Yalnızca altıncı nesil Intel Xeon CPU'larında ve üzeri sürümlerde kullanılabilir. SNC varsayılanlarını kullanırken NUMA düğümü başına mantıksal işlemci sayısının 64'ü aştığı yüksek çekirdek sayısı CPU'ları için bu ayarı kullanın.

AMD CPU

AMD CPU'larında Soket Başına Düğüm (NPS) seçeneklerini etkinleştirebilirsiniz.

Yapılandırma ayarı Description
NPS0 Çift yuvalı bir sistemde NUMA, düğüm boyunca tüm bellek kanalları birbirine katılmış tek bir düğüm olarak sunar.
NPS1 (varsayılan) Bu yapılandırma yuva başına bir NUMA düğümü sunar.
NPS2 Bu yapılandırma, SNC'ye benzer şekilde yuva başına iki NUMA düğümü sunar.
NPS4 Bu yapılandırma yuva başına dört NUMA düğümü sunar.

Açıklamalar

Birden fazla fiziksel işlemciye veya birden çok çekirdeğe ve/veya SMT'ye sahip fiziksel işlemcilere sahip sistemler, işletim sisteminin aynı anda birden çok görevi yürütmesini sağlar. Her yürütme iş parçacığı bir mantıksal işlemci olarak görünür. Örneğin, bilgisayarınızda SMT etkinleştirilmiş iki dört çekirdekli işlemci ve çekirdek başına iki iş parçacığı varsa, 16 mantıksal işlemciniz vardır: 2 işlemci x işlemci başına 4 çekirdek x çekirdek başına 2 iş parçacığı. Buna dikkat etmeye değer:

  • SMT çekirdeğinin tek bir iş parçacığından mantıksal işlemcinin işlem kapasitesi, SMT devre dışı olan aynı çekirdekten mantıksal işlemcinin işlem kapasitesinden daha azdır.

  • SMT çekirdeğindeki iki mantıksal işlemcinin işlem kapasitesi, SMT devre dışı bırakıldığındaki aynı çekirdeğin işlem kapasitesinden daha büyüktür.

SQL Server'ın her sürümünde iki işlem kapasitesi sınırı vardır:

  • En fazla yuva sayısı (veya fiziksel işlemciler veya işlemci paketleri)

  • İşletim sistemi tarafından bildirilen maksimum çekirdek sayısı

Bu sınırlar tek bir SQL Server örneği için geçerlidir. Tek bir örneğin kullandığı maksimum işlem kapasitesini temsil ederler. Örneğin dağıtılabileceği sunucuyu kısıtlamazlar. Aslında, aynı fiziksel sunucuya SQL Server'ın birden çok örneğini dağıtmak, fiziksel sunucunun işlem kapasitesini kapasite sınırlarına göre daha fazla yuva ve/veya çekirdekle kullanmanın verimli bir yoludur.

Aşağıdaki tabloda, SQL Server'ın her bir sürümünün tek bir örneği için işlem kapasitesi sınırları belirtilmiştir:

SQL Server sürümü Tek bir örnek için en yüksek işlem kapasitesi (SQL Server Veritabanı Altyapısı) Tek bir örnek için maksimum işlem kapasitesi (AS, RS)
Kurumsal sürüm: Çekirdek tabanlı lisanslama 1 İşletim sistemi üst sınırı İşletim sistemi üst sınırı
Developer İşletim sistemi üst sınırı İşletim sistemi üst sınırı
Standart 2 4 yuvanın veya 32 çekirdeğin daha azı ile sınırlıdır 4 yuvanın veya 32 çekirdeğin daha azı ile sınırlıdır
Express 1 yuva veya 4 çekirdeğin daha azı ile sınırlıdır 1 yuva veya 4 çekirdeğin daha azı ile sınırlıdır

Sunucu + İstemci Erişim Lisansı (CAL) lisansına sahip 1 Enterprise sürümü, SQL Server örneği başına 20 çekirdekle sınırlıdır. (Bu lisanslama yeni sözleşmelerde kullanılamaz.) Çekirdek Tabanlı Sunucu Lisanslama modelinin altında sınır yoktur.

2 SQL Server 2022 (16.x) ve önceki sürümlerde sınır, 4 yuva veya 24 çekirdeğin daha küçük olmasıdır.

Sanallaştırılmış bir ortamda işlem kapasitesi sınırı çekirdekleri değil mantıksal işlemci sayısını temel alır. Bunun nedeni, işlemci mimarisinin konuk uygulamalar tarafından görünür olmamalarıdır.

Örneğin, dört çekirdekli işlemcilerle doldurulmuş dört yuvaya ve çekirdek başına iki SMT iş parçacığını etkinleştirme özelliğine sahip bir sunucu, SMT'nin etkin olduğu 32 mantıksal işlemci içerir. Ancak SMT devre dışı bırakılmış yalnızca 16 mantıksal işlemci içerir. Bu mantıksal işlemciler sunucudaki sanal makinelere eşlenebilir. Sanal makinelerin bu mantıksal işlemcideki işlem yükü, konak sunucusundaki fiziksel işlemcideki bir yürütme iş parçacığına eşlenir.

Her sanal işlemcinin performansı önemli olduğunda SMT'yi devre dışı bırakmak isteyebilirsiniz. BIOS kurulumu sırasında işlemci için bir BIOS ayarı kullanarak SMT'yi yapılandırabilirsiniz, ancak bu genellikle sunucuda çalışan tüm iş yüklerini etkileyen sunucu kapsamlı bir işlemdir. Sanallaştırılmış ortamlarda çalışan iş yüklerini, fiziksel işletim sistemi ortamında SMT performans artışından yararlanabilecek iş yüklerinden ayırmayı düşünebilirsiniz.

Yardım alın

SQL belgelerine katkıda bulunma

SQL içeriğini kendiniz düzenleyebildiğinizi biliyor muydunuz? Bunu yaparsanız, belgelerimizin geliştirilmesine yardımcı olmakla kalmaz, aynı zamanda sayfaya katkıda bulunan olarak da kabul edilirsiniz.

Daha fazla bilgi için Bkz. Microsoft Learn belgelerini düzenleme.