LATAR BELAKANG Saya baru-baru ini melihat ke dalam waktu tunggu CXPacket yang cukup tinggi baru-baru ini yang membuat saya menggunakan SQL Sentry untuk memantau aktivitas prosesor dengan cukup cermat.
Satu hal yang saya perhatikan sebagai hasilnya adalah kami memiliki lonjakan besar dalam pengalihan konteks. Di bawah ini adalah sampel 5 menit tetapi pola ini sangat umum sepanjang hari.
Seperti yang Anda lihat, paku ini cukup teratur. Sekarang pemahaman saya tentang ini akan membuat saya percaya bahwa ini akan menjadi hasil dari tekanan CPU. Namun selama waktu itu hampir tidak mendapatkan lebih dari 60%.
Setelah beberapa penelitian ini membuat saya percaya bahwa ini terjadi sebagai akibat dari hyper threading. Saya tahu saya sudah membaca sebelumnya beberapa bahaya hyper threading. Namun itu ditulis looooong waktu yang lalu.
Untuk membuat cerita panjang pendek. Apakah hyper threading kemungkinan menjadi penyebab lonjakan konteks ini? Apakah mungkin pengalihan konteks berdampak negatif pada pertanyaan paralel saya? Haruskah saya menonaktifkan hyper threading di lingkungan saya?
PEMBARUAN meskipun hal khusus ini terjadi di lingkungan saya, pertanyaan pada intinya lebih universal. Seberapa besar dampak pengalihan konteks tingkat tinggi terhadap permintaan paralel? Bisakah hyper threading menyebabkan masalah seperti ini?
Pada akhirnya sebagian besar dari apa yang saya temukan di internet menunjukkan bahwa hyper threading dan SQL Server bukan teman yang baik, namun kebanyakan info yang sangat tanggal.
Sistem Saya Ada banyak pertanyaan konfigurasi sehingga saya akan membahasnya di sini sehingga dapat dikesampingkan. Kami memiliki pengaturan daya pada kinerja di kedua OS tingkat bio. Maxdop kami diatur ke 8 dan ambang biaya untuk paralelisme adalah 25. Kami memiliki 32 core logis dan 16 fisik. Ini juga sebagian besar merupakan skenario pemuatan data warehouse.