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.
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ış
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.
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"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 /fMantı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.
İlgili içerik
- SQL Server 2022'nin Sürümleri ve desteklenen özellikleri
- SQL Server için maksimum kapasite belirtimleri
- SQL Server yükleme kılavuzu
Yardım alın
- SQL için Fikirler: SQL Server'ın geliştirilmesine yönelik önerileriniz mi var?
- Microsoft Soru-Cevap (SQL Server)
- DBA Stack Exchange (etiket sql-server): SQL Server soruları sorun
- Stack Overflow (etiket sql-server): SQL geliştirme sorularının yanıtları
- Microsoft SQL Server Lisans Koşulları ve Bilgileri
- İş kullanıcıları için destek seçenekleri
- Ek SQL Server Yardım ve Geri Bildirim
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.