(Возврат на основную страницу)
Распространенные мифы о SQL Server. Часть 6
Пол С. Рендал (Paul S. Randal)
Ваш центральный процессор работает медленно?
Пол С. Рендал (Paul S. Randal)
Забавные случаи при отладке запросов: выражения с недоступным
для поиска предложением WHERE
Пол С. Рендал (Paul S. Randal)
Какие компоненты SQL Server установлены, проверка средствами
T-SQL
Паван Сингх (Pawan Singh)
Представления DMV для получения метаданных плана выполнения
запросов (продолжение)
Луис Дэвидсон ( Louis Davidson) и Тим Форд (Tim Ford)
Как распознать и предупредить о блокированных процессах при
помощи SP_WHO2
Джошуа Уолкер (Joshua A. Walker )
Распространенные мифы о SQL Server. Часть 6
Пол С. Рендал (Paul S. Randal)
Читайте первую, вторую и третью части статьи в журналах за ноябрь, декабрь 2010
года и за январь, февраль, март 2011 года.
Ваш центральный процессор работает медленно?
Пол С. Рендал (Paul S. Randal)
За последнюю пару недель я подписал контракты с новыми заказчиками для проверки
обслуживания и общей производительности их систем и предложил всем проверить
состояние режима энергосбережения в ЦПУ. Результаты меня поразили – некоторые
клиенты считали, что работают с максимальным быстродействием.
Одним словом, для энергосбережения ЦПУ может переходить на пониженную частоту, а
при возрастании нагрузки автоматически увеличивать быстродействие. Но в какой
момент они разгоняются? Тут неоднозначно – временами их нужно подтолкнуть, чтобы
дать разгон.
На самом ли деле вы хотите, чтобы рабочая нагрузка выполнялась медленнее, пока
ЦПУ не дошел до волшебной точки разгона. Скорее всего, нет.
В этом и состоит вопрос данной статьи – я бы рекомендовал проверить скорость ЦПУ
в вашей системе и убедиться находятся ли он в режиме энергосбережения без вашего
ведома. Думаю, вы будете удивлены. Мне хотелось бы узнать, что вы обнаружили.
Забавные случаи при отладке запросов: выражения с недоступным
для поиска предложением WHERE
Пол С. Рендал (Paul S. Randal)
За последнюю пару месяцев мне приходилось много заниматься улучшением
производительности и на этих выходных я столкнулся с весьма странным
обстоятельством. Кимберли помогала мне оптимизировать непростой план запроса и
заметила в пропущенном мною коде то, что приводило к просмотру индекса вместо
поиска в индексе. Написанный код был таков, что просмотр сканирование индекса
выполнялся выполнялось даже при том, что в плане использовался покрывающий
некластеризованный индекс.
Какие компоненты SQL Server установлены, проверка средствами
T-SQL
Паван Сингх (Pawan Singh)
Однажды передо мной встала задача определеить, какие компоненты устанвлены на
сервере. Можно воспользоваться услугами SQL Configuration manager (если вы
проверяете 1 или 2 SQL server). Но в моем случае, список был из 200 позиций.
После некоторого времени ручной работы я решил автоматизировать процесс
Представления DMV для получения метаданных плана выполнения
запросов (продолжение)
Луис Дэвидсон ( Louis Davidson) и Тим Форд (Tim Ford)
Прежде, чем можно будет приступить к решению любых проблем с производительностью
работающей базы данных, надо выяснить, с каких запросов следует начинать работу:
какие из запросов отнимают больше всего времени в целом, а какие являются самыми
дорогими в смысле потребления ресурсов, таких как кэш, ЦП и дисковое
пространство. Хотя помощь можно получить в среде SQL Server Management Studio,
пройдет немного времени и вам потребуется весь арсенал представлений DMV, чтобы
получить статистические данные, необходимые для выявления виновных.
Следующая статья – это фрагмент готовящейся к публикации книги «Performance
Tuning with SQL Server Dynamic Management Views» Луиса Дэвидсона (Louis
Davidson) и Тима Форда (Tim Ford). Эта книга должна выйти из печати и появиться
на сайте Amazon во второй половине сентября 2010 г.
Описываемые в этой статье объекты динамического управления (Dynamic Management
Objects, DMO) позволяют получить метаданные и статистику для каждого запроса,
выполненного ранее на вашем сервере, а также использованный для этого запроса
план его выполнения при условии, что этот план находится в кэше планов.
Например, если выполнялась хранимая процедура, и план ее выполнения был помещен
в кэш, тогда мы не только можем вернуть этот план и проанализировать его, но
можно также получить привязанные к плану статистические данные о выполнении
хранимой процедуры, такие как суммарное число выполненных операций считывания с
диска, суммарное время, затраченное на выполнение, и так далее.
Как распознать и предупредить о блокированных процессах при
помощи SP_WHO2
Джошуа Уолкер (Joshua A. Walker )
Представленный ниже код «приглядывает» за исполнением SP_WHO2 и определяет
наличие блокированных процессов. Если блокированный процесс обнаружен, мы
собираем всю необходимую информацию и отсылаем письмо по электронной почте.
В коде реализован следующий функционал:
создается таблица для хранения истории блокировок.
присутствует хранимая процедура для сбора данных и вызова кода отсылки почтового сообщения
если код отсылки сообщений отсутствует, мы создаем его
для регулярного мониторинга блокировок создается задание
(Возврат на основную страницу)