Главная » Microsoft SQL Server, Базы данных » Использование монитора производительности

0

Монитор производительности включает в себя две консоли: System Monitor и Performance Logs and Alerts. Некоторые серверы помещают ярлык этого приложения в папку Администрирование панели управления системы Windows. В качестве альтернативы этот монитор можно запустить в утилите SQL Server Profiler, выбрав в ней пункт меню Tools ^Performance Monitor.

Само название программы монитор производительности (Performance Monitor) На заметку способно ввести в заблуждение. PerfMon.exe — это приложение, которое поставляется с предыдущими версиями операционной системы Windows. Новый монитор производительности является полноценной консолью управления, и так его было бы правильнее и называть, однако почему-то компания Microsoft

решила назвать это приложение именно монитором, так что нам ничего не остается, кроме как смириться с этим. Подробнее об этом приложении вы можете узнать в книгах, посвященных Windows ХР.

Монитор системы

Монитор системы, точнее, программа sysmon. ехе, хорошо знаком каждому, кто когда- либо занимался администрированием серверов, находящихся под управлением серверной версии Windows. Монитор системы содержит множество счетчиков, консолидирующих данные о внутренних характеристиках сервера. В некотором смысле он напоминает монитор кардиографа, однако измеряет режим работы не сердца человека, а операционной системы и сервера баз данных (рис. 49.1).

Рис. 49.1. Приложение монитора системы может пригодиться для оценки общей активности SQL Server

Дополнительные счетчики производительности добавляются в монитор системы по одному, с помощью щелчка на кнопке со знаком “плюс” на панели инструментов. Счетчики производительности можно устанавливать как на локальном, так и на удаленном сервере; таким образом, совершенно не обязательно запускать эту программу непосредственно на компьютере сервера баз данных. Показатели счетчиков могут отображаться в виде линейного графика, гистограммы или в реальном времени.

Все счетчики организованы по объектам и иногда по экземплярам объектов. В примере, показанном на рис. 49.1, объект SQL Server: Databases содержит множество счетчиков, включая счетчик количества транзакций, обрабатываемых в секунду. Показатели этого счетчика можно просмотреть как для всех баз данных, так и только для избранных экземпляров.

Ядро базы данных SQL Server является далеко не единственным поставщиком J На заметку информации для монитора системы — свои счетчики в него добавляют службы анализа и отчетности, серверы .NET, ASP, BizTalk и многие другие.

Обычно новый счетчик отображается в виде прямой линии в верхней или нижней части диаграммы, так как для его более детального просмотра необходимо выполнить масштабирование. В диалоговом окне параметров программы, которое открывается с помощью команды Properties контекстного меню, вы можете скорректировать масштаб всех графиков, диапазон значений выбранного счетчика и его представления на экране.

Несмотря на то что существуют сотни доступных счетчиков монитора системы, в табл. 49.1 перечислены только самые популярные из них, непосредственно относящиеся к серверу баз данных SQL Server.

Таблица 49.1. Ключевые счетчики мониторинга производительности

Объект

Счетчик

Описание

Область применения

SQLServer:Buf fer Manager

Мера использования кэша

Процент чтений, выполняемых из кэшированных в памяти данных

SQL Server обычно хорошо справляется с работой предварительного кэширования данных в память. Если показатели не превышают 95%, то больший объем памяти может существенно повысить производительность

Processor

Мера загрузки процессора

Процент общей загрузки процессора

Если мера загрузки процессора постоянно находится на уровне больше 60%, существенно повлиять на производительность могут дополнительные и более быстродействующие ядра процессора

SQLServer:SQL Statistics

Количество пакетных запросов в секунду

Обработка пакетов SQL

Неплохой индикатор активности пользователей

Physical Disk

Средняя длина очереди дисковых операций

Общее количество дисковых операций (чтения и записи), ожидающих в очереди. Это индикатор общей пропускной способности диска, на которую влияют количество приводов, задействованных в RAID-массиве. Согласно мнению компании Microsoft, длина этой очереди не должна превышать количество дисков плюс 2.

(Не забудьте при просмотре этого показателя проверить масштаб.)

Пропускная способность диска является ключевым фактором производительности. Разделение базы данных по множеству дисковых подсистем может положительно сказаться на производительности


Объект

Счетчик

Описание

Область применения

SQLServer:SQL Statistics

Количество отказов автоматической настройки параметров в секунду

Количество запросов, для которых СУБД SQL Server не кэшировала план выполнения в память. Эта мера является индикатором плохо написанных запросов (не забывайте проверять масштабирование)

Локализация и корректировка плохо написанных запросов позволяет повысить производительность

SQLServer: Locks

Среднее время ожидания блокировок(в миллисекундах)

Может стать причиной серьезных проблем производительности. Время ожидания блокировок, а также общее количество и величина задержек являются хорошими индикаторами качества политики блокировок, использованной в базе данных

Если возникают проблемы, связанные с блокировкой, следует еще раз проверить структуру индексов и программный код транзакций

SQLServer:User Connections

Количество подключений пользователей

Текущее количество подключений

Неплохой индикатор потенциальной ценности базы данных

SQLServer: Databases

Количество транзакций в секунду

Текущее количество транзакций в секунду

Хороший индикатор активности базы данных

Следует отметить, что еще один индикатор, SQLServer .-Wait Statistics, способен помочь в выявлении узких мест в сервере баз данных.

I        Полный список счетчиков SQL Server и их текущие значения можно узнать S VS   с П0М01ДЬЮ динамического представления управления sysdm_os_performance_ * I *          counters. Это достаточно удобно, поскольку позволяет получить статистические     *              данные непосредственно в программном коде T-SQL.

Вы и сами можете создать собственные счетчики с помощью языка Т-SQL и передавать данные из базы в системный монитор. Это может оказаться полезным для отображения производительности транзакций или количества строк, вставляемых генератором данных. Существует десяток полезных пользовательских счетчиков. В следующем простом примере показано приращение значения счетчика:

DECLARE @Counter Int SET @Counter = 0 While @Counter < 100 BEGIN

SET @Counter = @Counter + 1 EXEC sp_user_counterl @Counter WAITFOR Delay ’00:00:02′

END

Я использую монитор системы для получения общей картины состояния сервера баз данных и определения, с какими вопросами могу потенциально столкнуться в работе. На основании этой информации я могу воспользоваться утилитой SQL Profiler для более детального ознакомления с проблемой и ее решения.

Конфигурацию монитора системы, включая все счетчики, можно сохранить в файле — для этого следует выбрать в меню команду File^Save As. Если необходимо восстановить эту конфигурационную информацию, нужно выбрать в меню пункт File^Open. С помощью этой технологии вы можете экспортировать конфигурацию монитора системы на другие серверы.

Однако существует одна тонкость. Если счетчик осуществляет мониторинг локального сервера, то и на другом сервере он будет отслеживать состояние локального компьютера. Если же счетчик предназначен для мониторинга удаленного сервера, то даже будучи установленным на другом компьютере, он будет отслеживать все тот же сервер, независимо от того, где открыт файл конфигурации монитора системы. Так как администраторы баз данных крайне редко работают за тем же компьютером, на котором установлена СУБД SQL Server, этот факт может представлять проблему. Если данная проблема встанет перед вами, отправьте мне письмо по электронной почте — возможно, к тому моменту я напишу собственный монитор системы, в котором решу эту и многие другие проблемы.

Протоколы счетчиков производительности

Монитор производительности также содержит встраиваемый модуль Performance Logs and Alerts, включающий в себя протоколы счетчиков (Counter Logs), оповещения трассировки (Trace Alerts) и обычные предупреждения. В этом разделе мы сосредоточим внимание на первом из этих компонентов. Протоколы счетчиков используют все те же счетчики сервера, что и монитор системы, однако вместо графического отображения на экране их показателей в реальном времени данные записываются в журнал. Это значит, что записанные данные можно будет впоследствии проанализировать и даже воспроизвести в утилите SQL Server Profiler (об этом прекрасном инструменте мы подробно поговорим в следующем разделе).

Параметры конфигурации протоколов производительности перечислены в узле Counter Logs монитора производительности. Чтобы увидеть результирующие файлы, достаточно заглянуть в выходной каталог.

Для создания нового протокола производительности следует выбрать в контекстном меню узла Counter Logs пункт New Log Settings. После ввода имени протокола откроется диалоговое окно, показанное на рис. 49.2, в котором можно выбрать регистрируемые счетчики. Добавление нового объекта приводит к перечислению для него всех счетчиков; в то же время можно вручную изменить их состав для более точных целей, подобно тому, как это выполняется в мониторе системы.

Для протоколов счетчиков можно составить расписание; их можно запускать и останавливать вручную из контекстного меню Log или с помощью соответствующих кнопок панели инструментов.

Если создание протокола было определено в виде текстового файла с разделителями, вы сможете открыть его с помощью программы Excel. Каждый столбец представляет собой последовательность показаний некоторого счетчика, а каждая строка является совокупностью показаний одной выборки.

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии