Bagikan melalui


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 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

  1. Di Object Explorer, klik kanan server dan pilih Properti.

  2. Klik simpul Prosesor .

  3. 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

  1. Sambungkan ke Mesin Database.

  2. Dari bilah Standar, klik Kueri Baru.

  3. 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 ke 900.

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