Schetchiksg.ru

Счетчик СГ
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Счетчик производительности создан, но не работает до перезапуска windows

У меня есть странная проблема с созданием новых счетчиков в существующей группе. У меня есть служба windows, которая выполняет некоторую работу и позволяет мне контролировать ее состояние с помощью счетчика производительности. У меня есть группа счетчиков производительности и некоторые счетчики производительности. Группа создается на этапе установки службы (с правами администратора), а счетчики инициализируются при запуске службы (как пользователь LocalSystem). Все работает нормально, группа существует, счетчик тоже существует, я могу следить за ними и записывать в журнал счетчиков производительности. Сервис постоянно работает.

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

Это конец обычной, неинтересной части истории. Странные вещи начинаются здесь.

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

Службе не удалось добавить счетчик «AGENTMyCountersGroupNameMyNewCounter » в журнал или предупреждение NewCountersLog. Этот журнал или предупреждение будут продолжаться, но данные для этого счетчика не будут собраны. Возвращается ошибка: указанный счетчик не может быть найден.

Я попытался переустановить сервис, удалить старые счетчики, добавить их снова, и ничего не изменилось. Старые счетчики работают, а новые не работают. Затем я перезапустил Windows, и новые счетчики начали работать! В сервисе ничего не изменилось, я просто перезапустил сервер. Я столкнулся с этой проблемой на 2 серверах, оба они работают под управлением Windows Server 2003 SP1. Код для всех счетчиков производительности идентичен, потому что я создаю их с помощью кода с генераторами.

Вы можете сказать: «Эй, не беспокойтесь, перезапускайте свой Windows каждый раз, когда вам нужно добавить новые счетчики производительности», но я не могу. Мой сервис работает на сервере вместе с другими сервисами, и нам нужно, чтобы эти сервисы работали постоянно, мы не можем перезапускать сервер каждый раз, когда я меняю один сервис.

Кто-нибудь может помочь с этим вопросом?

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

Код для установки и удаления (вызывается на этапе установки): PerformanceCountersManagerBase.GetCreationData()-это универсальная оболочка для получения сбора данных для создания счетчиков производительности.

Код для инициализации счетчиков в сервисе и обновления:

Обновление 3 я изменил код для установки счетчиков через компонент .NET PerformanceCounterInstaller, и ничего не изменилось. Старые счетчики работают так, как они работали, а вновь созданные не работают, и попытка зарегистрировать их приводит к точному сообщению об ошибке (предупреждении) в журнале событий. Код создания установщика выглядит следующим образом:

3 ответа

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

Я создал счетчик производительности для своего приложения C#. Его тип- NumberOfItems32 . Я не знаю почему, но монитор производительности показывает меня на оси y только как максимальное значение только 100 , когда мой счетчик намного больше этого наверняка. Знаете ли вы, правильно ли это поведение.

Я хотел бы использовать аппаратный счетчик производительности , в частности x86 CPUs, чтобы получить промахи кэша или неправильное предсказание ветвей. Счетчики производительности широко используются в продвинутых профилировщиках, таких как Intel VTune. Пожалуйста, не путайте счетчики.

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

До ответа Майка я сам справился с этой проблемой. Но у меня нет времени выяснять причину проблемы. Я решил эту проблему, выполнив следующие действия:

  1. остановите ведение журнала perfmon (я зарегистрировал все свои счетчики с помощью регистратора perfmon)
  2. закрыть perfmon
  3. служба удаления (service uninstaller удаляет счетчики производительности всей группы)
  4. установка службы с добавленными счетчиками производительности

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

Читайте так же:
Такси до аэропорта по счетчику

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

К моему удивлению, решение состояло в том, чтобы использовать инструмент CLOSE Монитор производительности windows, а затем создать счетчики. Проблема заключалась в used-shared-memory, который был заблокирован.

Похожие вопросы:

У меня есть этот кусок кода : Где я создаю свой счетчик производительности. Он работает нормально, если не существует, он также создает счетчик производительности, но я не могу найти этот счетчик.

Как я могу определить и использовать два счетчика производительности AverageTimer32 в одном приложении (.exe)? дополнительное Примечание: Я пытаюсь так измерить затраченное время на разные части.

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

Я создал счетчик производительности для своего приложения C#. Его тип- NumberOfItems32 . Я не знаю почему, но монитор производительности показывает меня на оси y только как максимальное значение.

Я хотел бы использовать аппаратный счетчик производительности , в частности x86 CPUs, чтобы получить промахи кэша или неправильное предсказание ветвей. Счетчики производительности широко.

Я пишу приложение java, которое время от времени генерирует целочисленные значения. Приложение java работает на машине Windows. Я не знаю, возможно ли это, но мне было интересно, могу ли я Создать.

Есть ли способ программно создать счетчик производительности на удаленном компьютере под управлением Windows Server 2008?

Я пытаюсь из приложения ASP.NET MVC (с VS 2012 на Windows 8 x64 PC) добавить счетчик производительности, но у меня есть проблема, что если я проверю, что категория существует или добавлю новую.

Счетчик производительности не работает в c#. я думаю, что это системная проблема. Потому что он прекрасно работает в другой системе. Как это исправить? Он показывает ошибку для приведенного ниже.

По какой-то причине мой счетчик производительности не работает. Я видел, как этот счетчик производительности работал на ноутбуке других людей & desktop, но не на моем. У него нет списка, чтобы.

Системный монитор Windows (Performance Monitor): сборщики данных загруженности оборудования системы

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

0. Оглавление

  1. Запуск системного монитора
  2. Добавление группы сборщиков данных
  3. Запуск сборщика данных по расписанию
  4. Автоматический перезапуск сборщика данных
  5. Работа с группами сборщиков данных из командной строки

1. Запуск системного монитора

Итак, запускаем Системный монитор Windows (Windows Performance Monitor). Во всех версиях Windows Server сделать это проще всего выполнив команду perfmon (Win+R — «perfmon» — «ОК»)

2. Добавление группы сборщиков данных

Теперь добавим новую группу сборщиков данных.

Но прежде всего, необходимо убедиться, что пользователь, под которым вы работаете, является членом группы «Пользователи журналов производительности» (Performance Log Users) или группы «Администраторы» (Administrators) (или аналогичной).

Для добавления новой группы сборщиков данных, в запустившемся Системном мониторе Windows в дереве консоли слева раскрываем вкладку «Группы сборщиков данных» (Data Collector Set), кликнем правой кнопкой мыши по группе «Особые» (User Defined) и в контекстном меню выберем пункт «Создать» (New) — «Группа сборщиков данных» (Data Collector Set).

Запуститься мастер создания группы сборщиков данных. На первой странице мастера вводим имя группы сборщиков, выбираем пункт «Создать вручную (для опытных)» (Create manually (Advenced)) и нажимаем «Далее» (Next).

Выбираем тип данных «Создать журналы данных» (Create data logs), ставим флаг «Счетчик производительности» (Performance counter) и снова жмем «Далее» (Next).

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

Для некоторых счетчиков возможно выбрать конкретный экземпляр объекта. Например, при добавлении счетчика «Средняя длина очереди диска» (Avg. Disk Queue Length) можно выбрать диск, для которого будет собираться статистика.

Читайте так же:
Что такое номер счетчика при регистрации

Выбрав необходимый счетчик (или конкретный экземпляр объекта для счетчика) следует перенести его в таблицу «Добавленные счетчики» (Added Counters) с помощью кнопки «Добавить» (Add). Добавив все необходимые счетчики, нажимаем «ОК».

После чего все выбранные счетчики перенесутся в список счетчиков создаваемой группы сборщиков данных. Устанавливаем интервал сбора данных (Sample interval) (рекомендуется 15 сек.) и нажимаем «Далее» (Next).

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

Однако если вы не Администратор, вам, скорее всего, не хватит прав на каталог C:PerfLogs. И в этом случае, следует выбрать папку для логов там, куда гарантированно есть право на запись.

Определившись с корневой папкой для хранения файлов журнала, жмем «Далее» (Next).

На последней странице мастера также можно выбрать пользователя Windows из под которого будет вестись замер производительности. Сменив пользователя (или оставив значение по умолчанию) устанавливаем переключатель, отвечающий за последующие действия программы в значение «Сохранить и закрыть» (Save and close) и нажимаем «Готово» (Finish) для завершения работы мастера.

После чего в дереве консоли в группе «Особые» (User defined) увидим нашу только что созданную группу сборщиков данных. Для того, чтобы сборщик данных начал запись в показателей счетчиков в журнал, необходимо кликнуть по нему правой кнопкой мыши и в контекстном меню выбрать пункт «Пуск» (Start) или нажать соответствующую кнопку на панели задач оснастки.

Если все настроено правильно, и сборщик начал запись в журнал, иконка группы сборщика данных сменится на иконку со значком «Play». Даже если завершить сеанс пользователя, сборщик все равно продолжит свою работу.

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

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

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

Но намного удобнее это делать, найдя нужный журнал в дереве консоли, развернув вкладки «Отчеты» (Reports) — «Особые» (User Defined). Здесь для каждой созданной группы сборщиков данных хранятся сведения о файлах журналов замера производительности. Чтобы просмотреть данные журнала достаточно просто выбрать его в дереве.

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

3. Запуск сборщика данных по расписанию

Также есть возможность настроить запуск сборщика данных по расписанию. Для этого следует кликнуть правой кнопкой мыши по группе сборщиков данных, для которой необходимо настроить расписание, и в контекстном меню выбрать пункт «Свойства» (Properties).

В открывшемся окне свойств сборщика данных доступно для изменения множество параметров сборщика. В частности, на вкладке «Расписание» (Schedile) можно настроить несколько триггеров, по которым будет запускать замер производительности. Например, на картинке ниже, установлено расписание, при котором сборщик данных будет запускаться каждый будний день в 10:00 в течении всего Июня 2015 года.

Осталось только определить время остановки записи работы счетчиков. Сделать это можно на вкладке «Условие остановки» (Stop Condition). На приведенном ниже рисунке сборщик будет работать в течении одного часа.

Дожидаемся назначенного времени и видим, что файл журнала успешно сформировался и доступен для анализа в дереве консоли оснастки «Производительность» (Performance).

4. Автоматический перезапуск сборщика данных

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

Прежде всего, для удобства хранения фалов журнала, поменяем формат имени папки (Subdirectory name format), в которой будет храниться файл с данными замера производительности. Сделать этом можно вызвав окно свойств текущего сборщика данных и перейдя на вкладку «Папка» (Directiry). Здесь с помощью встроенной подсказки можно установить шаблон создаваемых папок. Установим имя, соответствующее полному времени начала работы группы сборщика данных, т. е. в формате «yyyyMMddHHmmss».

Читайте так же:
От магнита заклинило счетчик

Затем на вкладке «Условие остановки» (Stop Condition) установим флаг «Перезапускать группу сборщиков данных при достижении предела.» (Restart the data collector set at limits) и установим длительность (Duration) работы счетчика, например 1 час, после чего сохраняем изменения с помощью кнопки «ОК».

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

5. Работа с группами сборщиков данных из командной строки

Работать с группами сборщиков данных можно как и из оснастки «Производительность» (Performance), так и из командной строки с помощью программы logman.exe. Синтаксис и примеры работы данного оператора можно получить выполнив команду

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

Например, bat-файл, создающий группу сборщиков данных аналогичную описанной в данной статье выше, будет содержать код (bat-файлы удобно писать с помощью программы Notepad++):

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

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

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

Смотрите также:

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

По умолчанию поиск в Windows (в данном примере в Windows 7) ищет файлы по имени. Содержимое учитывает только в проиндексированных расположениях. Чтобы поиск искал по содержимому всех документов, нужно изменить…

На нашем сайте уже раннее рассматривался вариант установки изначально русифицированной редакции Windows 8.1. Англоязычные редакции, к примеру, ознакомительная версия Windows 8.1 Корпоративная на сайте Центра пробного ПО от компании Microsoft, дистрибутив…

Русские Блоги

О том, как добавить счетчик производительности Windows

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

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

Меню Пуск —— «Панель управления ——« Инструменты управления —— »Производительность, как показано на рисунке ниже:

Первая красная область выше указывает на машину, за которой нужно следить;

Вторая область показывает отслеживаемые объекты, которые являются некоторыми общими объектами системы, такими как: ЦП, память, сеть, диск и т. Д.

Третья область слева — это параметры, которые уточняются в соответствии с выбранным объектом. Эти параметры предназначены для выбора функции индикатора в объекте мониторинга. Подробности см. В документации счетчика.

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

Данные, за которыми обычно необходимо следить, следующие:

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

Эта статья переведена из блога Yimiyi Sunshine Blog Garden, исходная ссылка: http://www.cnblogs.com/candle806/archive/2010/12/22/1913925.html Пожалуйста, свяжитесь с первоначальным автором, если вам нужно перепечатать

Интеллектуальная рекомендация

Пошаговая загрузка файла Spring MVC-09 (на основе файла загрузки клиента Servlet3.0 + Html5)

пример тестовое задание Исходный код Несмотря на загрузку файлов в Servlet3.0 +, мы можем очень легко программировать на стороне сервера, но пользовательский интерфейс не очень дружелюбен. Одна HTML-ф.

Создайте многоканальное окно в приложениях Win32

Создайте многоканальное окно в приложениях Win32, создайте несколько оконных объектов одного и того же класса Windows, а окна объектов разных классов окон. .

Путь к рефакторингу IOS-APP (3) Введение в модульное тестирование

IOS-APP реконструкция дороги (1) структура сетевых запросов IOS-APP реконструкция дороги (два) Модельный дизайн При рефакторинге нам нужна форма, позволяющая вносить смелые изменения, обеспечивая при .

Читайте так же:
Канализация гвс по счетчику

Tree——No.617 Merge Two Binary Trees

Problem: Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not. You need to merge them into a new bin.

Анализ производительности Windows с использованием возможностей ОС и утилиты PAL

Автор статьи — Михаил Комаров, MVP — Cloud and Datacenter Management

В данной статье будут рассмотрены:

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

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

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

Сбор данных

Начнем со всем давно известного Performance Monitor. Это стандартная утилита, которая входит во все современные редакции Windows. Вызывается либо из меню, либо из командной строки или строки поиска в Windows 8/10 вводом команды perfmon. После запуска утилиты мы видим стандартную панель, в которой можем добавить и удалить счетчики, изменить представление и масштабировать графики с данными.

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

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

Выводит на экран загрузку процессора с интервалом 1 сек.:

Выводит в файл названия счётчиков производительности, связанные с объектом PhysicalDisk:

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

Следующая утилита – Logman. Данная утилита позволяет создавать, изменять и управлять различными сборщиками данных. Мы будем создавать сборщик данных для счетчиков производительности. Вот, например, краткая справка по команде Logman, которая относится к счетчикам производительности и управлению сборщиком данных.


Разберем несколько примеров, которые нам понадобятся в дальнейшем.

Создадим сборщик данных с именем DataCollector_test, импортировав счетчики производительности из файла test.xml:

Создание файла для сбора данных производительности с включённым циркулярным режимом и заданным размером:

Изменение пути файла с данными производительности по умолчанию:

Запуск коллектора данных DataCollector_test:

Остановка коллектора данных DataCollector_test:

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

Рассмотрим еще одну утилиту — Relog, которая позволяет производить манипуляции с файлом данных после работы сборщика данных. Вот ее описание:

Ниже несколько сценариев применения этой утилиты.

Извлечение данных счетчиков производительности из файла logfile.blg с применением фильтра со списком счетчиков counters.txt и записью результата в бинарный формат:

Извлечение списка счетчиков производительности из logfile.blg в текстовый файл counters.txt:

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

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

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

После этого имена счетчиков и файлов будут на английском языке.

Также отметим возможность сбора данных для SQL Server с помощью утилиты из состава продукта. Это SQLDIAG, которая обрабатывает журналы производительности Windows, журналы событий Windows, трассировки SQL Server Profiler, сведения о блокировках SQL Server и сведения о конфигурации SQL Server. Указать, какие типы сведений нужно собирать с помощью программы SQLdiag, можно в файле конфигурации SQLDiag.xml.

Для конфигурирования файла SQLDiag.xml можно использовать инструмент PSSDIAG с codeplex.com.

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

В итоге, процесс сбора данных для SQL может выглядеть так. С помощью PSSDIAG мы формируем xml-файл. Далее посылаем этот файл клиенту, который запускает SQLDIAG c нашим xml-файлом на удаленном сервере и присылает нам для анализа результат работы в виде blg-файла, который мы будем анализировать в следующей части.

Читайте так же:
Счетчик цэ 6803 прямого включения

Анализ данных с помощью утилиты PAL

Данная утилита написана Clint Huffman, который является PFE-инженером Microsoft и занимается анализом производительности систем. Также он является одним из авторов авторизованного курса Vital Sign, который читается в Microsoft и доступен для корпоративных заказчиков, в том числе в России на русском языке. Утилита распространяется свободно, ссылку на нее я приведу ниже.

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

На вкладке Counter Log задаётся путь к файлу данных со счетчиками производительности, собранными ранее. Также мы можем задать интервал, за который будет производиться анализ.

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


Вот так, например, выглядят граничные значения для счётчиков дисковой производительности:

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

Действуем по следующему алгоритму: на рабочей станции запускаем утилиту PAL, переходим на вкладку Threshold File и экспортируем шаблон в виде xml-файла. На основании этого файла на сервере создаем сборщик данных и запускаем сборку информации.
После сбора данных копируем полученный файл на рабочую станцию, чтобы анализом не нагружать сервер, возвращаемся на вкладку Counter Log, указываем путь к файлу. Снова переходим на Threshold File и выбираем тот самый шаблон, который экспортировали для сборщика данных.

Переключаемся на вкладку Question и указываем объем оперативной памяти на сервере, на котором был осуществлён сбор данных. В случае 32-битной системы заполним UserVa.

Переходим к вкладке Output Options, на которой задаем интервал разбиения для анализа. Значение по умолчанию AUTO делит интервал на 30 равных частей.

Вкладка File Output выглядит довольно обычно, указываем на ней путь к файлам итоговых отчетов в формате HTML или XML.

Вкладка Queue показывает итоговый скрипт на PowerShell. В общем можно сказать, что утилита собирает параметры, которые она подставляет в скрипт PAL.PS1.

Итоговая вкладка задает параметры исполнения. Можно одновременно запустить несколько скриптов и указать число потоков на процессоре. Хотелось бы акцентировать внимание, что обработку blg делает не утилита, а скрипт PowerShell, и это открывает возможности для полной автоматизации анализа логов. Например, каждые сутки перезапускается сборщик данных, в результате освобождается текущий blg-файл и создаётся новый. Старый файл копируется на специальный сервер, где будет запускаться скрипт, обрабатывающий данный файл. После этого готовый HTML- или XML-файл с результатами перемещается в определённую директорию или высылается на почтовый ящик.

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

Также файл с данными должен быть с названиями счетчиков на английском. Выше я указывал, как это сделать. После нажатия Finish запустится скрипт PowerShell, время работы которого зависит от объёма данных и быстродействия рабочей станции.

Итогом работы утилиты будет отчет в выбранном формате, в котором есть графики и числовые данные, позволяющие понять, что происходило в системе за заданный период с учетом граничных значений алертов в шаблоне на вкладке Threshold File. В общем, анализ HTML-файла позволит на начальном этапе определить проблемные места в системе и понять, куда двигаться дальше, как в плане более тонкого мониторинга, так и в плане модернизации или переконфигурирования системы. В блоге Clint Huffman есть скрипт, которым можно конвертировать файл шаблона с граничными условиями в более понятный формат.

Черный ящик

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

Создадим сборщик данных c именем BlackBox, импортировав счетчики производительности из файла SystemOverview.xml, который выгрузили из утилиты PAL или создали самостоятельно:

Создание файла для сбора данных производительности с включённым циркулярным режимом и заданным размером 600 МБ (около 2 суток при стандартном наборе счетчиков):

Изменение пути файла с данными производительности по умолчанию:

Запуск коллектора данных BlackBox:

Данный скрипт создает задачу перезапуска сборщика данных в случае перезапуска системы:

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

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

Остановка коллектора данных BlackBox:

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

голоса
Рейтинг статьи
Ссылка на основную публикацию