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
Azure SQL Managed Instance
Artikel ini menjelaskan cara mengonfigurasi cost threshold for parallelism opsi konfigurasi server di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL.
Tentang batas biaya untuk paralelisme
Opsi cost threshold for parallelism menentukan ambang batas di mana SQL Server mempertimbangkan rencana paralel pada komputer dengan lebih dari satu prosesor logis. Opsi cost threshold for parallelism dapat diatur ke nilai apa pun dari 0 hingga 32.767.
Biaya adalah jumlah perkiraan biaya operator dalam rencana kueri (misalnya, CPU dan I/O). Ini adalah ukuran relatif yang hanya digunakan untuk pemilihan rencana; ini tidak mengukur runtime aktual.
Komponen Transact-SQL tertentu dapat menghambat rencana paralel. Misalnya, fungsi skalar yang tidak dapat di-inline (UDF), modifikasi variabel tabel, dan panggilan sistem tertentu. SQL Server mengevaluasi alternatif paralel hanya ketika perkiraan biaya rencana serial terbaik melebihi nilai cost threshold for parallelism, dan kemudian dapat memilih rencana paralel yang lebih murah.
Batasan
SQL Server mengabaikan cost threshold for parallelism nilai dalam kondisi berikut:
Komputer Anda hanya memiliki satu prosesor logis.
Hanya satu prosesor logis yang tersedia untuk SQL Server karena
affinity maskopsi konfigurasi.max degree of parallelismOpsi konfigurasi server diatur ke1.
Rekomendasi
Opsi ini adalah opsi lanjutan, dan harus diubah hanya oleh profesional database berpengalaman.
Nilai 5 default adalah titik awal, bukan rekomendasi. Pada sistem SQL Server modern, menaikkannya dapat membantu menjaga kueri OLTP yang lebih kecil tetap dijalankan dengan rencana serial. Gunakan kenaikan kecil dan amati siklus bisnis penuh sebelum perubahan lebih lanjut. Lakukan pengujian aplikasi dengan nilai yang lebih tinggi dan lebih rendah jika diperlukan untuk mengoptimalkan performa aplikasi.
Nota
Di Azure SQL Database, Anda tidak dapat mengatur cost threshold for parallelism. Gunakan MAXDOP untuk mengontrol paralelisme sebagai gantinya. Untuk informasi selengkapnya, lihat Mengubah MAXDOP default di Azure SQL Database dan Azure SQL Managed Instance.
Dalam kasus tertentu, rencana paralel mungkin dipilih meskipun biaya rencana kueri kurang dari nilai cost threshold for parallelism saat ini. Keputusan untuk menggunakan paket paralel atau serial didasarkan pada perkiraan biaya yang disediakan sebelumnya dalam proses pengoptimalan. Untuk informasi selengkapnya, lihat Panduan Arsitektur Pemrosesan Kueri.
Komentar
Untuk melihat apakah cost threshold for parallelism opsi konfigurasi server diatur terlalu tinggi atau terlalu rendah untuk beban kerja Anda, cari indikator berikut.
| Ambang biaya untuk pengaturan paralelisme | Description |
|---|---|
| Terlalu rendah | - Terlalu banyak kueri dengan penggunaan CPU rendah berjalan secara paralel. - Di Query Store, banyak paket telah is_parallel_plan diatur ke 1.- CXPACKET dan CXCONSUMER mendominasi statistik jenis tunggu. Anda mungkin juga melihat THREADPOOL dan SOS_SCHEDULER_YIELD menunggu. |
| Terlalu tinggi | - Tidak cukup kueri yang membebani CPU diproses secara paralel, sehingga pemanfaatan CPU lebih tinggi dari yang optimal. - SOS_SCHEDULER_YIELD mendominasi statistik jenis tunggu. |
Izin
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
Di Object Explorer, klik kanan server dan pilih Properti.
Pilih simpul Tingkat Lanjut .
Di bawah Paralelisme, ubah
cost threshold for parallelismopsi ke nilai yang Anda inginkan. Ketik atau pilih nilai dari 0 hingga 32.767.
Menggunakan Transact-SQL
Contoh ini menunjukkan cara menggunakan sp_configure untuk mengatur nilai cost threshold for parallelism ke 20.
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'cost threshold for parallelism', 20;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
Untuk informasi selengkapnya, lihat Opsi konfigurasi server.
Tindak lanjut: Setelah Anda mengonfigurasi ambang biaya untuk opsi paralelisme
Pengaturan berlaku segera tanpa memulai ulang server.