Конфликт TempDB с 24 физическими файлами tempdb на 48 ядре AMD Opteron

8

Я только что получил следующее уведомление об экземпляре SQL Server 2005. Этот экземпляр имеет отношение core-tempdb-file к 2: 1 для общего числа файлов tempdb в 24 файлах. Разногласия не должны происходить - как бы я обнаружил источник этого раздора? TempDB и все остальные базы данных находятся в хранилище SAN через 10 ГБ Ethernet. SAN имеет 46 дисков SAS 10 тыс., Сконфигурированных в одном массиве RAID-60. Этот массив используется несколькими серверами VMWare и одним или двумя серверами Exchange.

Уведомление от Idera SQL Diagnostic Manager:

08.11.2012 22:49:00, Конфликт Tempdb (мс) в MGSQL01 является критическим.

Конфликт защелки Tempdb был обнаружен в MGSQL01. Общее время ожидания составляет 1782 миллисекунды. Это указывает на то, что конкуренция на картах распределения в базе данных tempdb влияет на производительность. Если это обычная проблема, ее можно устранить, следуя рекомендациям в отношении количества файлов tempdb, размера и подсистемы ввода-вывода.

Время ожидания PFS: 1782 мс Время ожидания GAM: 0 мс Время ожидания SGAM: 0 мс

Tempdb Contention (мс): текущее время ожидания для карт распределения tempdb (GAM, SGAM и PFS) в миллисекундах. Это предупреждение может появляться только в тех случаях, когда запущен SQL 2005 или более поздней версии.

Макс Вернон
источник
1
Хея Макс, просто пара быстрых вопросов. Мне пришлось столкнуться с подобной проблемой совсем недавно. Это pagelatch_SH или pageiolatch_SH? Я почти уверен, что это pagelatch_SH в вашем случае, но я просто хочу быть уверен. - Использовали ли вы расширенные события для отслеживания, какие запросы накапливают наибольшее время ожидания PAGELATCH_SH? Можете ли вы также опубликовать свои 20 лучших статистик ожидания из SELECT * FROM SYS.DM_OS_WAIT_STATS ORDER BY 3 Что говорит вам perfmon? Действительно ли диск TempDB испытывает реальный конфликт ввода-вывода? Спайк в МС?
Али Разеги
2
Ожидания на странице PFS в определенном файле или все они? Все ли файлы tempdb имеют одинаковый размер? Вы знаете, какой тип / размер объектов размещается в базе данных tempdb? Временные таблицы явно усекаются и удаляются кодом приложения? Вы думали о реализации флага трассировки 1118?
пролив
Привет Макс, загляни сюда sqlblog.com/blogs/adam_machanic/archive/2011/04/21/…
2
@MaxVernon: как правило, всегда запускайте T1118. Там действительно нет никаких причин, чтобы бежать без него
Томас Кейсер
1
@maxvernon, я +1 твой предмет подключения. Хороший.
Эдвард Дортланд,

Ответы:

5

Флаг трассировки 1118 форсирует равномерное распределение экстентов вместо смешанных распределений страниц. Флаг трассировки обычно используется, чтобы помочь в масштабируемости TEMPDB, избегая SGAM и других конфликтных точек выделения. Если у вас есть SQL Server 2008 или SQL Server 2005 и исправление применено, но вы все еще сталкиваетесь с конфликтом TEMPDB, рассмотрите флаг трассировки 1118 для получения дополнительной помощи в разрешении конфликта.

Трой
источник
1
Не могли бы вы объяснить, желательно на примере, как переход от общего распределения на одной странице к выделенному выделенному экстенту решит конфликт PFS?
Эдвард Дортланд