Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Artikel ini membahas batas kapasitas komputasi untuk edisi SQL Server dan perbedaannya dalam lingkungan fisik dan virtual dengan prosesor multithreading (SMT) simultan. Pada CPU Intel, SMT disebut Hyper-Threading.
Gambaran Umum
Tabel ini menjelaskan notasi dalam diagram sebelumnya:
Nilai | Deskripsi |
---|---|
0..1 | Nol atau satu |
1 | Tepat satu |
1..* | Satu atau lebih |
0..* | Nol atau lebih |
1..2 | Satu atau dua |
Untuk menguraikan lebih lanjut:
- Komputer virtual (VM) memiliki satu atau beberapa prosesor virtual.
- Satu atau beberapa prosesor virtual dialokasikan untuk tepat satu komputer virtual.
- 0 atau 1 prosesor virtual dipetakan ke 0 atau lebih prosesor logis. Ketika pemetaan prosesor virtual ke prosesor logis adalah:
- Satu hingga nol: mewakili prosesor logis yang tidak terikat yang tidak digunakan oleh sistem operasi tamu.
- Satu ke banyak: mewakili komitmen berlebihan.
- Nol hingga banyak: mewakili tidak adanya komputer virtual pada sistem host. Jadi VM tidak menggunakan prosesor logis apa pun.
- Sebuah soket dipetakan ke satu atau lebih inti. Saat pemetaan soket-ke-inti adalah:
- Satu hingga nol: mewakili soket kosong. Tidak ada chip yang diinstal.
- Satu banding satu: mewakili chip dengan satu inti yang dipasang di soket. Pemetaan ini jarang terjadi akhir-akhir ini.
- Satu hingga banyak: mewakili chip multi-core yang dipasang di soket. Nilai umumnya adalah 2, 4, dan 8.
- Satu inti dipetakan ke satu atau dua prosesor logis. Ketika pemetaan inti ke prosesor logis adalah:
- Satu ke satu: SMT nonaktif.
- Satu sampai dua: SMT aktif.
Definisi berikut berlaku untuk istilah yang digunakan dalam artikel ini:
Utas atau prosesor logis adalah salah satu mesin komputasi logis dari perspektif SQL Server, sistem operasi, aplikasi, atau driver.
Inti adalah unit prosesor. Ini dapat terdiri dari satu atau beberapa prosesor logis.
Prosesor fisik dapat terdiri dari satu atau beberapa inti. Prosesor fisik sama dengan paket prosesor atau soket.
Batas jumlah inti logis per simpul NUMA hingga 64
Anda dapat mengalami masalah seperti stack dump di server dengan lebih dari 64 prosesor logis per simpul NUMA. Konfigurasi BIOS atau firmware dapat mengurangi jumlah inti logis yang disajikan ke sistem operasi hingga maksimum 64 prosesor logis per simpul NUMA.
Perhatian
Pembaruan Kumulatif 11 untuk SQL Server 2022 (16.x) memperkenalkan perubahan signifikan yaitu Mesin Database tidak akan dimulai jika mendeteksi lebih dari 64 inti (core) logis per simpul NUMA.
Mulai dari SQL Server 2022 (16.x) Pembaruan Kumulatif 15, Penyiapan menghasilkan peringatan bahwa konfigurasi ini tidak didukung dan akan mengakibatkan layanan Mesin Database dihentikan dan dinonaktifkan. Peringatan juga disertakan dalam log Penyiapan.
Anda dapat mengurangi jumlah inti logis per simpul NUMA di Azure Virtual Machine, dengan menonaktifkan SMT. Untuk instans SQL Server bare-metal , Anda dapat mengurangi jumlah inti logis dengan opsi pengklusteran sub-NUMA (SNC) atau Node per Soket (NPS).
Menonaktifkan SMT di Azure Virtual Machine
SQL Server memiliki batas yang didukung untuk 64 inti logis per simpul NUMA. Dalam beberapa kasus, VM seri Azure Mv3 mungkin melebihi batas ini, yang mencegah SQL Server memulai, atau memungkinkannya berjalan dengan performa yang terdegradasi. Untuk menonaktifkan SMT, buat perubahan berikut menggunakan PowerShell dan Editor Registri (reg.exe
). Pastikan untuk mencadangkan registri Anda sebelum mengeditnya.
Periksa jumlah inti logis. SMT diaktifkan jika rasionya adalah 2:1 (jumlah inti logis adalah dua kali jumlah inti).
Get-CimInstance -ClassName Win32_Processor | Select-Object -Property "NumberOfCores", "NumberOfLogicalProcessors"
Nonaktifkan SMT dengan dua perubahan registri berikut, lalu boot ulang VM.
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
Periksa jumlah inti logis sekali lagi. Jumlah inti logis harus cocok dengan jumlah inti.
Get-CimInstance -ClassName Win32_Processor | Select-Object -Property "NumberOfCores", "NumberOfLogicalProcessors"
Mengurangi jumlah inti logis pada instance bare-metal
Bagian berikut menjelaskan cara mengurangi jumlah inti logis pada instans bare-metal (tanpa virtualisasi) SQL Server.
Intel Xeon CPU
Pada generasi ketiga, keempat, dan kelima CPU Intel Xeon, Anda dapat mengaktifkan pengklusteran sub-NUMA (SNC), sebelumnya disebut Cluster-on-Die (CoD), menghasilkan dua domain NUMA dalam satu soket fisik.
Nota
CPU Intel Xeon generasi keenam dilengkapi dengan pengklusteran sub-NUMA (SNC2 atau SNC3) diaktifkan secara default. Dalam beberapa model CPU, konfigurasi SNC default dapat menghasilkan lebih dari 64 prosesor logis per simpul NUMA. Anda harus mengaktifkan fitur INTEL virtual NUMA di BIOS/firmware, bersama SNC2 atau SNC3, untuk model CPU ini.
Pengaturan Konfigurasi | Deskripsi |
---|---|
SNC dinonaktifkan 1 | Menonaktifkan pengklusteran sub-NUMA. |
SNC2 diaktifkan 2 | Menyediakan dua simpul NUMA per soket. |
SNC3 diaktifkan 2 | Menampilkan tiga simpul NUMA per soket. |
Intel VirtualNuma diaktifkan 3 | Membuat beberapa simpul virtual dalam satu simpul NUMA fisik. |
1 Pengaturan default untuk CPU Intel Xeon generasi ketiga, keempat, dan kelima.
2 Bawaan untuk CPU Intel Xeon generasi keenam dan yang lebih baru.
3 Hanya tersedia pada CPU Intel Xeon generasi keenam dan yang lebih baru. Gunakan pengaturan ini untuk CPU jumlah inti tinggi, di mana jumlah prosesor logis per simpul NUMA melebihi 64 saat menggunakan default SNC.
AMD CPU
Pada CPU AMD, Anda dapat mengaktifkan berbagai opsi Node per Soket (NPS).
Pengaturan Konfigurasi | Deskripsi |
---|---|
NPS0 |
Dalam sistem soket ganda, NUMA hadir sebagai simpul tunggal dengan semua saluran memori yang terjalin di seluruh simpul. |
NPS1 (bawaan) |
Konfigurasi ini menyajikan satu simpul NUMA per soket. |
NPS2 |
Konfigurasi ini menyajikan dua simpul NUMA per soket, mirip dengan SNC. |
NPS4 |
Konfigurasi ini menyajikan empat simpul NUMA per soket. |
Keterangan
Sistem dengan lebih dari satu prosesor fisik atau sistem dengan prosesor fisik yang memiliki beberapa inti dan/atau SMT memungkinkan sistem operasi menjalankan beberapa tugas secara bersamaan. Setiap utas eksekusi muncul sebagai prosesor logis. Misalnya, jika komputer Anda memiliki dua prosesor empat inti dengan SMT diaktifkan dan dua utas per inti, Anda memiliki 16 prosesor logis: 2 prosesor x 4 inti per prosesor x 2 utas per inti. Perlu dicatat bahwa:
Kapasitas komputasi prosesor logis dari satu utas inti SMT kurang dari kapasitas komputasi prosesor logis dari inti yang sama dengan SMT yang dinonaktifkan.
Kapasitas komputasi dari dua prosesor logis dalam inti SMT lebih besar dari kapasitas komputasi inti yang sama dengan SMT dinonaktifkan.
Setiap edisi SQL Server memiliki dua batas kapasitas komputasi:
Jumlah maksimum soket (atau prosesor fisik atau paket prosesor)
Jumlah maksimum inti seperti yang dilaporkan oleh sistem operasi
Batas ini berlaku untuk satu instans SQL Server. Mereka mewakili kapasitas komputasi maksimum yang digunakan satu instans. Mereka tidak membatasi server tempat instans mungkin disebarkan. Bahkan, menyebarkan beberapa instans SQL Server di server fisik yang sama adalah cara yang efisien untuk menggunakan kapasitas komputasi server fisik dengan lebih banyak soket dan/atau inti daripada batas kapasitas yang diizinkan.
Tabel berikut menentukan batas kapasitas komputasi untuk satu instans dari setiap edisi SQL Server:
Edisi SQL Server | Kapasitas komputasi maksimum untuk satu instans (SQL Server Database Engine) | Kapasitas komputasi maksimum untuk satu instans (AS, RS) |
---|---|---|
Edisi perusahaan: Lisensi berbasis inti 1 | Batas maksimum sistem operasi | Batas maksimum sistem operasi |
Pengembang | Batas maksimum sistem operasi | Batas maksimum sistem operasi |
Standard | Terbatas pada kurang dari 4 soket atau 24 inti | Terbatas pada kurang dari 4 soket atau 24 inti |
Ekspres | Terbatas pada kurang dari 1 soket atau 4 core | Terbatas pada kurang dari 1 soket atau 4 core |
1 Edisi Perusahaan dengan lisensi Server + Client Access License (CAL) dibatasi hingga 20 core per instans SQL Server. (Lisensi ini tidak tersedia untuk perjanjian baru.) Tidak ada batasan di bawah model Lisensi Server berbasis Inti.
Dalam lingkungan virtual, batas kapasitas komputasi didasarkan pada jumlah prosesor logis, bukan inti. Alasannya adalah bahwa arsitektur prosesor tidak terlihat oleh aplikasi tamu.
Misalnya, server yang memiliki empat soket dengan prosesor quad-core dan kemampuan untuk mengaktifkan dua thread SMT per inti dapat mendukung 32 prosesor logis saat SMT diaktifkan. Tetapi hanya berisi 16 prosesor logis dengan SMT dinonaktifkan. Prosesor logis ini dapat dipetakan ke komputer virtual di server. Beban komputasi komputer virtual pada prosesor logis tersebut dipetakan ke utas eksekusi pada prosesor fisik di server host.
Anda mungkin ingin menonaktifkan SMT ketika performa untuk setiap prosesor virtual penting. Anda dapat mengonfigurasi SMT dengan menggunakan pengaturan BIOS untuk prosesor selama penyiapan BIOS, tetapi biasanya merupakan operasi yang berskala server, yang memengaruhi semua beban kerja yang berjalan di server. Anda mungkin mempertimbangkan untuk memisahkan beban kerja yang berjalan di lingkungan virtual, dari beban kerja yang akan mendapat manfaat dari peningkatan performa SMT di lingkungan sistem operasi fisik.
Konten terkait
- Edisi dan fitur yang didukung SQL Server 2022
- Spesifikasi kapasitas maksimum untuk SQL Server
- Panduan penginstalan SQL Server
Dapatkan bantuan
- Ide untuk SQL: Apakah Anda memiliki saran untuk meningkatkan SQL Server?
- Microsoft Q & A (SQL Server)
- DBA Stack Exchange (tag sql-server): Ajukan pertanyaan SQL Server
- Stack Overflow (tag sql-server): Jawaban atas pertanyaan pengembangan SQL
- Syarat dan Informasi Lisensi Microsoft SQL Server
- Opsi dukungan untuk pengguna bisnis
- Bantuan dan umpan balik SQL Server tambahan
Berkontribusi pada dokumentasi SQL
Tahukah Anda bahwa Anda dapat mengedit konten SQL sendiri? Jika Anda melakukannya, Anda tidak hanya membantu meningkatkan dokumentasi kami, tetapi Anda juga dikreditkan sebagai kontributor ke halaman.
Untuk informasi selengkapnya, lihat Cara berkontribusi pada dokumentasi SQL Server