Mengonfigurasi Opsi Konfigurasi Server utas pekerja maks
Topik ini menjelaskan cara mengonfigurasi opsi konfigurasi server utas pekerja maks di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL. Opsi utas pekerja maks mengonfigurasi jumlah utas pekerja yang tersedia untuk proses SQL Server. SQL Server menggunakan layanan utas asli dari sistem operasi sehingga satu atau beberapa utas mendukung setiap jaringan yang SQL Server mendukung secara bersamaan, utas lain menangani titik pemeriksaan database, dan kumpulan utas menangani semua pengguna. Nilai default untuk utas pekerja maks adalah 0. Ini memungkinkan SQL Server untuk secara otomatis mengonfigurasi jumlah utas pekerja saat startup. Pengaturan default adalah yang terbaik untuk sebagian besar sistem. Namun, tergantung pada konfigurasi sistem Anda, mengatur utas pekerja maks ke nilai tertentu terkadang meningkatkan performa.
Dalam Topik Ini
Sebelum Anda memulai:
Untuk mengonfigurasi opsi utas pekerja maks, gunakan:
Tindak Lanjut:Setelah Anda mengonfigurasi opsi utas pekerja maks
Sebelum Anda mulai
Batasan dan Pembatasan
- Saat jumlah permintaan kueri aktual kurang dari jumlah yang ditetapkan dalam utas pekerja maks, satu utas menangani setiap permintaan kueri. Namun, jika jumlah permintaan kueri aktual melebihi jumlah yang ditetapkan dalam utas pekerja maks, SQL Server mengumpulkan utas pekerja sehingga utas pekerja berikutnya yang tersedia dapat menangani permintaan.
Rekomendasi
Opsi ini adalah opsi lanjutan dan harus diubah hanya oleh administrator database berpengalaman atau teknisi SQL Server bersertifikat.
Pengumpulan utas membantu mengoptimalkan performa ketika sejumlah besar klien terhubung ke server. Biasanya, utas sistem operasi terpisah dibuat untuk setiap permintaan kueri. Namun, dengan ratusan koneksi ke server, menggunakan satu utas per permintaan kueri dapat menggunakan sumber daya sistem dalam jumlah besar. Opsi utas pekerja maks memungkinkan SQL Server membuat kumpulan utas pekerja untuk melayani sejumlah besar permintaan kueri, yang meningkatkan performa.
Tabel berikut menunjukkan jumlah utas pekerja maks yang dikonfigurasi secara otomatis untuk berbagai kombinasi CPU dan versi SQL Server.
Jumlah CPU Komputer 32-bit Komputer 64-bit <= 4 prosesor 256 512 8 prosesor 288 576 16 prosesor 352 704 32 prosesor 480 960 64 prosesor 736 1472 128 prosesor 4224 4480 256 prosesor 8320 8576 Catatan
Untuk rekomendasi tentang menggunakan lebih dari 64 CPU, lihat Praktik Terbaik untuk Menjalankan SQL Server di Komputer yang Memiliki Lebih dari 64 CPU.
Peringatan
Kami merekomendasikan 1024 sebagai jumlah maksimum utas pekerja untuk instans SQL Server yang berjalan di komputer 32-bit.
Ketika semua utas pekerja aktif dengan kueri yang berjalan lama, SQL Server mungkin tampak tidak responsif sampai utas pekerja selesai dan tersedia. Meskipun ini bukan cacat, kadang-kadang bisa tidak diinginkan. Jika proses tampaknya tidak responsif dan tidak ada kueri baru yang dapat diproses, maka sambungkan ke SQL Server menggunakan koneksi administrator khusus (DAC), dan hentikan prosesnya. Untuk mencegah hal ini, tingkatkan jumlah utas pekerja maks.
Opsi konfigurasi server utas pekerja maks tidak memperhitungkan utas yang diperlukan untuk semua tugas sistem seperti Grup Ketersediaan, Broker Layanan, Manajer Kunci, dan lainnya. Jika jumlah utas yang dikonfigurasi terlampaui, kueri berikut akan memberikan informasi tentang tugas sistem yang telah menghasilkan utas tambahan.
SELECT
s.session_id,
r.command,
r.status,
r.wait_type,
r.scheduler_id,
w.worker_address,
w.is_preemptive,
w.state,
t.task_state,
t.session_id,
t.exec_context_id,
t.request_id
FROM sys.dm_exec_sessions AS s
INNERJOIN sys.dm_exec_requests AS r
ON s.session_id = r.session_id
INNER JOIN sys.dm_os_tasks AS t
ON r.task_address = t.task_address
INNER JOIN sys.dm_os_workers AS w
ON t.worker_address = w.worker_address
WHERE s.is_user_process = 0;
Keamanan
Izin
Jalankan izin pada sp_configure tanpa 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 pernyataan KONFIGURASI ULANG, pengguna harus diberikan izin tingkat server ALTER SETTINGS. Izin UBAH PENGATURAN secara implisit dipegang oleh peran server tetap sysadmin dan serveradmin .
Menggunakan SQL Server Management Studio
Untuk mengonfigurasi opsi utas pekerja maks
Di Object Explorer, klik kanan server dan pilih Properti.
Klik simpul Prosesor .
Dalam kotak Utas pekerja maks , ketik atau pilih nilai dari 128 hingga 32767.
Gunakan opsi utas pekerja maks untuk mengonfigurasi jumlah utas pekerja yang tersedia untuk SQL Server proses. Pengaturan default untuk utas pekerja maks adalah yang terbaik untuk sebagian besar sistem. Namun, tergantung pada konfigurasi sistem Anda, mengatur utas pekerja maks ke nilai yang lebih kecil terkadang meningkatkan performa.
Menggunakan T-SQL
Untuk mengonfigurasi opsi utas pekerja maks
Sambungkan ke Mesin Database.
Dari bilah Standar, klik Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan klik Jalankan. Contoh ini menunjukkan cara menggunakan sp_configure untuk mengonfigurasi
max worker threads
opsi ke900
.
USE AdventureWorks2012 ;
GO
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE ;
GO
EXEC sp_configure 'max worker threads', 900 ;
GO
RECONFIGURE;
GO
Untuk informasi selengkapnya, lihat Opsi Konfigurasi Server (SQL Server).
Tindak Lanjut: Setelah Anda mengonfigurasi opsi utas pekerja maks
Perubahan akan segera berlaku tanpa mengharuskan Mesin Database untuk memulai ulang.
Lihat juga
KONFIGURASI ULANG (Transact-SQL)
Opsi Konfigurasi Server (SQL Server)
sp_configure (Transact-SQL)
Koneksi Diagnostik untuk Administrator Database