Проблемы с производительностью SQL-сервера? Посмотрите на параметр MaxDOP
-
Главная
-
Блог
-
Проблемы с производительностью SQL-сервера? Посмотрите на параметр MaxDOP
Настройки распараллеливания (parallelism) играют ключевую роль в обработке тяжелых запросов и могут вызывать проблемы с производительностью.
Часто разные источники предлагают отключить распараллеливание в случае, если обнаруживается большое ожидание CX-пакетов. Но ожидание CX-пакетов является симптомом какой-то проблемы, а не проблемой самой по себе.
Правильные настройки параметра MaxDOP (максимальной степени распараллеливания – maximum degree of parallelism) практически невозможно определить без тестирования в реальной среде с реальными нагрузками. Специалисты Idera рекомендуют использовать следующие настройки как базовые:
- Если сервер использует SMP (симметричный мультипроцессинг) и количество процессоров меньше или равно 8-ми, то лучше всего оставить этот параметр равным 0 (дефолтное значение).
-
Если сервер использует SMP (симметричный мультипроцессинг) и количество процессоров больше 8-ми, то параметр надо поставить равным 8-ми.
-
Если сервер использует NUMA (неравномерный доступ к памяти) – то параметр надо установить равным количеству процессоров на узел NUMA, или 8-ми, в зависимости от того, какое число меньше.
Большинство SQL-серверов сегодня работают на NUMA c большим количеством процессоров, чтобы справиться с очень большой нагрузкой. Поэтому последняя указанная рекомендация скорее всего будет самой часто используемой.
По материалам с сайта idera.com, Glenn Berry’s SQL Performance, SQLSoldier
Возникли вопросы? Мы готовы уточнить интересующие Вас детали "по телефону" или "по e-mail".
Получить консультацию специалиста