Sibprompost.ru

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

Анализ загруженности оборудования для Windows

Анализ загруженности оборудования для Windows

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

  • Все рабочие сервера кластера 1С:Предприятия
  • Сервер СУБД
  • Клиентские рабочие станции, работающие под большой нагрузкой

Для каждого из этих компьютеров необходимо настроить сбор информации по загруженности оборудования.

Сбор информации по загруженности оборудования

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

Настройка сборка данных в Performance Monitor (Windows Server 2012 R2)

Для запуска Performance Monitor выберите соответствующий пункт меню раздела Administrative Tools контрольной панели Windows.

Добавьте в список наборов счетчиков (Data Collector Sets) новый набор (User Defined – пользовательский):

Настройка будет осуществляться вручную – в диалоговом окне нужно выбрать соответствующий пункт и нажать «Далее»:

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

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

Мы рекомендуем в обязательном порядке собирать данные по следующим счетчикам:

«Processor(_Total)Interrupts/sec»
«LogicalDisk(_Total)% Free Space»
«MemoryAvailable Mbytes»
«PhysicalDisk(_Total)Avg. Disk Queue Length»
«PhysicalDisk(_Total)Avg. Disk Sec/Read»
«PhysicalDisk(_Total)Avg. Disk Sec/Write»
«Processor(_Total)% Idle Time»
«Processor(_Total)% Processor Time»
«Processor(_Total)% User Time»
«SystemContext Switches/sec»
«SystemFile Read Bytes/sec»
«SystemContext Switches/sec»
«SystemFile Read Bytes/sec»
«SystemFile Write Bytes/sec»
«SystemProcesses»
«SystemProcessor Queue Length»
«SystemThreads»

Состав счетчиков может меняться в зависимости от роли компьютера. Например, для сервера приложений 1С:Предприятие к перечисленным выше стоит добавить показатели работы процессов 1с:Предприятие:

«Process(«1cv8*»)% Processor Time»
«Process(«1cv8*»)Private Bytes»
«Process(«1cv8*»)Virtual Bytes»
«Process(«ragent*»)% Processor Time»
«Process(«ragent*»)Private Bytes»
«Process(«ragent*»)Virtual Bytes»
«Process(«rphost*»)% Processor Time»
«Process(«rphost*»)Private Bytes»
«Process(«rphost*»)Virtual Bytes»
«Process(«rmngr*»)% Processor Time»
«Process(«rmngr*»)Private Bytes»
«Process(«rmngr*»)Virtual Bytes»

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

Рекомендуемая частота получения значений для рабочей системы – один раз в 15 секунд. В нагрузочных тестах рекомендуем собирать счетчики чаще, например, один раз в 1 секунду, т.к. длительность каждого непрерывного нагрузочного теста обычно не превышает десятка часов, а анализировать более детальные данные удобнее.По окончании выбора нажмите «Далее», укажите директорию хранения логов, при необходимости – пользователя, от имени которого будет запускаться процесс сборщика, и сохраните набор.

Откройте для дальнейшего редактирования его свойства (например, кликнув по нему в списке двойным щелчком мыши):

Можно выбрать формат файла логирования: бинарный удобен, если планируется анализировать графические данные, CSV – если планируется как-либо программно обрабатывать данные. В данном примере выбран бинарный.

На закладке «Files» можно настроить шаблон имени файлов и режим записи. Для сохраненного набора также можно настроить расписание и задать ограничения и условия окончания сбора.

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

После сохранения можно запустить замер (при помощи кнопки Start контекстного меню).

Создать набор счетчиков Performance Monitor и управлять сбором данных можно не только интерактивно, но и при помощи консольной утилиты logman. Подробно работа с ней описана на сайте Microsoft https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/logman

Команда создания набора будет выглядеть так:

logman create counter 1C_counter -f bincirc -c «Processor(_Total)Interrupts/sec» «LogicalDisk(_Total)% Free Space» «MemoryAvailable Mbytes» «PhysicalDisk(_Total)Avg. Disk Queue Length» «PhysicalDisk(_Total)Avg. Disk Sec/Read» «PhysicalDisk(_Total)Avg. Disk Sec/Write» «Processor(_Total)% Idle Time» «Processor(_Total)% Processor Time» «Processor(_Total)% User Time» «SystemContext Switches/sec» «SystemFile Read Bytes/sec» «SystemContext Switches/sec» «SystemFile Read Bytes/sec» «SystemFile Write Bytes/sec» «SystemProcesses» «SystemProcessor Queue Length» «SystemThreads» -si 5 -v mmddhhmm

Анализ сохраненного замера

Для просмотра данных откройте бинарный файл замера .blg, по умолчанию Windows откроет такой тип при помощи Performance Monitor:

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

Интерес представляют, как правило, среднее значение и «пики» — максимум / минимум в зависимости от смысла счетчика.

Ниже в таблице приведены описания и предельные значения некоторых из них:

Почему мне нужно быть администратором, чтобы читать счетчики производительности памяти .NET CLR

Я не смог найти категорию счетчика «.NET CLR Memory» программно (в c#),, как в этом вопросе. Запуск от имени администратора решил эту проблему.

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

Редактировать:

  • Можно посмотреть счетчики производительности памяти в системный монитор, без запустите с правами администратора.
  • Не работая от имени администратора, я могу получить сокращенный (но не пустой) список категорий счетчиков производительности программно, но это не включает в себя тот, который меня интересует.
  • Наша корпоративная настройка немного сумасшедшая: у меня есть права администратора, но я не являюсь членом локальной группы администраторов. У меня есть привилегии добавлять себя, но каждые 30 минут или около того какой-то автоматизированный процесс удаляет меня. Не знаю, влияет ли это на что-нибудь
  • Добавление себя в группу пользователей Performance Monitor не имело никакого эффекта (если только мне не нужно сначала перезагрузиться)

c#.netperformancecounter

2 ответа

  • Отсутствуют счетчики производительности .NET CLR

на моем ноутбуке x64 Windows 8.1 отсутствуют почти все счетчики производительности .NET CLR. Есть идеи, как это исправить?

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

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

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

По духу это, безусловно, будет выглядеть так, как будто вы хотите обойти политику безопасности вашей компании. Будьте осторожны с недоверием к системным администраторам, они, как правило, относятся к этому серьезно и без колебаний сообщают о нарушениях. Конечно, лучше всего поговорить с одним из них, а не пытаться обойти его. Вы можете посмотреть на Perfmon.exe’s требований безопасности с помощью SysInternals’ Process Explorer. Я вижу обязательное требование для встроенной группы «Performance Log Users», звучит уместно.

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

Я читал о счетчиках производительности памяти .NET CLR http://msdn.microsoft.com/en-us/ library/x2tyfybc(v=vs.110).aspx Многие счетчики имеют следующую оговорку: This counter is updated at the end.

Как читать счетчики производительности в приложении .NET без приложения, работающего от имени администратора? Приложение представляет собой сервис Windows. Учетная запись, под которой он будет.

Я занимался этой проблемой для своей диссертации. Цель состоит в том, чтобы разработать инструмент мониторинга сервера .net специально для серверов windows 2K8. Пока что все, к чему я могу получить.

на моем ноутбуке x64 Windows 8.1 отсутствуют почти все счетчики производительности .NET CLR. Есть идеи, как это исправить?

Я пытаюсь создать некоторые пользовательские счетчики производительности в рабочей роли azure и веб-роли. Веб-роль правильно собирает и передает данные счетчика производительности из хранилища azure.

Я создаю счетчики производительности для запущенных веб-сайтов на windows 2008 и IIS 7, поэтому процессы находятся в форме (например, W3WP для первого пула приложений, W3WP#1 для второго пула.

Я пытаюсь получить доступ к счетчикам производительности, расположенным в категории памяти .NET CLR через C#, используя класс PerformanceCounter. Однако a не может создать экземпляр категорий с тем.

[Обновление — 30 Сентября 2010 Г.] Поскольку я много изучал эту тему &, я напишу все советы, которые я собрал из своего опыта и предложений, представленных в ответах здесь- 1) Используйте.

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

При просмотре счетчиков производительности .Net с помощью инструмента производительности я вижу перечисленные счетчики производительности веб-процессов (w3wp, w3wp#1): Однако когда я запускаю.

Мониторинг производительности Windows Server, настройка оповещений счетчиков PerfMon

В этой статье мы рассмотрим особенности использования встроенных счетчиков производительности Performance Monitor для мониторинга состояния Windows Server. Счетчики PerfMon можно использовать для отслеживания изменений определенных параметров производительности сервера (алертов) и оповещать администратора в случае возникновения высокой загрузки или других нештатных состояниях.

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

Основные возможности Performance Monitor, которые можно использовать отдельно или совместно с другими сторонними системами мониторинга (типа Zabbix, Nagios, Cacti и другие):

  • cистема мониторинга при выводе информации о производительности сначала обращается к Performance Monitor;
  • главной задачей системы мониторинга является оповещение о наступлении тревожного момента, аварии, а у Performance Monitor – собрать и предоставить диагностические данные.

Текущие значения производительности Windows можно получить из Task Manager, но Performance Monitor умеет несколько больше:

  • Task Manager работает только в реальном времени и только на конкретном (локальном) хосте;
  • в Performance Monitor можно подключать счётчики с разных серверов, вести наблюдение длительное время и собранную информацию сохранять в файл;
  • в Task Manager очень мало показателей производительности.

Мониторинг производительности процессора с Perfomance Monitor

Для снятия данных о производительности процессора воспользуемся несколькими основными счётчиками:

  • Processor% Processor Time определяет уровень загрузки ЦП, и отслеживает время, которое ЦП затрачивает на работу процесса. Уровень загрузки ЦП в диапазоне в пределах 80-90 % может указывать на необходимость добавления процессорной мощности.
  • Processor%Privileged Time — соответствует проценту процессорного времени, затраченного на выполнение команд ядра операционной системы Windows, таких как обработка запросов ввода-вывода SQL Server. Если значение этого счетчика постоянно высокое, и счетчики для объекта Физический диск также имеют высокие значения, то необходимо рассмотреть вопрос об установке более быстрой и более эффективной дисковой подсистемы (см. более подробную статью об анализе производительности дисков с помощью PerfMon).
  • Processor%User Time — соответствует проценту времени работы CPU, которое он затрачивает на выполнение пользовательских приложений.

Запустите Performance Monitor с помощью команды perfmon. В разделе Performance Monitor отображается загрузкой CPU в реальном времени с помощью графика (параметр Line), с помощью цифр (параметр Report), с помощью столбчатой гистограммы (параметр Histogram bar) (вид выбирается в панели инструментов). Чтобы добавить счетчики, нажмите кнопку “+” (Add Counters).

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

Например, вам нужно посмотреть загрузку процессора виртуальными машинами и самим Hyper-V. Выберите группу счетчиков Hyper-V Hypervisor Logical Processor, выберите счетчик % Total Run Time. Вы можете показывать нагрузку по всем ядрам CPU (Total), либо по конкретным (HV LP №), либо всё сразу (All Instances). Выберем Total и All Instances.

Группы сборщиков данных в PerfMon

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

Чтобы создать группу сбора данных, нужно нажать на разделе User Defined правой кнопкой мыши, в меню выбрать New -> Data Collector Set. Выберите Create manually (Advanced) -> Create Data Logs и включите опцию Performance Counter. Нажмите Add и добавите счётчики. В нашем примере % Total Run Time из группы Hyper-V Hypervisor Logical Processor и Available MBytes из Memory. Установите интервал опроса счётчиков в 3 секунды.

Далее вручную запустите созданный Data Collector Set, нажав на нём правой кнопкой мыши и выбрав в меню пункт Start.

Через некоторое время можно просмотреть отчёт. Для этого в контекстном меню группы сбора данных нужно выбрать пункт Latest Report. Вы можете посмотреть и проанализировать отчёт производительности в виде графика. Отчёт можно скопировать и переслать. Он хранится в C:PerfLogsAdminCPU_Mon и имеет расширение .blg.

Если нужно на другом сервере запустить такой же набор счётчиков, как на первом, то их можно переносить экспортом. Для этого в контекстном меню группы сбора данных выберите пункт Save Template, укажите имя файла (расширение .xml). Скопируйте xml файл на другой сервер, создайте новую группу сбора данных, выберите пункт Create from a template и укажите готовый шаблон.

Создание Alert для мониторинга загрузки CPU

В определённый критический момент в Performance Monitor могут срабатывать алерты, которые помогают ИТ-специалисту прояснить суть проблемы. В первом случае алерт может отправить оповещение, а во втором – запустить другую группу сбора данных.

Чтобы создать алерт в PerfMon, нужно создать ещё один Data Collector Set. Укажите его имя CPU_Alert, выберите опцию Create manually (Advanced), а затем — Performance Counter Alert. Добавьте счётчик % Total Run Time из Hyper-V Hypervisor Logical Processor, укажите границу загрузки 50 %, при превышении которой будет срабатывать алерт, установите интервал опроса счётчика в 3 секунды.

Далее нужно зайти в свойства данной группы сбора информации, перейти на вкладку Alert Action, включить опцию Log an entry in the application event log и запустить группу сбора данных. Когда сработает алерт, в журнале (в консоли Event Viewer в разделе Applications and Services LogsMicrosoftWindowsDiagnosis-PLAOperational) появится запись:

Performance counter Processor(_Total)% Processor Time has tripped its alert threshold. The counter value of 100.000000 is over the limit value of 50.000000. 50.000000 is the alert threshold value”.

Здесь же рассмотрим и второй случай, когда нужно запустить другую группу сбора данных. Например, алерт срабатывает при достижении высокой загрузки CPU, делает запись в лог, но вы хотите включить сбор данных с других счётчиков для получения дополнительной информации. Для этого необходимо в свойствах алерта в меню Alert Action в выпадающем списке Start a data collector set выбрать ранее созданную группу сбора, например, CPU_Mon. Рядом находится вкладка Alert Task, в которой можно указать разные аргументы либо подключить готовую задачу из консоли Task Scheduler, указав её имя в поле Run this task when an alert is triggered. Будем использовать второй вариант.

С помощью Task Scheduler можно выполнить какие-то действия: выполнить команду, отправить письмо или вывести сообщение на экран (сейчас последниед ве функции не поддерживаются, считаются устаревшими (deprecated)). Для вывода на уведомления на экран можно использовать скриптом PowerShell. Для этого в консоли Task Scheduler создайте новую задачу, на вкладке Triggers выберите One time, на вкладке Actions в выпадающем поле Action выбирите параметр Start a program, в поле Program/Script укажите powershell.exe, а в поле Add arguments (optional) следующий код:

-WindowStyle hidden -Command «& <[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Внимание, CPU загружен', 'Посмотреть')>«

Для отправки письма вы можете воспользоваться командлетом PowerShell Send-MailMessage или стороннюю утилиту mailsend.exe.. Для этого создайте аналогичное задание в Task Scheduler, в поле Program/Script укажите полный путь к утилите (у нас C:ScriptsMailmailsend.exe), а в поле Add arguments (optional) через параметры нужно передать значения: электронный адрес, адрес и номер порта SMTP-сервера, текст письма и заголовка, пароль:

-to dep.it@ddd.com -from dep.it@ddd.com -ssl -port 465 -auth -smtp smtp.ddd.com -sub Alarm -v -user dep.it@ddd.com +cc +bc -M «Alarm, CPU, Alarm» -pass «it12345»

где +cc означает не запрашивать копию письма, +bc — не запрашивать скрытую копию письма.

Иллюстрированный самоучитель по Microsoft Windows 2003

Настройка счетчиков

При запуске оснастки Performance в окне системного монитора (узел System Monitor) по умолчанию настроены три счетчика, позволяющие быстро оценить загрузку системы: Pages/sec (Обмен страниц/сек) (объект Memory (Память)), Avg. Disk Queue Length (Средняя длина очереди диска) (объект PhisicalDisk (Физический диск)) и % Processor Time (% загруженности процессора) (объект Processor (Процессор). Для добавления других счетчиков выполните следующие действия:

  1. В панели результатов (правом окне оснастки) щелкните правой кнопкой мыши и выберите в контекстном меню команду Add Counters (Добавить счетчики). Альтернативный вариант – нажать кнопку Add (Добавить) на панели инструментов.
  2. В открывшемся окне (см. рис. 7.10) выберите переключатель Use local computer counters (Использовать локальные счетчики) для мониторинга компьютера, на котором запущена консоль мониторинга. Если вы собираетесь проводить мониторинг определенного компьютера независимо от того, где запущена консоль мониторинга, выберите переключатель Select counters from computer (Выбрать счетчики с компьютера) и укажите имя компьютера (по умолчанию установлено имя локального компьютера).
  3. В списке Performance object (Объект) выберите объект для мониторинга.
  4. В списке под переключателем Select counters from list (Выбрать счетчики из списка) укажите счетчик, который вы собираетесь использовать.
  5. Для мониторинга всех выбранных экземпляров выберите переключатель All instances (Все вхождения). Для мониторинга только определенных экземпляров установите переключатель Select instances from list (Выбрать вхождения из списка) и выберите экземпляры, которые вы собираетесь отслеживать.
  6. Нажмите кнопку Add (Добавить). Можно повторить пп. 3-6 для других объектов. Когда все счетчики будут добавлены, нажмите кнопку Close (Закрыть).

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

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

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


Рис. 7.11. Окно системного монитора с активизированными счетчиками

Вы можете поместить элемент управления System Monitor в документ Microsoft Word. Для этого:

  1. Откройте документ Word и установите курсор в место предполагаемого размещения элемента управления.
  2. В меню Вид выберите пункт Панели инструментов › Элементы управления (Toolbars › Control Toolbox).
  3. На панели Элементы управления нажмите кнопку Другие элементы (More Controls) и выберите в списке опцию System Monitor Control.
  4. График System Monitor будет вставлен в указанное место в документе. В данный момент элемент находится в режиме конструктора, поэтому вы можете работать с ним в редакторе Visual Basic.
  5. Для изменения установок или добавления счетчиков нажмите кнопку Выход из режима конструктора (Exit Design Mode).
  6. Для добавления счетчиков на график щелкните на нем правой кнопкой мыши и выберите пункт Add Counters (Добавить счетчики) контекстного меню.
голоса
Рейтинг статьи
Читайте так же:
Кто должен оплачивать проверку общедомовых счетчиков
Ссылка на основную публикацию
Adblock
detector