Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 40051.doc
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
265.73 Кб
Скачать

2 Теоретический материал для домашнего изучения

2.1 Мониторинг производительности.

Мониторинг производительности – комплексные и регулярные исследования загруженности аппаратных и программных ресурсов установленной и работающей системы. Благодаря своевременной оценки мощности обеспечивается адекватная подготовка к росту рабочей нагрузки в соответствии с ресурсами системы. Эти исследования должны давать информацию, в первую очередь, для администратора базы данных. Администратор базы данных использует эту информацию, чтобы опре­делить, какие изменения требуется внести в систему, чтобы система соответствовала уровню производительности, заданному в соглашении об уровне обслуживания.

При типичном сценарии осуществления мониторинга производительности, выполняется анализ по старым данным производительности, сохраненным в базе данных. Благода­ря анализу можно прогнозировать тенденции нормального роста загру­женности центрального процессора (процента времени в течение периода наблюде­ний, когда центральный процессор был занят), использования дисков, оперативной памяти и сети. Также можно спрогнозировать неожиданные увеличения нагруз­ки на центральный процессор, диски и оперативную память, вызванные добавлением в систему новых пользователей. Обычно увеличение нагрузки имеет линейную зависимость.

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

Кроме того, нужно создавать и поддерживать некоторые резервы мощности (резервы вычис­лительной мощности центральных процессоров, резервы свободного места на дисках «резервы оперативной памяти), чтобы время отклика находилось в заданных преде­лах, как при установившемся режиме работы, так и при пиковых нагрузках. Это связано с теорией «загиба кривой» (knee of the curve theory). Теория предсказывает, что загруженность системы работой непосредствен­но влияет на образование очередей, а так как длина очередей непосредственно связана со временем отклика, то загруженность системы оказывает непосредственное влия­ние на время отклика. Загибом кривой называется точка, начиная от которой такие показатели, как время отклика или длительность очередей, переходят от линейного роста к экспоненциальному или асимптотическому (с уходом в бесконечность при приближении нагрузки к некоторому конечному значению) росту. Согласно практическому правилу, рост очередей остается линейным, пока центральный процессор используется не более чем на 75%. При загруженности центрального процессора, превыша­ющей 75%, кривая зависимости длины очередей переходит от линейного ростах экспоненциальному. Для дисковой подсистемы эта цифра составляет 85%.

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

  • System Monitor. Применяется для мониторинга использования ресурсов SQL Server и Windows 2000. System Monitor является Средством Windows 2000, до­ступным из меню Start.

  • SQL Server Enterprise Manager. Предоставляет как информацию об использовании ресурсов, так и некоторую ограниченную информацию о производительности.

  • Программы мониторинга систем управления реляционными базами данных от сторонних производителей. Эти средства имеют возможности для мониторинга сис­тем управления реляционными базами данных (RDBMS, relational database management system) и для выдачи оповещений.

  • Сетевые мониторы. Применяются при необходимости слежения за сетью. Это-SMS (Systems Management Server) от фирмы Microsoft и утилиты от сторонних производителей.

  • Общение с пользователями. Позволяют получить информацию о том, как пользо­ватели оценивают производительность системы.

Основные компоненты, подвергающиеся анализу:

  • Центральный процессор;

  • Дисковая подсистема;

  • Оперативная память;

  • Сеть;

Далее будут подробно рассмотрены каждый из компонентов.

2.1.1 Центральный процессор.

Сервер базы данных занимается обработкой транзакций, обрабатывая запро­сы от пользователей в форме операций ввода/вывода. Загруженность процессора будет зависеть от количества операций ввода-вывода, генерируемых транзакциями и длительности времени, за которое они должны быть завершены. Предпочтительным является отслеживание периодов пиковых нагрузок, что соответствует наихудшему сценарию развития событий.

Наблюдать за загруженностью центрального процессора можно при помощи программы System Monitor («Системный монитор» в составе Windows 2000), где имеется множество счетчиков, связанных с измерением от­дельных центральных процессоров. Эти счетчики находятся в объекте Processor (Процессор). Для задач предварительного планирования мощности наиболее полезны следующие счет­чики:

• % Processor Time (% Загруженности процессора). Процент, в течение которого процессор был занят, исполняя команды. Команда (instruction) — это минимальная единица работы, исполняемой компьютером, поток (thread) - это объект, который вы­полняет команды, а процесс (process) - это объект, создаваемый при запуске программы. Счетчик % Processor Time можно рассматривать как долю времени, рас­ходуемого на выполнение полезной работы.

• % Privileged Time (% Работы в привилегированном режиме). Процент времени, в течение которого процессор работал в привилегированном режиме (Privileged mode). В привилегированном режиме ис­полняются уровень обслуживания Windows NT (service layer), программы Executive и ядро Windows NT Драйверы большинства устройств (кроме графических адапте­ров и принтеров) также исполняются в привилегированном режиме.

• % User Time (% Работы в пользовательском режиме). Процент времени, в течение которого процессор работал в пользо­вательском режиме (User mode). В пользовательском режиме также исполняются графические алгоритмы, драйверы графических устройств, драйверы принтеров и Window Manager. Программы, исполняемые в пользовательском режиме, не мо­гут повредить целостность Windows NT Executive, ядра и драйверов устройств.

• % Interrupt Time (% Времени прерываний). Процент времени, затраченного процессором на обработку аппаратных прерываний. Прерывания выполняются в привилегированном ре­жиме, поэтому время, затраченное на их обработку, входит в состав показателя % Privileged Time. Этот счетчик помогает выяснить причину чрезмерно большо­го времени работы в привилегированном режиме.

• Interrupts/sec (Прерываний/сек). Этот счетчик содержит среднее количество прерываний устройств, поступающих к процессору за одну секунду. Устройства прерывают работу про­цессора в случаях, когда они завершили выполнение задачи или когда требуются вмешательство процессора по какой-либо другой причине. Прерывания могут генерировать такие устройства, как системный таймер, мышь, канал обмена дан­ными, сетевая интерфейсная плата, а также другие периферийные устройства. Во время прерываний нормальное исполнение потока приостанавливается, и в результате прерывания процессор может переключиться на исполнение другого по­тока, с более высоким приоритетом. Прерывания от таймера происходят часто и периодически и образуют фон активности прерываний.

Для оценки понадобятся не все показатели, их выбор зависит от глубины проводимого исследования. По крайней мере, следует использовать счетчик % Processor Time.

Информация, собранная при помощи счетчиков System Monitor, может применяться для прогнозирования увеличения нагрузки на отдельные центральные процес­соры, следствием которого станет увеличение времени отклика для этого процессора. При этом точность прогноза будет зависеть от количества собранных данных.

2.1.2 Дисковая подсистема.

Нагрузка на дисковую подсистему зависит от размера базы данных и количества выполняемых операций ввода-выво­да в секунду. Это может вызвать увеличение количества диско­вых накопителей. Дополнительные накопители дают дополнительные точки доступа к данным. Если имеется одна точка доступа к данным, то создаётся «бутылочное горлышко». Так как через узкое место придется проходить всем транзакциям, то длительность откликов будет увеличиваться. Кроме того, можно генерировать больше операций ввода-вывода в секунду, чтобы система могла выдерживать большой поток операций ввода-вывода, необхо­димый для больших баз данных.

Количеств дисковых накопителей, нужных для системы, с учетом применения конфигураций RAID (Redundant Array of Independent Disks) зависит от трёх основных категорий данных:

• Windows 2000 и SQL Server;

• файлы журналов;

• сама база данных.

Рассчитав нагрузку по каждому из типов и просуммировав полученные данные, можно определить оптимальное количество дисковых накопи­телей, необходимых для системы.

Необходимо постоянно собирать данные об использовании дисков, чтобы знать обо всех изменениях производительности. При расширении системы может увеличиться количество пользо­вателей (а следовательно, и количество транзакций), могут измениться требования к базе данных (в результате чего может увеличиться размер базы данных) и т.д. Исследование загруженности можно выполнять используя счетчики утилиты System Monitor находящиеся в объекте Disk (Физический диск):

  • % Disk Time (% Активности диска). Процент истекшего времени, в течение которого выбранный дис­ковый накопитель был занят обслуживанием запросов чтения или записи.

  • % Disk Read Time (% Активности диска при чтении). Процент истекшего времени, в течение которого выбранный дисковый накопитель был занят обслуживанием запросов чтения.

  • % Disk Write Time (% Активности диска при записи). Процент истекшего времени, в течение которого выбранный дисковый накопитель был занят обслуживанием запросов записи.

  • Avg. Disk Read Queue Length (Средняя длина очереди чтения диска). Среднее количество запросов чтения, стоящих в очереди на выбранном дисковом накопителе за время интервала измерения.

  • Avg. Disk Write Queue Length (Средняя длина очереди записи на диск). Среднее количество запросов записи, стоящих в очереди на выбранном дисковом накопителе за время интервала измерения.

  • Avg. Disk Queue Length (Средняя длина очереди диска). Среднее количество запросов (любых - и чтения, и записи), стоящих в очереди на выбранном дисковом накопителе за время интер­вала измерения. Этот показатель является суммой двух предыдущих показателей.

  • Disk I/O Count Per Second (Обращений к диску/сек). Активность ввода-вывода массива дисков за одну секунду, усредненная за интервал измерения. Этот счетчик недоступен непосред­ственно из утилиты System Monitor, чтобы получить эту величину, надо про­сто сложить значения двух других счетчиков, которые доступны - Disk Reads/sec и Disk Writes/sec.

  • Logical Disk: % Free Space. Величина места на диске, которое в данный момент свободно.

Следует использовать счетчики % Disk Time, Avg. Disk Queue Length и Logical Disk: % Free Space. Информация, собранная при помощи счетчиков System Monitor, может применяться для прогнозирования увеличения занимаемого объёма базы данных в дисковой подсистеме и для определения общей нагрузки на дисковую подсистему.

2.1.3 Оперативная память.

Размер используемой оперативной памяти зависит от коли­чества пользователей, одновременно работающих в системе, количества транзакций ввода-вывода и от области памяти для обработки базы данных. Эта область состоит из двух элементов: области журнала и кэша базы данных. Область журнала содержит информацию о выполняющихся дей­ствиях записи. Эта область очень важна, потому что в случае сбоя системы во время исполнения транзакции в ней сохранится информация для восстановления образа данных перед транзакцией. Область журнала имеет также названия «аудиторский след», «контрольный жур­нал» (audit trail). Кэш базы данных представляет собой специальную область системы. Через нее передаются все данные, обрабатываемые системой. Чем кэш крупнее, тем больше будет процент успешных обращений к нему (попаданий в кэш). Процент ус­пешных обращений к кэшу - это вероятность, с которой система находит нужные данные в оперативной памяти. При обращении к данным, отсутствующим в кэше, нужная информа­ция должна быть доставлена системой и помещена в память кэша. Поэтому, если область кэша окажется слишком маленькой, то будет происходить физический ввод-вывод, системе придется обращаться к диску и доставлять данные, отсутствующие в кэше. Физический ввод-вывод увеличит время отклика для транзакций.

Один из важнейших параметров использования оперативной памяти – это обращения к отсутствующим страницам виртуальной памяти (page faulting). Если системе требуется что-нибудь из памяти (страница с кодом программы или с данными) и будет иметься нужная страница памяти, то произойдет логическое событие ввода-вывода, означающее, что код или данные считываются из памяти, и транзак­ция, которой понадобился этот программный код или данные, будет обработана. Если нужного кода или страницы с данными не окажется в памяти, придется выполнить физический ввод-вывод и прочитать нужную страницу с диска. Эта задача выполняется при помощи обращения к отсут­ствующей странице. Система, если в ее рабочем наборе оперативной памяти не най­дется нужная страница с кодом программы или с данными, выдаст прерывание обра­щения к отсутствующей странице (page fault interrupt). Обработка обращения к отсутствующей странице прикажет другой части системы доставить программный код или данные с физического диска. Другими словами, если нужная вашей системе стра­ница с кодом или данными отсутствует в памяти, то система выполнит обращение к отсутствующей странице, которое прикажет другой части системы выполнить физи­ческую операцию ввода-вывода и доставить нужную страницу с диска. Обращение к отсутствующей странице не повлечет доставку нужной страницы с диска, если эта страница находится в списке резерва (standby list) и, следовательно, уже находится в оперативной памяти, или если она находится в пользовании у другого процесса, с которым она может совместно использоваться (разделяться).

Исследование загруженности можно выполнять используя счетчики утилиты System Monitor объекта Memory (Память):

  • Page Faults/sec (Ошибок страницы/сек). В этом счетчике содержится среднее количество обращений к отсутствующим страницам за одну секунду. Обращения к отсутствую­щим страницам происходит, когда запрашивается страница с программным ко­дом или с данными, отсутствующая в рабочей или в резервной (standby) памяти.

  • Cache Faults/sec (Ошибок кэш-памяти/сек). В этом счетчике содержится среднее количество неуспешных обращений к кэшу, происходящих в системе за одну секунду. Неус­пешные обращения к кэшу происходят всякий раз, когда Cache Manager не нахо­дит страницу файла непосредственно в кэше.

  • Pages/sec (Чтение страниц/сек). В этом счетчике содержится среднее количество страниц, прочитанных с диска или записанных на диск системой за одну секунду. Этот счетчик является суммой двух других счетчиков — Pages Input/sec и Pages Input/sec. В нем содер­жится информация о трафике обращений к страницам, выполняемым в интересах доступа кэша системы к данным файлов для приложений и чтения/записи страниц в/из файлов памяти, не имеющимся в кэше. Использовать счетчик надо если происходит чрезмерная нагрузка на память (это явление называется пробуксовка, thrashing), что может привести к чрезмерной подкачке страниц.

  • Available Memory (Доступно памяти). Этот счетчик содержит информацию об объеме неиспользуемой памяти, оставшейся в системе. Эта память может использоваться как дополнитель­ная память для базы данных или для системных нужд. Available Memory является наиболее важным счетчиком, применяемым для планирования памяти.

Следует использовать счетчики Page Faults/sec и Available Memory.

2.1.4 Сеть.

Нагрузка на сеть зависит от количества пользователей, которые будут одновременно работать в системе, количества сооб­щений (messages), проходящих за одну секунду и от среднего значения объёма сообщений в байтах. Опираясь на эту информацию, можно произвести оценку минимально необходимой пропускной способности сети.

При выполнении исследований производительности сети нужно следить за счетчиком производительности Bytes/Sec Through Network Interface (Всего байт/сек) объекта Network interface (Сетевой интерфейс). Этот счетчик обозначает количество байт, проходящих через сетевой интерфейс за секунду.

Для анализа сетевых данных учесть пропускную способность линии передачи данных и значение счетчика Bytes/Sec Through Network Interface. Зная два этих значения, мож­но вычислить общую загруженность сети в процентном соотношении:

где З - загруженность сети,

К - количество байт, проходящих через интерфейс за одну секунд (в битах),

П – пропускная способность сети.

2.2 Использование System Monitor

В состав Windows 2000 System Monitor включены не только счетчики Windows 2000, но также счетчики SQL Server. Эти счетчики следят за характеристиками системы, такими как процент использования ЦП или коэффициент попадания в кэш-па­мять для SQL Server (счетчик Cache hit ratio), которые помогают определять, что про­исходит с системой. Можно следить за результатами мониторинга в режиме реального времени или можно протоколиро­вать данные в файле и просматривать их позже.

Чтобы использовать System Monitor для мониторинга вашей системы, выполни­те следующие шаги.

1. Выберите Пуск/Программы/Администрирование/ Системный монитор, чтобы появилось окно System Monitor.

2. Укажите, щелкнув на соответствующей кнопке панели инструментов, в какой форме вы хотите просматривать данные: в виде графика, отчета, гистограммы или в файле журнала (для ранее сохраненных данных). Если просматривать файл журна­ла, то появится диалоговое окно для выбора файла, который нужно открыть.

3. Чтобы добавить какой-либо счетчик для просмотра в окне Performance, щелкни­те на знаке «плюс» в панели инструментов. Появится диалоговое окно Add Counters (Добавление счетчиков) (рис. 1). Щелкните на кнопке выбора Use local computer counters (Использовать счетчики локального компьютера), чтобы просматривать счетчики локальной системы, или щелкните на кнопке выбора Select counters from computer (Выбрать счетчики с компьютера) и выберите из раскрывающегося списка под этой кнопкой выбора имя удаленного компьютера для просмотра счетчиков этого компьютера.

Рис. 1 Диалоговое окно Add Counters (Добавление счетчиков)

4. Выберите объект System Monitor из раскрывающегося списка Performance object (Объект производительности). Эти объекты представляют компоненты системы. Счетчики для выбранного объекта появляются затем в окне списка в ниж­нем левом углу диалогового окна. Если вы хотите просматривать все счетчики для выбранного объекта, щелкните на кнопке выбора All counters (Все счетчики). Если вы хотите следить только за определенными счетчиками, щелкните на кноп­ке выбора Select counters from list (Выбор счетчиков из списка) и выберите нуж­ные счетчики из списка. Для определенных счетчиков существует несколько эк­земпляров; эти экземпляры представлены в окне списка в нижнем правом углу диалогового окна. Щелкните на кнопке выбора Select instances from list (Выбор экземпляров из списка), если хотите выбрать для просмотра определенные экземпляры, или щелкните на кнопке выбора All instances (Все экземпляры) для просмотра всех экземпляров.

5. Щелкните на кнопке Add (Добавить). Счетчик или счетчики, которые у вас выб­раны, будут добавлены в окно System Monitor. (Если выбрано несколько экземп­ляров какого-либо счетчика, то будут добавлены все выбранные экземпляры.) Затем вы можете продолжить добавление счетчиков. Щелкните на кнопке Close, чтобы вернуться а окно Performance. Теперь вы сможете просмат­ривать данные производительности, получаемые с помощью счетчиков. На рис. 2 показано графическое представление результатов, возвращаемых счет­чиком: % Processor Time (Процент использования процессора).

Рис.2 Окно System monitor.

Для сохранения данных производительности в файле журнала выполните следу­ющие шаги:

1. Раскройте Performance Logs and Alerts (Журналы производительности и оповеще­ния) в левой панели окна Performance. Щелкните правой кнопкой мыши на Counter Logs (Журналы счетчиков) и выберите из контекстного меню пункт New Log Settings (Новый набор параметров журнала). Появится диалоговое окно New Log Settings. Здесь нужно ввести имя набора параметров журнала. Для продолжения щелкните на кнопке ОК.

2. Появится окно с именем вашего нового файла журнала. Во вкладке General (Об­щие) щелкните на кнопке Add. В появившемся диалоговом окне Add Counters выберите счетчики, которые хотите протоколировать в журнале, в соответствии с шагами 3-5 предыдущего описания того, как System Monitor используется для мониторинга вашей системы. Во вкладке General вы можете также изменять имя файла журнала и указывать, насколько часто нужно выполнять выборку данных производительности.

3. Щелкните на вкладке Log Files (Файлы журналов), чтобы задать дополнитель­ные свойства файла журнала.

4. Щелкните на вкладке Schedules (Расписание). В этой вкладке вы назначаете вре­мя начала и окончания для этого файла журнала. Вы можете также выбрать за­пуск нового журнала или запуск какой-либо команды после закрытия текущего файла журнала,

5. Щелкните на кнопке ОК, чтобы закрыть данное окно и сохранить информацию о вашем файле журнала. Если у вас выбран немедленный запуск журнала, он начнет заполняться, когда вы щелкнете на кнопке ОК. Запись для этого файла журнала появится в окне Performance.

2.3 Мониторинг производительности процессов SQL Server.

В Microsoft SQL Server включены объекты и счетчики, которые используются мони­тором производительности для мониторинга процессов в системах SQL Server. Объек­ты представляют ресурсы Microsoft Windows и SQL Server, и каждый объект содержит один или несколько счетчиков, которые следят за различными аспектами этого объек­та. Далее приводится каждый объект и его счетчики, а также краткое описание данных для каж­дого счетчика, возвращаемых этим счетчи­ком.

2.3.1 Объект SQL Server: Access Methods.

Данный объект содержит счетчики, которые следят за различными методами и свойствами доступа к объектам. Это следующие счетчики.

  • Extent Deallocations/sec. Количество экстентов в секунду, освобождаемых систе­мой SQL Server.

  • Extents Allocated/sec. Количество экстентов в секунду, выделяемых системой SQL Server.

  • Forwarded Records/sec. Количество записей в секунду, считываемых через указа­тели переадресуемых записей.

  • FreeSpace Page Fetches/see. Количество страниц в секунду, возвращаемых при сканировании свободного пространства.

  • FreeSpace Scans/sec. Количество сканирований в секунду, выполняемых для по­иска свободного пространства, чтобы выполнить вставку записи.

  • Full Scans/sec. Количество полных сканирований в секунду таблиц или индекса. Если этот счетчик показывает значение больше 1 или 2, то следует проанали­зировать запросы, чтобы определить, насколько необходимы эти сканиро­вания таблиц, или выяснить, возможна ли оптимизация этих запросов.

  • Index Searches/sec. Количество поисков в секунду, выполняемых в индексе. Это может быть поиск одной записи или запуск сканирования в диапазоне индек­сов.

  • Mixed Page Allocations. Количество выделяемых страниц в секунду, которые используются для хранения первых восьми страниц, выделяемых для экстента или индекса.

  • Page Deallocations/sec. Количество освобождаемых страниц в секунду.

  • Page Splits/sec Количество расщеплений страниц в секунду, которые происходят в результате переполнения индексной страницы.

  • Pages Allocated/sec. Количество страниц в секунду, выделяемых для индекса или хранения данных.

  • Probe Scans/sec. Количество сканирований в секунду, выполняемых для непосредственного поиска строк в таблицах или индексах.

  • Range Scans/sec. Количество сканирований в секунду в диапазоне индексов.

  • Scan Point Revalidations/sec. Количество повторений в секунду для перепроверки точки сканирования, прежде чем продолжить сканирование.

  • Skipped Ghosted Records/sec. Количество «фантомных» записей в секунду, пропу­щенных во время сканирования.

  • Table Lock Escalations/sec. Количество повышений статуса блокировки по таблице.

  • Workfiles Created/sec. Количество созданных за секунду рабочих файлов (исполь­зуемых при исполнении запроса).

  • Worktables Created/sec. Количество созданных за секунду рабочих таблиц (исполь­зуемых операторами GROUP BY, ORDER ВYи UNION).

  • Worktables From Cache Ratio. Процент рабочих таблиц, созданных с того момента, когда начальные страницы стали доступны в кэше рабочих таблиц.

2.3.2 Объект SQL Server: Backup Device.

В этом объекте имеется один счетчик, который определяет производительность уст­ройств резервного копирования. Каждый экземпляр этого объекта содержит свой собственный счетчик.

  • Device Throughput Bytes/sec. Количество байтов в секунду, передаваемых на уст­ройство резервного копирования во время операции резервного копирования. Это полезно для мониторинга производительности и распределения операций ввода-вывода, выполняемых на устройстве резервного копирования.

2.3.3 Объект SQL Server: Buffer Manager.

Данный объект содержит ряд счетчиков, относящихся к буферному кэшу SQL Server. Это следующие счетчики.

  • AWE Lookup Maps/sec. Количество вызовов в секунду AWE-отображений для страниц в буферном пуле. Поскольку AWE использует «окно» памяти, где содержат­ся реальные страницы, то требуется выполнять отображения этого окна. Этот счетчик показывает количество вызовов в секунду этих отображений.

  • AWE Stolen Maps/sec. Количество вызовов в секунду AWE-отображений для страниц, захваченных из буферного пула.

  • AWE Unmap Calls/sec. Количество вызовов в секунду AWE-отображений для от­ключения от адресного пространства. При каждом вызове можно отключать один или несколько буферов.

  • AWE Unmap Pages/sec. Количество отключаемых AWE-страниц в секунду. AWE Write Maps/sec. Количество вызовов в секунду AWE-отображений в «черно­вой» буфер, вызывающих запись на диск.

  • Buffer Cache Hit Ratio. Процент страниц, найденных в памяти, т.е. не требующих физической операции ввода-вывода. Это показатель того, насколько хорошо ис­пользуется буферный кэш.

  • Checkpoint Pages/sec. Количество страниц в секунду, записанных на диск процес­сом создания контрольной точки. Процесс создания контрольной точки вызывает сброс всех «черновых» страниц на диск. В результате этого процесса снижается время восстановления (воспроизведения) после отказа, и частота его запуска опре­деляется параметром конфигурирования recovery interval (интервал восстановле­ния). Если этот счетчик постоянно показывает высокое значение, это может быть признаком того, что в системе слишком часто создаются контрольные точ­ки. Вам следует задать частоту создания контрольных точек, исходя из ваших по­требностей. Частое создание контрольных точек гарантирует быстрое восстановле­ние; снижение частоты создания контрольных точек повышает производительность. Кроме того, этот счетчик следит за количеством страниц, записанных другими операциями, которым требуется сброс всех черновых страниц на диск. Database Pages. Текущее количество страниц, образующих кэш SQL Server. По­скольку буферный кэш SQL Server создается динамически, этот счетчик можно использовать как показатель размера кэша. Можно следить за этим счетчи­ком, чтобы видеть, как изменяется размер кэша во времени. Если размер кэша существенно изменяется несколько раз за день, то, возможно, требуется из­менить размер кэша с помощью параметров min server memory (минимальная память сервера) и max server memory (максимальная память сервера). При динамическом выделении и освобождении памяти используются зна­чительные системные ресурсы, такие как ЦП и подсистема ввода-вывода.

  • Free List Stalls/sec. Количество запросов в секунду, которые ждут освобождения какой-либо страницы, прежде чем продолжится их выполнение.

  • Free Pages. Количество страниц по всем свободным спискам. Свободный список— это связанный список всех доступных для использования страниц. Это количе­ство свободных (неиспользуемых, но выделенных) буферов в буферном кэше. Если значение этого счетчика слишком низко, SQL Server динамически создает буферы, когда они требуются.

  • Lazy Writes/sec. Количество буферов в секунду, записываемых потоком отклады­ваемой записи (lazy writer). Lazy writer освобождает черновые буферы с помощью алгоритма LRU (запись наиболее давно обрабатывавшихся страниц).

  • Page Life Expectancy. Оценка времени (количество секунд), в течение которого страница будет оставаться в буферном пуле, прежде чем будет записана на диск (если к ней не будет обращений).

  • Page Lookups/sec. Количество запросов в секунду для поиска страницы в буферном пуле.

  • Page Reads/sec. Количество запросов чтения физической страницы базы данных в секунду.

  • Page Writes/sec. Количество запросов записи физической страницы базы данных в секунду.

  • Procedure Cache Pages. Количество страниц, используемых для кэша процедур. В кэше процедур содержатся откомпилированные запросы.

  • Readahead Pages/sec. Количество страниц в секунду, которые считывает SQL Server, прогнозируя поступление запроса пользователя. SQL Server прогнозирует поступ­ление запросов, исходя из предыдущих запросов.

  • Reserved Pages. Количество зарезервированных страниц в буферном кэше.

  • Stolen Pages. Количество страниц, захваченных из буферного пула в соответствии с запросом памяти.

  • Target Pages. Оптимальное количество страниц (по оценке SQL Server) в буферном пуле.

  • Total Pages. Суммарное количество страниц в буферном пуле.

Примечание: «AWE» означает Address Windowing Extensions (интерфейс расширенной памяти Windows 2000). AWE использу­ется для поддержки a SQL Server физической памяти свыше 4 гигабайт (Гб). Для использования такого объема памяти SQL Server выполняет специаль­ные системные вызовы.

2.3.4 Объект SQL Server: Cache Manager.

Этот объект используется для просмотра статистики Cache Manager. Каждый из этих счетчиков может следить за следующими экземплярами данного объекта: Adhoc SQL Plans, Misc. Normalized Trees, Prepared SQL Plans, Procedure Plans, Replication Procedure Plans и Trigger Plans. Это следующие счетчики.

  • Cache Hit Ratio. Соотношение между количеством попаданий и непопаданий в кэш. Этот счетчик очень полезен, если вы хотите определить, насколько эффек­тивно используется кэш SQL Server для вашей системы. При низком значении этого счетчика вам, возможно, требуется дополнительная память.

  • Cache Object Counts/ Количество кэш-объектов в кэше.

  • Cache Pages. Количество 8-килобайтных страниц, используемых объектами кэша.

  • Cache Use Counts/sec. Количество использований в секунду каждого типа кэш-объектов.

2.3.5 Объект SQL Server: Databases.

Этот объект содержит набор счетчиков, которые следят за каждой базой данных в системе. Выбранный экземпляр объекта представляет базу данных, за которой вы хотите следить. Можно следить за базами данных master, model, msdb и lempdb, a также за базой данных Northwind, pubs и всеми базами данных, которые создаются пользователями. Это следующие счетчики.

  • Active Transactions. Количество активных транзакций в базе данных.

  • Backup/Restore Throughput/sec. Производительность активных операций резерв­ного копирования и восстановления в секунду.

  • Bulk Copy Rows/sec. Текущее количество строк в секунду, копируемых с помощью операции массового копирования.

  • Bulk Copy Throughput/sec. Текущее количество килобайтов в секунду, копируе­мых с помощью операции массового копирования.

  • Data File(s) Size (KB). Суммарный размер (в Кб) всех файлов данных в базе данных.

  • ОВСС Logical Scan Bytes/sec. Интенсивность логических операций чтения при сканировании для команд DBCC.

  • Log Bytes flushed/sec. Количество байтов журнала в секунду при сбросе на диск.

  • Log Cache Sit Ratio. Процент операций чтения журнала, выполненных из кэша журнала.

  • Log Cache Reads/sec. Количество операций чтения кэша журнала в секунду.

  • Logfile(s) Size (KB). Суммарный размер файла или файлов журнала в килобайтах.

  • Log file(s) Used Size (KB). Текущий суммарный объем пространства, используе­мого в файле или файлах журнала.

  • Log flush Wait Time. Суммарное время ожидания для сбросов журнала на диск (в миллисекундах).

  • Log Flush Waits/sec. Количество ожиданий в секунду для сбросов журнала на диск.

  • Log Flushes/sec. Количество сбросов журнала на диск в секунду.

  • Log Growths. Количество увеличений журнала, т.е. сколько раз происходило самостоятельное расширение журнала.

  • Log Shrinks. Количество уплотнений журнала, т.е. сколько раз происходило самостоятельное уплотнение журнала.

  • Log Truncations. Количество усечений журнала, выполненных для соответствую­щей базы данных.

  • Percent Log Used. Процент используемой части журнала.

  • Repl. Pending Xacts. Количество ожидающих транзакций репликации в базе данных.

  • Repl. Trans. Rate. Количество транзакций репликации в секунду.

  • Shrink Data Movement Bytes/sec. Скорость перемещения данных с помощью опе­рации autoshrink или команды DBCC.

  • Transactions/sec. Количество транзакций в секунду для базы данных. Этот счет­чик показывает интенсивность операций в вашей системе. Чем выше это значе­ние, тем больше операций происходит в системе.

2.3.6 Объект SQL Server: General Statistics

Счетчики этого объекта дают некоторую общую информацию о подсоединениях пользователей к SQL Server. Это следующие счетчики.

  • Logins/sec. Количество входов по login-записям в секунду.

  • Logouts/sec. Количество выходов в секунду.

  • User Connections. Текущее количество подсоединенных пользователей. Этот счетчик полезно использовать, поскольку он указывает точное количество подсоеди­ненных пользователей.

2.3.7 Объект SQL Server: Latches

Этот объект используется для показа статистики по защелкам. Защелки (latches) -это внутренние механизмы блокирования, используемые в SQL Server. Данный объект дает информацию по этим внутренним защелкам и содержит следующие счетчики.

  • Average Latch Wait Time (ms). Среднее время ожидания механизма защелки пото­ком SQL Server (в миллисекундах). Большое значение указывает, что ваша систе­ма, возможно, подвержена серьезным проблемам конкуренции потоков.

  • Latch Wails/sec. Количество ожиданий механизма защелки в секунду/ Большое значение указывает, что в вашей системе имеется высокий уровень конкуренции за ресурсы.

  • Total Latch Wait Time (ms). Суммарное время ожидания защелки запросами (в миллисекундах) за последнюю секунду.

2.3.8 Объект SQL Server: Locks

Этот объект содержит ряд счетчиков, которые следят за блокировками. Каждый счетчик следит за операциями, относящимися к соответствующему типу блокировки: блокировка базы данных, блокировка экстентов, блокировка диапазона ключа, RID-блокировка (блокировка строк) и блокировка таблиц. Эти счетчики указывают типы блокировок, которые используются в системе, и частоту использования этих блокировок. Это следующие счетчики.

  • Average Wait Time (ms). Среднее время ожидания потоком указанного типа бло­кировки (в миллисекундах).

  • Lock Requests/sec. Количество запросов в секунду указанного типа блокировки.

  • Lock Timeouts/sec. Количество повторений, когда не удается получить блокиров­ку путем циклического обращения. Значение параметра конфигурирования SQL Server spin counter определяет количество «оборотов» потока (spins), прежде чем истечет время тайм-аута и поток перейдет в неактивное состояние.

  • Lock Wait Time (ms). Суммарное время ожидания блокировок {в миллисекундах) за последнюю секунду.

  • Lock Wails/sec. Количество случаев за последнюю секунду, когда приходилось ожидать в связи с запросом блокировки.

  • Number of Deadlocks/sec. Количество запросов блокировки в секунду, приводя­щих к взаимоблокировке.

2.3.9 Объект SQL Server: Memory Manager

Этот объект предоставляет информацию о памяти SQL Server, отличной от буферной кэш-памяти. Имеются следующие счетчики этого объекта.

  • Connection Memory (KB). Количество памяти (в Кб), используемой для поддерж­ки соединений.

  • Granted Workspace Memory (KB). Суммарное количество памяти (в Кб), предос­тавленное процессам для операций сортировки и создания индексов.

  • Lock Blocks. Количество блоков блокировки, используемых на сервере.

  • Lock Blocks Allocated. Количество выделенных блоков блокировки.

  • Lock Memory (KB). Суммарное количество памяти (в Кб), выделенной для блокировок.

  • Lock Owner Вlocks. Текущее количество блоков владельцев блокировок, исполь­зуемых на сервере.

  • Lock Owner Blocks Allocated. Количество блоков владельцев блокировок, выде­ленных на сервере.

  • Maximum Workspace Memory (KB). Суммарное количество памяти, выделенное для выполнения процессов. Эту память можно использовать для операций хе­ширования, сортировки и создания индекса.

  • Memory Grants Outstanding. Количество текущих процессов, получивших память рабочего пространства.

  • Memory Grants Pending. Количество процессов, ожидающих получения памяти рабочего пространства.

  • Optimizer Memory (KB}. Количество памяти (в Кб), которое используется серве­ром для оптимизации запросов.

  • SQL Cache Memory (KB). Суммарное количество памяти (в Кб), которое исполь­зуется сервером для динамического кэша SQL.

  • Target Server Memory (KB). Суммарное количество памяти (в Кб), которое может использовать сервер.

  • Total Server Memory (KB). Текущее суммарное количество памяти (в Кб), которое использует сервер. SQL Server динамически выделяет (захватывает) и освобождает память, исходя из доступного количества памяти в системе. Этот счетчик показы­вает вам количество текущей используемой памяти. Если в течение дня происхо­дят значительные колебания количества используемой памяти, то, возможно, потребуется изменить количество памяти, которое использует SQL Server, задав значения параметров min server memory и max server memory. Например, если каж­дый день запускается еще одно приложение, использующее большое количество памяти, такое как службы OLAP, то вам, возможно, потребуется зарезервировать определенное количество памяти, а не заставлять SQL Server выполнять задачу ос­вобождения памяти, требующую интенсивного использования ресурсов.

2.3.10 Объект SQL Server: Replication Agents

Этот объект содержит один счетчик.

  • Banning. Количество работающих агентов репликации.

2.3.11 Объект SQL Server: Replication Dist.

Этот объект используется для просмотра информации о дистрибьюторах и подписчиках. Имеются следующие счетчики.

  • Dist: Delivered Cmds/sec. Количество команд в секунду, доставляемых подписчику.

  • Dist: Delivered Trans/sec. Количество транзакций в секунду, доставляемых подписчику.

  • Dist: Delivery Latency. Количество времени, прошедшее с момента доставки транзакций дистрибьютору до момента их применения на подписчике.

2.3.12 Объект SQL Server: Replication Log reader

Этот объект используется для просмотра информации о дистрибьюторах и подписчиках. Имеются следующие счетчики.

  • Logreader: Delivered Cmds/sec. Количество команд агента Log Reader Agent в се­кунду, доставляемых дистрибьютору

  • Logreader: Delivered Trans/sec. Количество транзакций агента Log Reader Agent в секунду, доставляемых дистрибьютору

  • Logreader: Delivery Latency, Количество времени, прошедшее с момента приме­нения транзакций на издателе до момента их доставки дистрибьютору.

2.3.13 Объект SQL Server: Replication Merge

Этот объект относится к процессу репликации слиянием. Он содержит следующие счетчики.

  • Conflicts/sec. Количество конфликтов в секунду, возникающих во время процес­са слияния. Обычно это значение должно быть равно 0.

  • Downloaded Changes/sec. Количество строк в секунду, участвующих в слиянии с издателя на подписчик.

  • Uploaded Changes/sec. Количество строк в секунду, участвующих в слиянии с под­писчика на издатель.

2.3.14 Объект SQL Server: Replication Snapshot

Этот объект относится к процессу репликации моментального снимка. Он содержит следующие счетчики.

  • Snapshot: Delivered Cmds/sec. Количество команд в секунду, доставляемых дистрибьютору.

  • Snapshot: Delivered Trans/sec. Количество транзакций в секунду, доставляемых дистрибьютору.

2.3.15 Объект SQL Server: SQL Statistics

Этот объект дает полезную статистику по выполненным операторам SQL. Он содер­жит следующие счетчики.

  • Auto-Param Attempts/sec. Количество попыток автоматической параметризации в секунду. Автоматическая параметризация происходит в тех случаях, когда опти­мизатор имеет кэшированный план исполнения аналогичного оператора SQL, но не совпадающего с оптимизируемым оператором. Оптимизатор пытается по­вторно использовать уже оптимизированный план.

  • Batch Requests/sec, Количество пакетных запросов T-SQL в секунду, полученных сервером.

  • Failed Auto-Params/sec, Количество неуспешных попыток автоматической пара­метризации в секунду.

  • Safe Auto-Params/sec. Количество безопасных автоматических параметризаций в секунду.

  • SQL Compilations/sec, Количество выполненных SQL-компиляций в секунду. В этот счетчик включаются повторные компиляции.

  • SQL Re-Compilations/sec. Количество выполненных повторных SQL-компиляций в секунду.

  • Unsafe Auto-Params/sec. Количество небезопасных автоматических параметриза­ций в секунду.

2.3.16 Объект SQL Server: User Settable

Объект SQL Server User Settable содержит набор счетчиков, которые можно задавать. Можно задать эти счетчики из любого оператора SQL путем вызова систем­ных хранимых процедур от sp_user_counterl до sp_user_counter10, сопровождаемых целым значением для счетчика. Вы можете читать эти счетчики в Performance Monitor путем просмотра следующего счетчика.

  • Query. Представляет задаваемое пользователем значение. Этот счетчик имеет 10 связанных с ним экземпляров: от User counter 1 до User counter 10. Отображаемое значение — этот значение, заданное вашей программой или оператором SQL.

3 ДОМАШНЕЕ ЗАДАНИЕ

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

4 МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ

ЛАБОРАТОРНОЙ РАБОТЫ

1. Выбрать рекомендуемые в параграфах 2.1.1 – 2.1.4 счётчики производительности.

2. Выполнить сбор данных с помощью System monitor.

3. Выбрать счетчики производительности параграфов 2.3.1 – 2.3.16. Обосновать выбор.

4. Выполнить сбор данных с помощью System monitor.

5. Провести анализ собранных данных и сделать вывод о целесообразности наращивания производительности системы.

5 КОНТРОЛЬНЫЕ ВОПРОСЫ

  1. Для чего нужен мониторинг производительности РСУБД?

  2. Какие аппаратные компоненты оказывают наиболее существенное влияние на производительность системы? Какое влияние они оказывают?

  3. Как осуществляется прогноз тенденций роста загруженности (два способа)?

  4. В чём заключается основное положение теории «загиба кривой»? Какой процент ресурсов должен быть свободен?

  5. Назовите основные счётчики аппаратных компонентов. Что они отслеживают?

  6. Назовите основные наборы счётчиков производительности РСУБД SQL Server. Что они отслеживают?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]