У меня есть сервер с 16 процессорами, который настроен с max degree of parallelism
8 и max worker threads
нулевой настройкой.
В течение определенного часа мой сигнал ожидания составлял 20%, но загрузка процессора моей ОС за это время не превышала 25%. Может кто-нибудь объяснить, почему мои ожидания сигнала были так высоки?
У моего поставщика лучшая в своем классе система подсчета очков, которая предполагает, что мы ожидаем 10% сигналов или меньше, или мы потеряли контроль. Как я могу исправить это (без добавления дополнительных процессоров)?
- У нас не более 8 процессоров на узел NUMA, поэтому Trace Flag 8048 не применяется.
- Наибольшее ожидание экземпляра составляет
CXPACKET
(70%), затемPREEMPTIVE_OS_PIPEOPS
(20%) cost threshold for parallelism
установлен на 50. Должен ли я его поднять? К чему?- Это физическая машина (не виртуальная машина), выделенная для SQL Server.
- Я использую инструмент мониторинга для выявления наиболее часто выполняемых запросов и процедур. Хочу ли я посмотреть на высокую загрузку процессора, высокую скорость ввода-вывода или большую продолжительность? Обычно наше приложение интенсивно использует ввод-вывод, поэтому я настраиваю высокий уровень ввода-вывода. Но так как проблема заключается в ожидании сигнала, мне нужно смотреть на высокую загрузку процессора?
- Я надеялся избежать рекомендации Макса Вернона понизить
MAXDOP
до 4, потому что приложение выполняет некоторые складские запросы, которые требуют дополнительных потоков.