Это вторая публикация о возможностях нашего Open Source продукта (проект 1с-parsing-tech-log). В этой статье подробно расскажем и покажем про подключение счетчиков производительности серверов на базе Windows. В предыдущей статье мы рассказали про подключение и обработку данных технологического журнала для платформы 1С: 5 простых шагов и 15 минут на разворачивание инструмента мониторинга проблем производительности базы 1С.
Какой профит?
- Простая установка и настройка - за 15 минут рабочее решение для "неограниченного" количества баз
- Ничего лишнего и никакой "магии" - используются возможности платформы
- Дружественный интерфейс - только то что нужно
- Информация в реальном времени - ошибки конфигурации, блокировки, длительные запросы, счетчики производительности и др.
- Бесплатно - проект с открытым исходным кодом на GitHub
Структура статьи:
В первой части статьи мы опишем основные шаги по подключению счетчиков и настройке загрузки данных в базу мониторинга производительности. Если же Вам лень читать и Вы любите смотреть и слушать, то можно перейти к видео-уроку и посмотреть небольшой 5 минутный ролик по выполнению необходимой последовательности действий и повторить при необходимости. Все процедуры просты и максимально прозрачны. Поехали!
1. Подключим счетчики производительности сервера под ОС windows.
Вариантов включения счетчиков производительности достаточно много. Мы с вами рассмотрим самый простой и наглядный без скриптов и других компонентов и приложений.
а) Открываем командную строку и вводим "perfmon.msc".
б) Выбираем добавить и переходим на вкладку.
в) Добавляем счетчики согласно таблицы ниже.
г) В настройках указываем формат файла ".csv"
д) Можем запустить и получим уже входные данные. Но работать сбор данных будет до выхода из системы, о настройке регламентного задания см. п3.
Внимание! Пользователь под которым будут запускаться счетчики должен обладать необходимыми правами и входить в группу "Perfomance monitor group".
Таблицу с основными на наш взгляд счетчиками приведем таблицу в этой статье. Если нужно больше информации, то к вашим услугам всемирная сеть и возможно кто-то из комментаторов к статье приведет какие-либо предложения и факты.
Таблица счетчиков для Windows сервера
Показатель |
Группа |
Синоним |
Описание |
Значение |
Free Megabytes |
Logical Disk |
\Логический диск\Свободно мегабайт |
Показывает объем незанятого пространства на диске в мегабайтах |
Много больше 0 Мбайт для системного диска, дисков файлов БД и служебных файлов 1С |
Available Mbytes |
Memory |
\Память\Доступно МБ |
Объем физической памяти в мегабайтах, немедленно доступной для выделения процессу или для использования системой. Эта величина равна сумме памяти, выделенной для кэша, свободной памяти и обнуленных страниц памяти |
Много больше 0 Мбайт |
Page Reads/sec |
Memory |
\Память\Чтений страниц/с |
Число операций чтения диска при получении страниц виртуальной памяти для разрешения ошибок страницы. При выполнении одной операции чтения могут быть получены одновременно несколько страниц. Ошибка чтения страницы возникает при обращении процесса к виртуальной памяти, не принадлежащей рабочему множеству или физической памяти, и должна быть извлечена с диска |
|
Page Writes/sec |
Memory |
\Память\Операций вывода страниц/с |
Счетчик записи страниц на диск, выполняемой для освобождения места в оперативной памяти. Страницы записываются на диск только в том случае, если они были изменены в оперативной памяти, поэтому они вероятнее всего содержат данные, а не программный код. Этот счетчик отображает число операций записи, без учета числа страниц, записываемых при каждой операции. Этот счетчик показывает разницу значений между двумя последними снятыми показаниями, деленную на длительность интервала измерения. |
|
Bytes Total/sec |
Network Interface |
\Сетевой интерфейс\Всего байт/с |
Скорость, с которой происходит получение или посылка байт через сетевые адаптеры, включая символы обрамления (framing characters) |
Не более 65% от пропускной способности сетевого интерфейса |
Avg. Disk Queue Length |
Physical Disk |
\Физический диск\Средняя длина очереди диска |
Среднее общее количество запросов на чтение и на запись, которые были поставлены в очередь для соответствующего диска в течение интервала измерения |
Не более 2 на каждый из параллельно работающих дисков |
Avg. Disk sec/Transfer |
Physical Disk |
\Физический диск\Среднее время обращения к диску (с) |
Время в секундах, затрачиваемое в среднем на один обмен данными с диском |
В среднем 10 мс; В пиках не более 300 мс |
% Processor Time |
Processor |
\Процессор\% загруженности процессора |
Доля времени, которую процессор тратит на обработку всех потоков команд, кроме простаивающего. Этот счетчик является основным показателем загруженности процессора. Он показывает среднее значение занятости процессора в течение интервала измерения |
Не более 70-80% в течении длительного времени |
Processor Queue Length |
System |
\Система\Длина очереди процессора |
Текущая длина очереди процессора, измеряемая числом ожидающих потоков. Все процессоры используют одну общую очередь, в которой потоки ожидают получения циклов процессора. Этот счетчик не включает потоки, которые выполняются в настоящий момент. Этот счетчик отражает текущее значение, и не является средним значением по некоторому интервалу времени |
Не более 2 на каждое ядро процессора |
2. Подключим счетчики производительности SQL сервера под ОС windows.
Если у вас SQL и службы 1С стоят на одном сервере, то вы можете совместить настройки логов в один проект или в общую папку.
Операции те же самые, что и в п.1. + добавляем таблицу для счетчиков SQL сервера.
Таблица счетчиков для SQL сервера (синонимы по русски иногда это нечто).
Таблица счетчиков для MS SQL сервера
Показатель |
Группа |
Синоним |
Описание |
Значение |
Table Lock Escalations/sec |
Access Methods |
Методы доступа\Укрупнений блокировок таблиц в секунду |
Количество раз, когда блокировки таблицы были укрупнены |
Стремящееся к 0 |
Page life expectancy |
Buffer Manager |
Диспетчер буфера\Время без ссылки для страницы расширения |
Количество секунд, в течение которых страница остается в буферном пуле без ссылок на нее |
Не менее 300 с |
Buffer cache hit ratio |
Buffer Manager |
Диспетчер буфера\Коэффициент обращений к буферному кэшу |
Процент найденных в буферном пуле страниц, что исключило необходимость чтения с диска |
Стремящееся к 100% |
Average Latch Wait Time (ms) |
Latches |
Latches\Среднее время ожидания кратковременной блокировки |
Среднее время ожидания (мс) для запросов кратковременной блокировки |
Стремящееся к 0 мс |
Average Wait Time (ms) |
Locks |
Locks\Время ожидания блокировки (мс) |
Среднее время ожидания (в миллисекундах) для всех ждавших запросов блокировки |
Стремящееся к 0 мс |
Lock Waits/sec |
Locks |
Locks\Запросов блокировок в секунду |
Количество запросов блокировки, которые не были выполнены немедленно и ожидали предоставления блокировки |
Стремящееся к 0 |
Lock Timeouts/sec |
Locks |
Locks\Превышений времени ожидания блокировки в секунду |
Количество запросов блокировки, время ожидания которых истекло, включая запросы блокировок NOWAIT. |
Стремящееся к 0 |
Number of Deadlocks/sec |
Locks |
Locks\Количество взаимоблокировок в секунду |
Количество запросов блокировки, приведших к взаимоблокировкам |
Стремящееся к 0 |
Cache Hit Ratio |
Plan Cache |
Plan Cache\Коэффициент попадания в кэш |
Соотношение между попаданиями в кэш и обращениями к кэшу |
Стремящееся к 100% |
Longest Transaction Running Time |
Transactions |
Transactions\Время выполнения самой длинной транзакции |
Наиболее продолжительное время выполнения какой-либо транзакции в секундах |
Для OLTP систем не должно быть высоким |
Transactions |
Transactions |
Transactions\Транзакции |
Общее количество активных транзакций. |
|
3. Настроим планировщик заданий для автоматического запуска счетчиков.
а) Открываем командную строку и вводим "taskschd.msc"
б) Переходим по следующему пути: "Microsoft\Windows\PLA"
в) Добавляем задание. Указываем способ запуска "при старте системы", запускать при ошибках и сохраняем.
4. Добавим задание загрузки данных в базу мониторинга.
а) Открываем базу мониторинга производительности
б) Переходим в подсистему "Анализ ТЖ" и открываем журнал "Замеры"
в) Добавляем новый замер и указываем:
- путь к каталогу с логами счетчиков;
- тип "Perfomance monitor";
- загружать online и время работы регламентного задания;
- можем указать имя сервера - реквизит оборудование.
г) все готово и первые замеры скоро появятся в базе.
5. Анализируем результат операций.
Теперь просмотреть данные можно в журнале "События замера" в форме таблицы или графически АРМ "Графики Perfomance monitor".
Видео-урок.
В этом видео-уроке мы с вами проведем необходимые настройки и посмотрим результаты на примере искусственных ситуаций.
Что дальше?
У нас к замерам счетчиков perfomance counter уже есть замеры производительности по данным технологического журнала (рассматривалось в предыдущей статье). Теперь можно идти дальше и рассмотреть возможности определения проблем, аномалий в поведении оборудования, "особых"/предельных режимов работы с использованием нейронных сетей. Ну, и конечно не забудем об оповещениях о происходящих или надвигающихся критичных ситуациях. Это все позволит повысить качество предлагаемого сервиса без суровых затрат.
Ставьте, настраивайте систему для сбора данных. Они вскоре потребуются для обучения искусственного интеллекта. А также следите за информацией о проекте.
Дополнительно.
Для тех кто по каким-то причинам не хочет или не может подключиться к проекту через EDT, но хочет посмотреть или попробовать - есть возможность скачать обновленную версию файла конфигурации 2.0.3.0 из статьи Решение проблемы быстродействия в ERP на рабочем примере.