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 menjelaskan cara mengonfigurasi max degree of parallelism opsi konfigurasi server (MAXDOP) di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL. Ketika instans SQL Server berjalan di komputer yang memiliki lebih dari satu microprocessor atau CPU, Mesin Database mendeteksi apakah paralelisme dapat digunakan. Tingkat paralelisme menetapkan jumlah prosesor yang digunakan untuk menjalankan satu pernyataan untuk setiap eksekusi rencana paralel. Anda dapat menggunakan max degree of parallelism opsi untuk membatasi jumlah prosesor yang akan digunakan dalam eksekusi rencana paralel. Untuk detail selengkapnya tentang batas yang ditetapkan oleh max degree of parallelism, lihat bagian Pertimbangan di halaman ini. SQL Server mempertimbangkan rencana eksekusi paralel untuk kueri, operasi bahasa definisi data indeks (DDL), sisipan paralel, kolom alter online, pengumpulan statistik paralel, dan populasi kursor statis dan berbasis keyset.
SQL Server 2019 (15.x) memperkenalkan rekomendasi otomatis untuk mengatur max degree of parallelism opsi konfigurasi server berdasarkan jumlah prosesor yang tersedia selama proses penginstalan. Antarmuka pengguna penyiapan memungkinkan Anda menerima pengaturan yang direkomendasikan atau memasukkan nilai Anda sendiri. Untuk informasi selengkapnya, lihat Halaman Konfigurasi Mesin Database - MaxDOP.
Di Azure SQL Database, database SQL di Fabric, dan Azure SQL Managed Instance, pengaturan default MAXDOP untuk setiap database tunggal baru , database kumpulan elastis, dan instans terkelola adalah 8. Di Azure SQL Database dan database SQL di Fabric, konfigurasi cakupan database MAXDOP diatur ke 8. Di Azure SQL Managed Instance, max degree of parallelism opsi konfigurasi server diatur ke 8.
Untuk informasi selengkapnya di MAXDOP Azure SQL Database atau database SQL di Fabric, lihat Mengonfigurasi tingkat paralelisme maksimum (MAXDOP) di Azure SQL Database dan database SQL di Fabric.
Considerations
Opsi ini adalah opsi lanjutan, dan harus diubah hanya oleh profesional database berpengalaman.
Jika opsi masker afinitas tidak diatur ke default, opsi ini mungkin membatasi jumlah prosesor yang tersedia untuk SQL Server pada sistem multiproses simetris (SMP).
Pengaturan max degree of parallelism untuk 0 memungkinkan SQL Server menggunakan semua prosesor yang tersedia hingga 64 prosesor. Namun, ini bukan nilai yang direkomendasikan untuk sebagian besar kasus. Untuk informasi selengkapnya tentang nilai yang direkomendasikan untuk tingkat paralelisme maksimum, lihat bagian Rekomendasi di halaman ini.
Untuk menekan pembuatan rencana paralel, atur max degree of parallelism ke 1. Atur nilai ke angka dari 1 hingga 32.767 untuk menentukan jumlah maksimum inti prosesor yang dapat digunakan selama eksekusi kueri tunggal. Jika nilai yang lebih besar dari jumlah prosesor yang tersedia ditentukan, jumlah aktual prosesor yang tersedia digunakan. Jika komputer hanya memiliki satu prosesor, max degree of parallelism nilai diabaikan.
Tingkat maksimum batas paralelisme ditetapkan per tugas. Ini bukan batas per permintaan atau per kueri. Ini berarti bahwa selama eksekusi kueri paralel, satu permintaan dapat menelurkan beberapa tugas hingga MAXDOP batas, dan setiap tugas menggunakan satu pekerja dan satu penjadwal. Untuk informasi selengkapnya, lihat bagian Menjadwalkan tugas paralel di panduan Arsitektur alur dan tugas.
Anda dapat mengambil alih tingkat maksimum nilai konfigurasi server paralelisme:
- Pada tingkat kueri, menggunakan
MAXDOPpetunjuk kueri atau petunjuk Penyimpanan Kueri. - Pada tingkat database, menggunakan
MAXDOPkonfigurasi cakupan database. - Pada tingkat beban kerja, menggunakan
MAX_DOPopsi grup beban kerja gubernur sumber daya.
Operasi indeks untuk membuat atau membangun ulang indeks, atau membuang indeks berkluster, dapat memerlukan sumber daya intensif. Anda dapat mengambil alih tingkat maksimum nilai paralelisme untuk operasi indeks dengan menentukan MAXDOP opsi indeks dalam pernyataan indeks. Nilai MAXDOP diterapkan ke pernyataan pada waktu eksekusi dan tidak disimpan dalam metadata indeks. Untuk informasi selengkapnya, lihat Mengonfigurasi Operasi Indeks Paralel.
Selain kueri dan operasi indeks, opsi ini juga mengontrol paralelisme DBCC CHECKTABLE, , DBCC CHECKDBdan DBCC CHECKFILEGROUP. Anda dapat menonaktifkan rencana eksekusi paralel untuk pernyataan ini dengan menggunakan bendera pelacakan 2528. Untuk informasi selengkapnya, lihat bendera pelacakan 2528.
SQL Server 2022 (16.x) memperkenalkan Degree of Parallelism (DOP) Feedback, fitur baru untuk meningkatkan performa kueri dengan mengidentifikasi inefisiensi paralelisme untuk kueri berulang, berdasarkan waktu dan waktu tunggu yang berlalu. Umpan balik DOP adalah bagian dari keluarga fitur pemrosesan kueri cerdas, dan mengatasi penggunaan paralelisme suboptimal untuk kueri berulang. Untuk informasi tentang umpan balik DOP, kunjungi Tingkat paralelisme (DOP) umpan balik.
Recommendations
Di SQL Server 2016 (13.x) dan versi yang lebih baru, selama startup layanan jika Mesin Database mendeteksi lebih dari delapan inti fisik per simpul atau soket NUMA saat startup, node NUMA lunak dibuat secara otomatis secara default. Mesin Database menempatkan prosesor logis dari inti fisik yang sama ke dalam node NUMA lunak yang berbeda. Rekomendasi dalam tabel berikut ditujukan untuk menjaga semua utas pekerja dari kueri paralel dalam node numa lunak yang sama. Ini meningkatkan performa kueri dan distribusi utas pekerja di seluruh simpul NUMA untuk beban kerja. Untuk informasi selengkapnya, lihat Soft-NUMA (SQL Server).
Di SQL Server 2016 (13.x) dan versi yang lebih baru, gunakan panduan berikut saat Anda mengonfigurasi max degree of parallelism nilai konfigurasi server:
| Konfigurasi server | Jumlah prosesor | Guidance |
|---|---|---|
| Server dengan simpul NUMA tunggal | Kurang dari atau sama dengan delapan prosesor logis | Simpan MAXDOP di atau di bawah # prosesor logis |
| Server dengan simpul NUMA tunggal | Lebih besar dari delapan prosesor logis | Tetap MAXDOP di 8 |
| Server dengan beberapa simpul NUMA | Kurang dari atau sama dengan 16 prosesor logis per simpul NUMA | Simpan MAXDOP di atau di bawah # prosesor logis per simpul NUMA |
| Server dengan beberapa simpul NUMA | Lebih besar dari 16 prosesor logis per simpul NUMA | Simpan MAXDOP setengah jumlah prosesor logis per simpul NUMA dengan nilai MAX 16 |
Simpul NUMA dalam tabel sebelumnya mengacu pada node numa lunak yang secara otomatis dibuat oleh SQL Server 2016 (13.x) dan versi yang lebih tinggi, atau simpul NUMA berbasis perangkat keras jika numa lunak dinonaktifkan.
Gunakan panduan yang sama ini saat Anda menetapkan tingkat maksimum opsi paralelisme untuk grup beban kerja Resource Governor. Untuk informasi selengkapnya, lihat MEMBUAT GRUP BEBAN KERJA.
SQL Server 2014 dan versi yang lebih lama
Dari SQL Server 2008 (10.0.x) hingga SQL Server 2014 (12.x), gunakan panduan berikut saat Anda mengonfigurasi max degree of parallelism nilai konfigurasi server:
| Konfigurasi server | Jumlah prosesor | Guidance |
|---|---|---|
| Server dengan simpul NUMA tunggal | Kurang dari atau sama dengan delapan prosesor logis | Simpan MAXDOP di atau di bawah # prosesor logis |
| Server dengan simpul NUMA tunggal | Lebih besar dari delapan prosesor logis | Tetap MAXDOP di 8 |
| Server dengan beberapa simpul NUMA | Kurang dari atau sama dengan delapan prosesor logis per simpul NUMA | Simpan MAXDOP di atau di bawah # prosesor logis per simpul NUMA |
| Server dengan beberapa simpul NUMA | Lebih besar dari delapan prosesor logis per simpul NUMA | Tetap MAXDOP di 8 |
Permissions
Jalankan izin tanpa sp_configure parameter atau hanya dengan parameter pertama yang diberikan kepada semua pengguna secara default. Untuk menjalankan sp_configure dengan kedua parameter untuk mengubah opsi konfigurasi atau untuk menjalankan RECONFIGURE pernyataan, pengguna harus diberikan ALTER SETTINGS izin tingkat server. Izin ALTER SETTINGS secara implisit dipegang oleh peran server tetap sysadmin dan serveradmin .
Menggunakan SQL Server Management Studio
Opsi ini mengubah MAXDOP untuk instans.
Di Object Explorer, klik kanan instans yang diinginkan dan pilih Properti.
Pilih simpul Tingkat Lanjut .
Dalam kotak Tingkat Paralelisme Maksimum, pilih jumlah maksimum prosesor yang akan digunakan dalam eksekusi rencana paralel.
Menggunakan Transact-SQL
Sambungkan ke Mesin Database dengan SQL Server Management Studio.
Dari bilah Standar, pilih Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan. Contoh ini menunjukkan cara menggunakan sp_configure untuk mengonfigurasi
max degree of parallelismopsi ke16.USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE; GO EXECUTE sp_configure 'max degree of parallelism', 16; GO RECONFIGURE WITH OVERRIDE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
Untuk informasi selengkapnya, lihat Opsi konfigurasi server.
Tindak lanjut: Setelah Anda mengonfigurasi tingkat maksimum opsi paralelisme
Pengaturan berlaku segera tanpa memulai ulang server.
Konten terkait
- Pemrosesan kueri cerdas dalam database SQL
- Panduan arsitektur pemrosesan kueri
- Atur bendera pelacakan dengan DBCC TRACEON (Transact-SQL)
- Petunjuk penyimpanan kueri
- Petunjuk kueri (Transact-SQL)
- GUNAKAN petunjuk kueri HINT
- ALTER DATABASE SCOPED CONFIGURATION (T-SQL)
- Opsi Konfigurasi Server mask afinitas
- Opsi konfigurasi server
- Panduan Arsitektur Pemrosesan Kueri
- Panduan arsitektur alur dan tugas
- sp_configure (T-SQL)
- Atur Opsi Indeks
- Tingkat paralelisme (DOP) umpan balik
- KONFIGURASI ULANG (Transact-SQL)
- Monitor dan Selaraskan Kinerja
- Mengonfigurasi Operasi Indeks Paralel