Системный монитор. Инструменты для поиска причин падения производительности компьютера с ОС Windows. Как использовать наборы сборщиков данных

Введение

Как говорит старая поговорка: "любая цепь сильна настолько, насколько сильно её самое слабое звено". У данного выражения есть современный аналог, касающийся системы Windows: "Компьютер не может работать быстрее его самой медленной подсистемы".

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

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

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

Все версии Windows, начиная с Vista, имеют графический инструмент мониторинга производительности (Windows 7 и Windows 8 имеют целых два инструмента), который показывает в режиме реального времени, как основные аппаратные подсистемы компьютера реагируют на нагрузку.

Системные инструменты мониторинга отличаются в зависимости от версии Windows (они имеют даже разное название), но все они являются чрезвычайно простыми в использовании для выполнения первичного мониторинга производительности. Графики в едином временном измерении показывают моментальный уровень активности каждой подсистемы, предоставляя пользователю визуальное представление изменения загрузки, даже если на компьютере запущены задачи.

Рисунок 1 показывает пример отображения графической информации мониторинга с помощью диспетчера задач на Windows 8. Другие версии данного инструмента могут выглядеть по-другому, но они предоставляют идентичный тип информации.

Если ваша система имеет аппаратную "пробку", по меньшей мере, один график будет серьезно отличаться от остальных. Как правило, он будет показывать высокий уровень активности, в то время как другие подсистемы будет демонстрировать относительно низкие уровни активности. Например, на рисунке 2 показана система со 100-процентным уровнем активности дисковой подсистемы.


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

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

Расшифровка данных системных инструментов мониторинга Windows. Остальная часть данной статьи показывает, как получить доступ и как использовать встроенные инструменты мониторинга Windows. Мы объясним, как интерпретировать информацию на графиках и что делать в случаях, когда вы обнаружили очевидную проблему.

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

Запускаем мониторы производительности Windows 8

Windows 8 имеет сразу два монитора производительности. Самым простым способом анализа производительности является использование вкладки "Производительность" в диспетчере задач. Данный инструмент обладает расширенными возможностями и более привлекательным интерфейсом по сравнению с эквивалентом в Windows 7.

Для доступа к графикам нужно запустить диспетчер задач любым предпочитаемым способом. Windows 8.1 предлагает сразу несколько методов запуска инструмента, например, с помощью классического клавиатурного сочетания Ctrl + Alt + Del. Кроме того, Вы можете вызвать расширенное пользовательское меню с помощью одновременного нажатия клавиши Windows и клавиши X или открыть контекстное меню кнопки "Пуск", а в появившемся меню нужно выбрать пункт "Диспетчер задач".

Пользователи могут открыть Диспетчер задач с помощью клавиатурного сочетания Ctrl + Shift + Esc и кликнув правой кнопкой мыши по панели задач и выбрав пункт "Диспетчер задач". (Если диспетчер задач открывается как небольшое относительно простое окно, нажмите ссылку "Подробнее" в нижней части окна.)

При запущенном диспетчере задач выберите вкладку "Производительность". В результате Вы увидите окно, показанное на рисунке 3 (информация о производительности, конечно, будет отличаться).


Windows 8 также содержит версию классического монитора ресурсов Windows, который предоставляет расширенный список функций подробнейшего мониторинга производительности. Монитор ресурсов Windows 8 работает также как и версия приложений для Windows 7, которая будет рассмотрена в следующем разделе статьи.

Монитор ресурсов Windows 8 доступен из Диспетчера задач - просто нажмите ссылку "Открыть монитор ресурсов" в нижней части окна. В качестве альтернативы можно ввести в поле поиска Windows 8 название утилиты "resmon" и открыть появившийся ярлык. После открытия монитор ресурсов будет выглядеть, как показано на рисунке 4.


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

  • Монитор ресурсов Windows 8 - Winline.

Запускаем мониторы производительности Windows 7

Диспетчер задач Windows 7 также имеет вкладку "Производительность". Функционал инструмента ограничен по сравнению с его преемником в Windows 8. Рекомендуется использовать непосредственно монитор ресурсов в Windows 7. Либо нажмите на ссылку во вкладке "Производительность" в Диспетчере задач или нажмите кнопку "Пуск" и введите слово "resmon" в поисковую строку, а затем нажмите на появившийся ярлык приложения. (Вам могут потребоваться права администратора) Монитор ресурсов выглядит, как показано на рисунке 5.


Более подробная информация по мнотирингу производительности в Windows 7:

  • Новое в мониторинге надежности и производительности – TechNet
  • Руководство по отслеживанию производительности – TechNet
  • Руководство по устранению неполадок, связанных с доступностью ресурсов – TechNet

Монитор надежности и производительности в Vista

Монитор надежности и производительности расположен в консоли администрирования Windows Vista. Для запуска инструмента, нажмите кнопку "Пуск", вызовите контекстное меню иконки "Компьютер" и выберите опцию "Администрирование" (Вам могут потребоваться права администратора). Когда откроется консоль управления компьютером, нажмите ссылку "Надежность и производительность" в панели навигации слева.


Более подробная информация:

  • Пошаговое руководство по мониторингу надежности и производительности Windows Vista

Использование инструментов мониторинга производительности Windows

Далее в статье под общим термином "монитор производительности" будем понимать все доступные системные инструменты мониторинга Windows - монитор производительности, встроенный в диспетчер задач Windows 8, монитор ресурсов в Windows 7 и 8, диспетчер надежности и производительности в Windows Vista.

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

Когда Вы работаете, поглядывайте на графики производительности; Вам нужно ознакомится как компьютер реагирует на нагрузку различного характера. Например, обратите внимание на активность диска, процессора и сети, когда Вы открываете программы, копируете крупные и небольшие файлы с одного места на другое и загружаете видеоконтент с Интернета.

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

Выполнение некоторых задач будет сопровождаться долгой и тяжелой нагрузкой одной подсистемы. Например, график активности диска должен принимать максимальные значения при выполнении полного системного резервного копирования. Если Вы пересчитывает гигантскую электронную таблицу, редактируете видео или визуализируете анимацию, процессор компьютер должен работать в максимальном режиме какое-то время.

Говоря другими словами, продолжительный период высокой активности подсистемы не обязательно свидетельствует о наличии серьезных проблем с системой. С другой стороны, частые и длительные необъяснимые замедления - особенно во время выполнения обычных каждодневных операций - совсем другое дело.

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

Баланс производительности между всеми подсистемами

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

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

Если Ваш диск отформатирован в системе FAT (например, FAT32) рассмотрите вопрос форматирования носителя в NTFS, который показывает улучшенное быстродействие. Встроенная в Windows утилита convert.exe может выполнить это преобразование на лету.

Скрытые проблемы с диском могут также вызывать падение производительности, особенно при использовании традиционных жестких дисков с подвижными элементами.

Если специализированное ПО не помогает улучшить положение вещей, единственных реальным вариантом является переход на более быстрый жесткий диск.

Примечание: Перед покупкой нового диска, выполните измерение текущей скорости записи и чтения с помощью специализированных инструментов, например Disk Throughput Tester (бесплатно) или HD Tune (бесплатная и платная версии). При приобретении нового носителя ориентируетесь на измеренные значения, чтобы выбрать более быстрый жесткий диск.

Проблемы с процессором: Посетите сайт производителя компьютера или материнской платы, чтобы проверить доступность диагностического ПО. Процессоры и материнские платы обычно тестируются как единый элемент. Например, страница инструментов диагностики и производительности компании Intel предлагает для загрузки более десятка специализированных утилит проверки ЦП и материнской платы с описанием.

Аналогичные ресурсы есть у Dell - "средства диагностики " - и HP - "страница тестирования проблем с оборудованием ".

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

Утечки памяти: Проверьте работоспособность подсистем памяти с помощью бесплатного средства диагностики памяти от Microsoft . Для этих же целей Вы можете использовать утилиты сторонних разработчиков, например Memtest86 или Memtest86+ .

Если с памятью все в порядке, но вам часто приходится использоваться ресурсоемкие приложения, самым лучшим вариантом улучшения производительности будет добавление RAM. Изучите документацию к вашему ПК, чтобы узнать тип и скорость микросхемы памяти. Если все слоты памяти заполнены, Вам следует заменить используемые планки памяти на их аналоги с увеличенным объемом памяти.

Если ваша система имеет полный доступный объем памяти, единственным выходом является замена материнской памяти или, что гораздо проще, но затратнее смена ПК.

Проблемы с сетью: Проблемы с сетевой подсистемой могут повлиять на скорости передачи данных с сетевых устройств и на вашу работу в Интернете, но они редко вызывают общее замедление работы ПК. Большинство сетевых проблем связаны с сетевой инфраструктурой - кабелями, модемами и роутерами, насыщением Wi-Fi сети и т.д. Тем не менее, для полноты картины приведем несколько советов, как проверить наличие проблем в сетевой подсистеме компьютера.

Во-первых, запустите средство диагностики сети Windows чтобы выявить легко исправимую проблему с ПО или конфигурацией сети. Для этого нажмите правой кнопкой мыши по значку сети в панели уведомлений Windows (системном трее) и выберите опцию "Диагностика неполадок". (Если значок сети сразу не показан, нажмите небольшой треугольник в панели уведомлений, чтобы показать скрытые иконки).

Для более комплексного подхода, воспользуйтесь рекомендациями в статье "Диагностика сети и мониторинг в Windows 7 " на странице TechNet Magazine (в Windows 8 и Vista действия схожи).

Далее, нужно проверить аппаратные устройства сетевой инфраструктуры вашего ПК с помощью инструментов, предлагаемых производителем. Например, страница Intel под названием "Административные инструменты для сетевых адаптеров Intel " предлагает коллекцию бесплатных утилит диагностики и управления. Соответствующая страница Realtek предлагает широкий набор похожих инструментов для сетевых устройств, включая утилиту под простым названием "Windows Diagnostic Program".

Вы можете "копнуть глубже" при желании

Хотя данная статья акцентирует внимание только на одной высокоуровневой задаче - обнаружении проблем с аппаратными подсистемами - не стоит забывать, что инструменты мониторинга Windows способны обеспечить пользователя подробной информацией о производительности не только аппаратной, но и программной части ПК.

Нашли опечатку? Выделите и нажмите Ctrl + Enter

Программа Монитор надежности и производительности - великолепный инструмент для быстрого анализа производительности Windows Vista, объединяющий в себе две полезные программы, Системный монитор и Монитор стабильности системы. Другими словами, Монитор надежности и производительности - это интерфейс, объединяющий несколько программ и средств управления.

Данные программы Монитор надежности и производительности можно записывать в виде отдельных файлов и экспортировать в файл Excel.

Запустить программу можно, перейдя в окно Панель управления и выбрав команду Система и ее обслуживание>Счетчики и средства производительности . Теперь щелкните в открывшемся окне на ссылке Дополнительные инструменты , расположенной на левой панели. Откроется новое окно.

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

Куда более простой способ запустить программу - ввести в командной строке команду perfmon (открыть командную строку можно, нажав комбинацию клавиш ). В результате откроется окно, показанное далее. Поскольку по умолчанию в окне отображается программа Монитор ресурсов , раскройте папку Средства наблюдения и щелкните на ссылке Системный монитор . В этой же папке представлен значок программы .

Рассмотрим более подробно окно программы Системный монитор . В этом окне представлен график текущего состояния системы и данные о предыдущем состоянии.

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

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

В основном окне программы отображаются данные одного или нескольких счетчиков (о них чуть позже). При этом по умолчанию используется интервал опроса, равный 1 с, а всего в окне представлены данные за последние 100 с. Изначально данные отображаются в режиме Строка . Чтобы изменить данный режим, щелкните на значке Изменить тип диаграммы , расположенном на панели инструментов, и выберите вариант Линейчатая гистограмма или Отчет . Также, чтобы переключаться между различными режимами отображения, можно использовать комбинацию клавиш .

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

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

Счетчик , в свою очередь, позволяет отслеживать определенную информацию о конкретном объекте. При этом для каждого объекта предлагается различный набор счетчиков. Например, для такого объекта, как «Память», доступны следующие счетчики (поскольку список счетчиков весьма внушительный, приведем лишь некоторые из них):

  • процент использования выделенной памяти;
  • байты кеш-памяти;
  • байты свободной памяти и обнуленных страниц памяти;
  • байты основного и резервного кеша;
  • ввод страниц/сек;
  • всего байтов системного кода;
  • всего байтов системных драйверов;
  • ввод страниц/сек;
  • доступно байтов, Кбайт, Мбайт;
  • ошибок кеш-памяти, сек.

Это лишь малая часть доступных счетчиков. Особенно обрадуются им программисты и системные администраторы, поскольку все разнообразие счетчиков позволяет получить удивительно ясную и полную картину происходящего в системе.

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

Каждый счетчик в программе Системный монитор можно использовать несколько раз, что позволяет измерять и сравнивать один и тот же тип производительности с помощью различных программных процессов или аппаратных устройств. Не очень понятно? К примеру, у объекта «Процесс» существует несколько отдельных экземпляров для каждого выполняемого процесса (а все эти процессы, как мы помним, можно увидеть с помощью ). Другой пример: для каждого жесткого диска, установленного в системе, доступен отдельный экземпляр объекта «Физический диск».

У каждого объекта с несколькими экземплярами существует, как правило, один общий экземпляр, предоставляющий информацию обо всех других экземплярах этого объекта. К примеру, можно создать несколько экземпляров счетчика, подсчитывающего объем данных ввода-вывода для различных источников, таких как сетевые интерфейсы, устройства и жесткие диски. При этом счетчик, отслеживающий показатели ввода-вывода данных для всех выполняемых процессов, предоставит общие данные о производительности системы. Если же добавить отдельные счетчики для каждого выполняемого процесса, то можно обнаружить «наглый» процесс, осуществляющий наибольший объем операций ввода-вывода данных; иными словами, «тормозящий» систему.

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

Первое, что необходимо сделать - это выбрать в поле Выбрать счетчики компьютера значение <локальный компьютер> (обычно значение выбрано по умолчанию). Если же нужно проанализировать производительность другого компьютера в локальной сети, щелкните на кнопке Обзор и укажите название такого компьютера.

Теперь необходимо выбрать объект для контроля. Щелкните на названии любого объекта (например, Процессор ), чтобы открыть список счетчиков, связанных с этим объектом. При этом в нижнем поле отображаются все экземпляры, относящиеся к выбранному объекту. Например, если выбрать объект Физический диск, то в поле Экземпляры выбранного объекта будут перечислены все жесткие диски с их разделами.

Теперь выберите счетчик, затем экземпляр объекта и щелкните на кнопке Добавить . Как видите, ничего сложного.

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

Монитор производительности включает в себя две консоли: 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%, то больший объем памяти может существенно повысить производительность

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

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

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

SQLServer:SQL Statistics

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

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

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

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

Общее количество дисковых операций (чтения и записи), ожидающих в очереди. Это индикатор общей пропускной способности диска, на которую влияют количество приводов, задействованных в 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′

Я использую монитор системы для получения общей картины состояния сервера баз данных и определения, с какими вопросами могу потенциально столкнуться в работе. На основании этой информации я могу воспользоваться утилитой 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. Каждый столбец представляет собой последовательность показаний некоторого счетчика, а каждая строка является совокупностью показаний одной выборки.

Счетчики производительности. Часть 1

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

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

Одним из самых мощных инструментов для обнаружения проблем с производительностью в Windows являются встроенные счетчики производительности (Performance Counters). О них и пойдет речь в этой статье.

Основным инструментом для управления счетчиками производительности в Windows является оснастка Монитор производительности (Performance Monitor), в более ранних версиях Windows известная как Системный монитор. Performance Monitor имеет несколько режимов отображения и позволяет выводить показания счетчиков производительности в режиме реального времени, а также сохранять данные в лог-файлы для последующего изучения.

Найти Performance Monitor можно в меню Пуск (стартовый экран в Server 2012) в разделе Administrative tools, либо нажав Win+R и в окне «Run» выполнить команду perfmon.msc . Стоит иметь в виду, что не все пользователи имеют права на использование этой оснастки. Кроме членов группы Administrators, которые имеют полные права и могут пользоваться всеми ее возможностями, есть еще две группы:

Пользователи системного монитора (Performance Monitor Users) — могут просматривать (локально или удаленно) данные монитора производительности и изменять свойства отображения в реальном времени. Не имеют прав на создание и изменение групп сборщиков данных (Data Collector Set);
Пользователи журналов производительности (Performance Log Users) — имеют все права предыдущей группы, а также могут создавать и изменять группы сборщиков данных.

Ну а обычные пользователи, входящие в группу Users, могут только открывать лог-файлы для просмотра в мониторе производительности.

Важно. В соответствием с требованием инструментария управления Windows (WMI) группе Performance Log Usersнеобходимо предоставить право входа в систему в качестве пакетного задания. Для этого надо открыть оснастку локальной политики безопасности (secpol.msc), в разделе «Local policies\User Rights Assignment»найти параметр Log on as batch job и добавить в список группу Performance Log Users.

Добавление счетчиков

Итак, первое что мы делаем, открыв Performance Monitor, это добавляем в окно мониторинга необходимые нам счетчики. По умолчанию в окне уже отображается один счетчик, показывающий общую загрузку процессора. Удалить ненужный счетчик можно, выделив его и нажав на красный крестик на панели инструментов, либо клавишей Delete . Для добавления счетчиков жмем зеленую кнопку либо Ctrl+N .

Открывается окно добавления счетчиков. В поле «Select counters from computer» задаем имя или IP-адрес компьютера, за которым будет вестись наблюдение. Кстати, Performance Monitor может отображать в одном окне счетчики с разных компьютеров.

Затем выбираем счетчики производительности из списка. Все счетчики объединены в группы, как правило содержащие в своем названии имя объекта производительности. Например, для мониторинга сетевой активности открываем группу Network Interface и выбираем счетчики, показывающие объем получаемого и передаваемого сетевого трафика, общий объем трафика и текущую пропускную способность.

Если вы сомневаетесь в назначении какого либо счетчика, то есть возможность посмотреть его описание. Для этого надо отметить чекбокс «Show description» в левом нижнем углу. Описание не очень подробное, но достаточно информативное.

Примечание. Количество счетчиков производительности довольно велико и зависит от версии операционной системы и установленых серверных ролей и компонентов. Так, например, в Windows Server 2012 добавлено большое количество счетчиков, предназначеных для мониторинга виртуальных машин. Кроме того, некоторые серверные продукты, такие как Exchange или SQL Server добавляют в систему собственные счетчики.

Выбрав объект мониторинга и выделив нужные счетчики, в поле «Instances of selected оbject» выбираем экземпляр (Instance) объекта. Так выбрав в качестве объекта сетевые интерфейсы, здесь мы указываем, за каким именно необходимо наблюдать. Можно выбрать один или несколько экземпляров, выбрав All Instance мы выведем данные для каждого экземпляра отдельно, а значение _Total выведет усредненное значение по всем экземплярам объекта.

Вот так выглядит окно монитора производительности после добавления счетчиков. По умолчанию значения счетчиков производительности выводятся в виде линейного графика. Выбрав конкретный счетчик, можно посмотреть в панели текущее (last), минимальное (minimum), максимальное (maximum) и среднее (average) значения за указанный период времени.

Если одновременно используется большое число счетчиков, то следить за каждым из них может быть затруднительно. Поэтому при необходимости лишние счетчики лучше скрыть, для чего достаточно снять флажок в столбце Show.

Нажав соответствующую кнопку на панели инструментов, можно выбрать режим отображения в виде гистограммы (Histogram bar) или в виде отчета (Report). Также между режимами можно переключаться сочетанием клавиш Ctrl+G .

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

Как вариант, можно выделить конкретный счетчик, так чтобы он отражался более жирной линией. Для этого выбираем нужный счетчик и жмем на кнопку Highlight, расположенную в панели инструментов. Также для выделения можно воспользоваться сочетанием клавиш Ctrl+H .

Настройка Performance Monitor

Performance Monitor имеет множество настроек, предназначенных для наилучшего отображения данных. Открыть диалоговое окно настроек монитора производительности можно, кликнув на нем правой клавишей мышки и выбрав пункт Properties, либо нажав на неприметную кнопку в панели инструментов, либо нажав Ctrl+Q .

На вкладке General можно:

Display Elements — удалить\добавить элементы, отображаемые в окне Performance Monitor;
Report and Histogramm Data — изменить значения, отображаемые в режиме отчета и гистограммы. По умолчанию в них отображаются текущие значения счетчиков. Можно указать минимальное, максимальное или среднее значение, при этом отображаемые данные будут каждый раз пересчитываться;
Sample Automaticaly — автоматический съем данных. По дефолту выборка данных производится автоматически, с заданным интервалом. Убрав галку, мы тем самым включим ручной режим, в котором снятие данных осуществляется кнопкой Update Data на панели инструментов, или сочетанием клавиш Ctrl+U . Также переключаться с ручного режима на автоматический и обратно можно клавишами Ctrl+F ;
Graph elements — элементы диаграммы. В поле Sample Every задается интервал обновления данных в автоматическом режиме, а в поле Duration — временной отрезок, отображаемый в окне Performance Monitor. По умолчанию данные обновляются каждую секунду, а отображаемый интервал составляет 100 секунд. Для более-менее длительного наблюдения эти значения желательно увеличить.

На вкладке Source (Источник) мы указываем, откуда брать данные:

Current activity — текущая активность, выводится в окне Performance Monitor по умолчанию;
Log files — здесь можно указать путь к сохраненному ранее файлу журнала;
Database — использовать в качестве источника базу данных SQL. Performance Monitor позволяет записывать и извлекать данные о производительности в базу данных, конечно при наличии SQL сервера.

На вкладке Data можно отредактировать список счетчиков, а также изменить визуальные параметры отображения каждого счетчика — цвет (Color), масштаб (Scale), ширину линии (Width) и ее стиль (Style).

На вкладке Graph изменяем отображение графика:

View — задаем режим отображения: график, гистограмма или отчет;
Scroll style — тип прокрутки, указывающий направление прокрутки для линейного графика. Выбрав Wrap (Зацикливание) график будет прокручиваться слева направо, Scroll (Продвижение) — в обратном направлении;
Title — название графика, отображаемое под панелью инструментов;
Vertical axis — при помощи этого параметра можно дать название вертикальной оси координат;
Show — включает отображение вертикальной и горизонтальной сетки и подписи со значениями для осей координат;
Vertical scale — диапазон значений вертикальной шкалы. Здесь устанавливаем минимальное и максимальное значение, которые будут отображаться на графике.

Ну и на вкладке Appearance настраивается цветовое оформление и используемый шрифт.

Сохранение данных о производительности

Иногда может потребоваться сохранить полученные данные, например для предоставления отчета или для проведения дальнейшего анализа. Performance Monitor позволяет экспортировать полученные данные в файл. Для экспорта надо кликнуть правой клавишей мыши в окне и в открывшемся меню выбрать пункт «Save Settings As». По умолчанию отчет сохраняется в формате HTML, и его можно открыть в любом браузере.

Также можно выбрать для сохранения формат файла с расширением.tsv — файл с разделителями — знаками табуляции. Этот формат может использоваться для экспорта данных в электронные таблицы. А выбрав в контекстном меню пункт «Save Image As» можно сохранить содержимое экрана в виде изображения в формате GIF.

Вот так выглядит в браузере HTML-отчет. В нем сохранены все параметры монитора производительности, включая тип отображения, заголовки и т.п.

PowerShell

Значения счетчиков производительности можно посмотреть и из консоли PowerShell, где для этого есть специальный командлет Get-Counter . Хотя PowerShell имеет гораздо меньше возможностей для отображения счетчиков производительности, чем Performance Monitor, но зато может использоваться в режиме установки Server Core, при полном отсутствии графического интерфейса.

Предположим, мы хотим с его помощью посмотреть загрузку процессора. Сначала выведем все доступные счетчики для процессора:

(Get-Counter -ListSet Processor).counter

Затем выбираем нужный и выводим его значение:

Get-Counter -Counter ″\Processor(_total)\% Processor Time″ -SampleInterval 10 -MaxSamples 2

В скобках указывается экземпляр счетчика (Instance), в данном примере это ядра процессора. Можно указать номер конкретного экземпляра, либо поставить звездочку (*), тогда будет выведена информация по каждому экземпляру, а указав параметр (_total), мы получим суммарную информацию по всем экземплярам.
- Параметр -SampleInterval указывает периодичность снятия данных, а -MaxSamples — количество попыток. Так в примере данные снимаются 2 раза с интервалом в 10 секунд. Если вместо этих параметров указать -Continuous , то данные будут сниматься непрерывно, пока вы не нажмете Ctrl+C ;
-
При необходимости можно вывести значения с нескольких счетчиков, указав их через запятую.

Заключение

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

В предыдущей статье был составлен список из 80 инструментов для мониторинга Linux системы. Был смысл также сделать подборку инструментов для системы Windows. Ниже будет приведен список, который служит всего лишь отправной точкой, здесь нет рейтинга.


1. Task Manager

Всем известный диспетчер задач Windows - утилита для вывода на экран списка запущенных процессов и потребляемых ими ресурсов. Но знаете ли Вы, как использовать его весь потенциал? Как правило, с его помощью контролируют состояние процессора и памяти, но можно же пойти гораздо дальше. Это приложение предварительно на всех операционных системах компании Microsoft.

2. Resource Monitor

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

3. Performance Monitor

Основной инструмент для управления счетчиками производительности в Windows. Performance Monitor, в более ранних версиях Windows известен нам как Системный монитор. Утилита имеет несколько режимов отображения, выводит показания счетчиков производительности в режиме реального времени, сохраняет данные в лог-файлы для последующего изучения.

4.Reliability Monitor

Reliability Monitor - Монитор стабильности системы, позволяет отслеживать любые изменения в производительности компьютера, найти монитор стабильности можно в Windows 7, в Windows 8: Control Panel > System and Security > Action Center. С помощью Reliability Monitor можно вести учет изменений и сбоев на компьютере, данные будут выводиться в удобном графическом виде, что позволит Вам отследить, какое приложение и когда вызвало ошибку или зависло, отследить появление синего экрана смерти Windows, причину его появления (очередное обновлением Windows или установка программы).

5. Microsoft SysInternals

SysInternals - это полный набор программ для администрирования и мониторинга компьютеров под управлением ОС Windows. Вы можете скачать их себе бесплатно на сайте Microsoft. Сервисные программы Sysinternals помогают управлять, находить и устранять неисправности, выполнять диагностику приложений и операционных систем Windows.

6. SCOM (part of Microsoft System Center)

System Center - представляет собой полный набор инструментов для управления IT-инфраструктурой, c помощью которых Вы сможете управлять, развертывать, мониторить, производить настройку программного обеспечения Microsoft (Windows, IIS, SQLServer, Exchange, и так далее). Увы, MSC не является бесплатным. SCOM используется для проактивного мониторинга ключевых объектов IT-инфраструктуры.

Мониторинг Windows серверов с помощью семейства Nagios

7. Nagios

Nagios является самым популярным инструментом мониторинга инфраструктуры в течение нескольких лет (для Linux и Windows). Если Вы рассматриваете Nagios для Windows, то установите и настройте агент на Windows сервер. NSClient ++ мониторит систему в реальном времени и предоставляет выводы с удаленного сервера мониторинга и не только.

8. Cacti

Обычно используется вместе с Nagios, предоставляет пользователю удобный веб-интерфейс к утилите RRDTool , предназначенной для работы с круговыми базами данных (Round Robin Database), которые используются для хранения информации об изменении одной или нескольких величин за определенный промежуток времени. Статистика в сетевых устройств, представлена в виде дерева, структура которого задается самим пользователем, можно строить график использования канала, использования разделов HDD, отображать латентость ресурсов и т.д.

9. Shinken

Гибкая, масштабируемая система мониторинга с открытым исходным кодом, основанная на ядре Nagios, написанном на Python. Она в 5 раз быстрее чем Nagios. Shinken совместима с Nagios, возможно использование ее плагинов и конфигураций без внесения коррективов или дополнительной настройки.

10. Icinga

Еще одна популярная открытая система мониторинга, которая проверяет хосты и сервисы и сообщает администратору их состояние. Являясь ответвлением Nagios, Icinga совместима с ней и у них много общего.

11. OpsView

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

Op5 еще одна система мониторинга с открытым исходным кодом. Построение графиков, хранение и сбор данных.

Альтернативы Nagios

13. Zabbix

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

14. Munin

Неплохая система мониторинга, собирает данные с нескольких серверов одновременно и отображает все в виде графиков, с помощью которых можно отслеживать все прошедшие события на сервере.

15. Zenoss

Написан на языке Python с использованием сервера приложений Zope, данные хранятся в MySQL. С помощью Zenoss можно
мониторить сетевые сервисы, системные ресурсы, производительность устройств, ядро Zenoss анализирует среду. Это дает возможность быстро разобраться с большим количеством специфических устройств.

16. Observium

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

17. Centreon

Комплексная система мониторинга, позволяет контролировать всю инфраструктуру и приложения, содержащие системную информацию. Бесплатная альтернатива Nagios.

18. Ganglia

Ganglia - масштабируемая распределенная система мониторинга, используется в высокопроизводительных вычислительных системах, таких как кластеры и сетки. Отслеживает статистику и историю вычислений в реальном времени для каждого из наблюдаемых узлов.

19. Pandora FMS

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

20. NetXMS

Программное обеспечение с открытым кодом для мониторинга компьютерных систем и сетей.

21. OpenNMS

OpenNMS платформа мониторинга. В отличие от Nagios, поддерживает SNMP, WMI и JMX.

22. HypericHQ

Компонент пакета VMware vRealize Operations, используется для мониторинга ОС, промежуточного ПО и приложений в физических, виртуальных и облачных средах. Отображает доступность, производительность, использование, события, записи журналов и изменений на каждом уровне стека виртуализации (от гипервизора vSphere до гостевых ОС).

23. Bosun

Система мониторинга и оповещения (alert system) с открытым кодом от StackExchange. В Bosun продуманная схема данных, а также мощный язык их обработки.

24. Sensu

Sensu система оповещения с открытым исходным кодом, похожа на Nagios. Имеется простенький dashboard, можно увидеть список клиентов, проверок и сработавших алертов. Фреймворк обеспечивает механизмы, которые нужны для сбора и накопления статистики работы серверов. На каждом сервере запускается агент (клиент) Sensu, использующий набор скриптов для проверки работоспособности сервисов, их состояния и сбора любой другой информации.

25. CollectM

CollectM собирает статистику об использовании ресурсов системы каждые 10 секунд. Может собирать статистику для нескольких хостов и отсылать ее на сервер, информация выводится с помощью графиков.

28. Performance Analysis of Logs (PAL) Tool

34. Total Network Monitor

Это программа для постоянного наблюдения за работой локальной сети отдельных компьютеров, сетевых и системных служб. Total Network Monitor формирует отчет и оповещает Вас о произошедших ошибках. Вы можете проверить любой аспект работы службы, сервера или файловой системы: FTP, POP/SMTP, HTTP, IMAP, Registry, Event Log, Service State и других.

35. PRTG

38. Idera

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

39. PowerAdmin

PowerAdmin является коммерческим решением для мониторинга.

40. ELM Enterprise Manager

ELM Enterprise Manager - полный мониторинг от «что случилось» до «что происходит» в режиме реального времени. Инструменты мониторинга в ELM включают - Event Collector, Performance Monitor, Service Monitor, Process Monitor, File Monitor, PING Monitor.

41. EventsEntry

42. Veeam ONE

Эффективное решение для мониторинга, создания отчетов и планирования ресурсов в среде VMware, Hyper-V и инфраструктуре Veeam Backup & Replication, контролирует состояние IT-инфраструктуры и диагностирует проблемы до того, как они помешают работе пользователей.

43. CA Unified Infrastructure Management (ранее CA Nimsoft Monitor, Unicenter)

Мониторит производительность и доступность ресурсов Windows сервера.

44. HP Operations Manager

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

45. Dell OpenManage

OpenManage (теперь Dell Enterprise Systems Management) «все-в-одном продукт» для мониторинга.

46. Halcyon Windows Server Manager

Менеджмент и мониторинг сетей, приложений и инфраструктуры.

Ниже приведен список (наиболее популярных) инструментов для мониторинга сети

54. Ntop

55. NeDi

Nedi является инструментом мониторинга сети с открытым исходным кодом.

54. The Dude

Система мониторинга Dude, хоть и бесплатна, но по мнению специалистов, ни в чем не уступает коммерческим продуктам, мониторит отдельные серверы, сети и сетевые сервисы.

55. BandwidthD

Программа с открытым исходным кодом.

56. NagVis

Расширение для Nagios, позволяет создавать карты инфраструктуры и отображать их статус. NagVis поддерживает большое количество различных виджетов, наборов иконок.

57. Proc Net Monitor

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

58. PingPlotter

Используется для диагностики IP-сетей, позволяет определить, где происходят потери и задержки сетевых пакетов.

Маленькие, но полезные инструменты

Список не был бы полным без упоминания нескольких вариантов аппаратного мониторинга.

60. Glint Computer Activity Monitor

61. RealTemp

Утилита для мониторинга температур процессоров Intel, она не требует инсталляции, отслеживает текущие, минимальные и максимальные значения температур для каждого ядра и старт троттлинга.

62. SpeedFan

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

63. OpenHardwareMonitor



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: