Saya memiliki server dengan 16 CPU yang dikonfigurasi dengan max degree of parallelism
8 dan max worker threads
pengaturan nol.
Selama satu jam tertentu, sinyal saya menunggu adalah 20% namun pemanfaatan CPU OS saya selama waktu itu tidak pernah melebihi 25%. Bisakah seseorang menjelaskan mengapa sinyal saya menunggu begitu tinggi?
Vendor saya memiliki sistem skoring terbaik di kelas yang mengharapkan kami menunggu sinyal 10% atau kurang, atau kami rusak. Bagaimana saya bisa memperbaiki ini (tanpa menambahkan CPU tambahan)?
- Kami tidak memiliki lebih dari 8 CPU per NUMA node, jadi Trace Flag 8048 tidak berlaku.
- Contoh menunggu terbesar adalah
CXPACKET
(70%), laluPREEMPTIVE_OS_PIPEOPS
(20%) cost threshold for parallelism
diatur ke 50. Haruskah saya menaikkannya? Untuk apa?- Ini adalah mesin fisik (bukan VM), yang didedikasikan untuk SQL Server.
- Saya menggunakan alat pemantauan untuk mengidentifikasi pertanyaan dan prosedur yang paling sering dijalankan. Apakah saya ingin melihat CPU tinggi, I / O tinggi, atau durasi tinggi? Biasanya aplikasi kami intensif I / O jadi saya menyetel I / O tinggi. Tetapi karena masalahnya menunggu sinyal, apakah saya perlu melihat CPU yang tinggi?
- Saya berharap untuk menghindari rekomendasi Max Vernon untuk menurunkan
MAXDOP
ke 4, karena aplikasi melakukan beberapa permintaan gaya gudang yang membutuhkan utas tambahan.