При работе с любой системой необходимо понимать качество ее работы. Для этого необходимо собирать, контролировать и анализировать определенные показатели этой системы. В данной статье мы рассмотрим «экспресс» настройку инструмента «Системный монитор» (performance monitor, perfmon), входящий в поставку операционной системы Windows, а так же рассмотрим какие показатели нас интересуют в первую очередь при мониторинге системы на базе Windows и MS SQL Server.
Создание группы сборщиков данных
Во-первых, нам необходимо открыть «Системный монитор». Для этого можно воспользоваться командной Win+R, в строке ввести команду perfmon.exe и нажать ОК. Альтернативой способ: перейти в «Панель управления» (Control panel) → «Администрирование» (Administrative tools) → «Системный монитор» (Performance monitor). После этого необходимо в дереве (в окне системного монитора) перейти в «Группы сборщиков данных» (Data Collector Sets), далее «Особый» (User Defined), сделать клик правой клавишей мыши, в контекстном меню выбрать «Создать» (New) → Группа сборщиков данных (Data Collector Set)».
В открывшемся окне зададим пользовательское имя для группы и выберем «Создать вручную (для опытных)» (Create manually (advanced)) и кнопку «Далее» (Next).
На следующем шаге укажем «Создать журналы данных» (Create data logs) и выберем «Счетчик производительности» (Performance counter).
Далее установим интервал выборки (sample interval) в значение 5 секунд и нажмем «Добавить» (Add).
В новом окне в списке «Имеющиеся счетчики» (Available counters) найдем интересующий нас счетчик, например, «% загруженности процессора» (% processor time), из списка «Экземпляры выбранного объекта» (Instances of selected object) выберем интересующий нас, например, «_Total» и нажмем «Добавить» (Add), после чего счетчик появится в правом окне «Добавленные счетчики» (Added counters). Если Вы плохо знакомы с назначением счетчиков, тогда стоит установить флажок «Отображать описание» (Show description), при включении которого будет выведено окошко с описанием счетчика. Нажмем «ОК» и вернемся к предыдущему окну, в котором нажмем «Далее» (Next). Список наиболее интересных счетчиков, их назначение и рекомендуемые интервалы значений будут приведены ниже в этой статье.
На следующем этапе необходимо указать системе в каком каталоге будут сохраняться данные группы сборщиков и нажать «Далее» (Next)
И, наконец, на последней странице мастера создания группы сборщиков данных необходимо выбрать одно из завершающих действий: «Открыть свойства группы сборщиков данных» (Open properties for this data collector set) — для более тонкой настройки группы, которую можно выполнить и в любой момент позднее; «Запустить группу сборщиков данных сейчас» (Start this data collector set now) — для того чтобы сохранить и начать замер немедленно; «Сохранить и закрыть» (Save and close) — только для того чтобы сохранить.
На этом «экспресс» создание группы сборщиков данных завершено, теперь давайте же вернемся к вопросу о том какие счетчики нас интересуют.
Счетчики производительности
В таблицах ниже приведены наиболее интересные счетчики производительности для ОС Windows и MS SQL Server. Там же можно найти описания счетчиков и рекомендуемые значения показателей.
Счетчики производительности системы на операционной системе Windows
Показатель | Группа | Описание | Значение |
---|---|---|---|
Free Megabytes | Logical Disk | Показывает объем незанятого пространства на диске в мегабайтах | Много больше 0 Мбайт для системного диска, дисков файлов БД и служебных файлов 1С |
Available MBytes | Memory | Объем физической памяти в мегабайтах, немедленно доступной для выделения процессу или для использования системой. Эта величина равна сумме памяти, выделенной для кэша, свободной памяти и обнуленных страниц памяти | Много больше 0 Мбайт |
Page Reads/sec | Memory | Число операций чтения диска при получении страниц виртуальной памяти для разрешения ошибок страницы. При выполнении одной операции чтения могут быть получены одновременно несколько страниц. Ошибка чтения страницы возникает при обращении процесса к виртуальной памяти, не принадлежащей рабочему множеству или физической памяти, и должна быть извлечена с диска | |
Page Writes/sec | Memory | Счетчик записи страниц на диск, выполняемой для освобождения места в оперативной памяти. Страницы записываются на диск только в том случае, если они были изменены в оперативной памяти, поэтому они вероятнее всего содержат данные, а не программный код. Этот счетчик отображает число операций записи, без учета числа страниц, записываемых при каждой операции. Этот счетчик показывает разницу значений между двумя последними снятыми показаниями, деленную на длительность интервала измерения. | |
Bytes Total/sec | Network Interface | Скорость, с которой происходит получение или посылка байт через сетевые адаптеры, включая символы обрамления (framing characters) | Не более 65% от пропускной способности сетевого интерфейса |
Avg. Disk Queue Length | Physical Disk | Среднее общее количество запросов на чтение и на запись, которые были поставлены в очередь для соответствующего диска в течение интервала измерения | Не более 2 на каждый из параллельно работающих дисков |
Avg. Disk sec/Transfer | Physical Disk | Время в секундах, затрачиваемое в среднем на один обмен данными с диском | В среднем 10 мс; В пиках не более 300 мс |
% Processor Time | Processor(_Total) | Доля времени, которую процессор тратит на обработку всех потоков команд, кроме простаивающего. Этот счетчик является основным показателем загруженности процессора. Он показывает среднее значение занятости процессора в течение интервала измерения | Не более 70% в течении длительного времени |
Processor Queue Length | System | Текущая длина очереди процессора, измеряемая числом ожидающих потоков. Все процессоры используют одну общую очередь, в которой потоки ожидают получения циклов процессора. Этот счетчик не включает потоки, которые выполняются в настоящий момент. Этот счетчик отражает текущее значение, и не является средним значением по некоторому интервалу времени | Не более 2 на каждое ядро процессора |
Соответствие наименований счетчиков по-английски и по-русски (Windows 7)
По-английски | По-русски |
---|---|
\Logical Disk\Free Megabytes | \Логический диск\Свободно мегабайт |
\Memory\Available MBytes | \Память\Доступно МБ |
\Memory\Page Reads/sec | \Память\Чтений страниц/с |
\Memory\Page Writes/sec | \Память\Операций вывода страниц/с |
\Network Interface\Bytes Total/sec | \Сетевой интерфейс\Всего байт/с |
\Physical Disk\Avg. Disk Queue Length | \Физический диск\Средняя длина очереди диска |
\Physical Disk\Avg. Disk sec/Transfer | \Физический диск\Среднее время обращения к диску (с) |
\Processor\% Processor Time | \Процессор\% загруженности процессора |
\System\Processor Queue Length | \Система\Длина очереди процессора |
Счетчики производительности для MS SQL Server
Показатель | Группа | Описание | Значение |
---|---|---|---|
Table Lock Escalations/sec | Access Methods | Количество раз, когда блокировки таблицы были укрупнены | Стремящееся к 0 |
Page life expectancy | Buffer Manager | Количество секунд, в течение которых страница остается в буферном пуле без ссылок на нее | Не менее 300 с |
Buffer cache hit ratio | Buffer Manager | Процент найденных в буферном пуле страниц, что исключило необходимость чтения с диска | Стремящееся к 100% |
Average Latch Wait Time (ms) | Latches | Среднее время ожидания (мс) для запросов кратковременной блокировки | Стремящееся к 0 мс |
Average Wait Time (ms) | Locks | Среднее время ожидания (в миллисекундах) для всех ждавших запросов блокировки | Стремящееся к 0 мс |
Lock Waits/sec | Locks | Количество запросов блокировки, которые не были выполнены немедленно и ожидали предоставления блокировки | Стремящееся к 0 |
Lock Timeouts/sec | Locks | Количество запросов блокировки, время ожидания которых истекло, включая запросы блокировок NOWAIT. | Стремящееся к 0 |
Number of Deadlocks/sec | Locks | Количество запросов блокировки, приведших к взаимоблокировкам | Стремящееся к 0 |
Cache Hit Ratio | Plan Cache | Соотношение между попаданиями в кэш и обращениями к кэшу | Стремящееся к 100% |
Longest Transaction Running Time | Transactions | Наиболее продолжительное время выполнения какой-либо транзакции в секундах | Для OLTP систем не должно быть высоким |
Transactions | Transactions | Общее количество активных транзакций. | — |