Мы расскажем и покажем, как добавить данные счетчиков производительности серверов 1С и MS SQL в нашу базу мониторинга за 15 минут. Приведем список наиболее важных из них, опишем основные особенности.
Простая установка и настройка - за 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 на рабочем примере.
(1)
1. Мы нацелены на использования возможностей 1С (у нас в команде все знают 1С и у всех есть 1С (глобально в целом), а вот с эластиком не так все гладко).
2. Решение поставленных вопросов в конце статьи можно рассматривать как пробу "пера". В дальнейшем нейронные сети планируется применить на базе ERP, УТ, КА решения экономических и других вопросов.
3. Сейчас мы моделируем и проверяем использование НС в вопросах мониторинга производительности серверов. Потенциально для нас значительно увеличится качество нашей услуги по предоставлению сервиса нашему потребителю услуги.
Добрый день!
Сервера 1С и SQL расположены на разных компьютерах. Пытаюсь организовать мониторинг на отдельной машине. При попытке подключения к серверам (общая локальная сеть, в домене) выдаёт ошибку.
Подскажите, в чём может быть проблема?
По умолчанию сборщик создается от имени NT AUTHORITY\СИСТЕМА (локальной учетки). Нужно создать сборщик для любого локального счетчика, затем в его свойствах сменить пользователя в поле "От имени" на закладке Общие на доменного (как вариант). Тогда счетчика удаленного ПК станут доступны.
Отдельное спасибо за колонку "Синоним", мне как человеку только начавшему изучать тему счетчиков, крайне неудобно было определять название счетчиков на русифицированной системе, приходилось выгружать в шаблон и смотреть xml)
ошибочка в таблице с счетчиками sql:
Buffer Manager\Page life expectancy = диспетчер буфера\Примерный срок хранения страницы, а не Диспетчер буфера\Время без ссылки для страницы расширения
(12) Все плагины лежат в "parsing-tech-log-plugins", parsing-tech-log-plugins Совсем скоро будет обновление релиза с переработанным интерфейсом и некоторыми обработками (в частности график), т.ч. следите за релизами.
(14) Сейчас суммарно не посчитать. Такой функционал можно добавить, к примеру, вынося алгоритм в обработку и добавив настройку - к замеру новое поле, которое может суммировать какие-то числовые показатели (агрегировать).
Можете добавить на GIT проекта новую задачу.
Не, мне как раз нужно, чтобы этот показатель отображался отдельно для каждого диска.
Например:
у меня 2 диска - в перфмоне добавляю длину очереди для каждого.
В замерах отображается только один показатель - длина очереди, но не указано для какого диска.
(16) Параметры должны быть разные. В наименованиях должно содержаться имя диска, похоже на ошибку обработки файла. Скиньте кусочек файла монитора с наименованиями полей загрузки. Посмотрим.
1С работает с СУБД Postgres более 10 лет, а сейчас это единственный легальный вариант для инсталляций в России. Много ли мы потеряем в производительности по сравнению с MS SQL? Выдержит ли Postgres 15.2 жесткий Highload со стороны 1С? Цель этой статьи - ответить на данные вопросы, с цифрами, которые можно использовать при расчете архитектуры.
ORM (Relational Mapping) используется во многих языках программирования, в том числе и в 1С. Однако реализация высоконагруженных решений, приводит к мысли, что разработчики ORM не учитывали ее влияния на производительность СУБД. Такая ситуация и в 1С, и ORM на Java, и наверняка в других ORM. В предыдущих частях показана глубина проблемы. В этой части предложено решение со стороны СУБД (MS SQL, Oracle, Postgres).
ORM (Object Relational Mapping) используется во многих языках программирования, в том числе и в 1С. Однако реализация высоконагруженных решений приводит к мысли, что разработчики ORM не учитывали ее влияния на производительность СУБД. Такая ситуация и в 1С и ORM на Java, и наверняка в других ORM. В предыдущей части статьи были изложены результаты теста, в этой статье ответы на самые часто задаваемые вопросы и новый тест.
1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя.
Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.
ORM (Object-Relational Mapping) используется во многих языках программирования, в том числе и в 1С. Однако реализация высоконагруженных решений приводит к мысли что разработчики ORM не учитывали ее влияния на производительность СУБД. Такая ситуация и в 1С, и ORM на Java, и наверняка в других ORM. Причины приоткрывает данная статья.
Для того чтобы еще до внедрения информационной системы убедиться, что целевая система справится с ожидаемой нагрузкой, требуется провести нагрузочное тестирование. О том какие инструменты и методики помогут организовать подобный проект при внедрении 1С:ERP, и о том, какие неожиданные факторы могут влиять на производительность системы я и хотел бы рассказать в данной статье.
СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.
Почему при росте объемов базы 1С все становится медленней, даже если все индексы правильно сделаны? В статье на простом примере с регистром сведений показана причина и как этого избежать. Кто виноват больше, 1С или MS SQL решать Вам :)
От быстродействия запросов, которые обращаются к крупным таблицам, напрямую зависит скорость работы всей базы в целом. Артем Кузнецов, тимлид команды 1С в компании ООО «Финтех решения» на конференции Infostart Event 2021 Moscow Premiere рассказал, как оптимизировать производительность при поддержке больших систем. Показал, на что следует обращать внимание при код-ревью запросов, как оптимизировать RLS, виртуальные таблицы, индексы и условия, и как доработка архитектуры решения может ускорить работу базы.
Workaround свидетельствует о невозможности решить проблему "правильным путем" и вызывает чувство стыда. Но практика показывает, что способность решать проблемы через workaround является порой единственным способом решить проблему в разумное время. А победителей, как говорят, не судят, так почему бы не создавать workaround по системе?
В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.
С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.
Механизм общих реквизитов разделителей создает излишнюю\негативную нагрузку на структуру базы данных, но еще больше проблем доставляет при использовании временных таблиц.
Удаление архивных данных из базы - это непростая задача как для 1С, так и для любой базы данных. В статье изложены различные способы решения задачи, включая самый эффективный для 1С.
В данной статье хотим рассказать об одном нашем непростом расследовании, в котором удалось собрать сразу несколько проблем на разных уровнях инфраструктуры заказчика и изначальной методологии ведения учета. Само расследование в какой-то момент стало напоминать детективную историю, с роялями в кустах, ошибками платформы, странным поведением пользователей и магическим поведением хорошо знакомых механизмов. Но мы реалисты, поэтому все проблемы были выявлены и устранены ;)
Функционал подсистемы УправлениеДоступом позволяет работать с RLS в двух режимах: стандартном и производительном. Каждый из режимов имеет свои преимущества и недостатки относительно другого. Основные из них будут рассмотрены в данном материале.
Пост будет больше интересен руководителям отделов ИТ сопровождения или проектным менеджерам, перед которыми будет стоять задача решения проблемы деградации производительности баз данных 1С. Пост для тех, кому эта тема нова, нет особого опыта, и с ходу непонятно, с чего начать.
Кратко: в ходе проведения нагрузочного тестирования “1С:ERP 2” под ОС Linux на СУБД Postgres выявлено существенное замедление формирования отчета “Движение ТМЦ и затрат в производстве” - до 60 минут. После проведенного расследования и точечной корректировки СКД в отчете, без изменения бизнес-логики результатов его работы, работа отчета была ускорена в 80 раз - средний показатель формирования составил 30 секунд.
Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.
Статья раскрывает причину, почему время формирования отчетов после обновления Бухгалтерии в марте 2022 сильно увеличилось. И рассказывает, как можно исправить ситуацию.
При выполнении нагрузочного тестирования информационной системы на базе 1С:ERP для одного из клиентов с целью оценки возможности миграции системы на PostgreSQL и Astra Linux мы столкнулись с неприемлемым увеличением времени выполнения расчета себестоимости.
Строго говоря, сценарий тестирования закрытия месяца не был выполнен вообще – он не укладывался в таймаут выполнения теста, 24 часа. По прошествии 18 часов всё ещё шло выполнение операции «Распределение затрат и расчет себестоимости». Более 16 часов выполнялся подэтап “Расчет партий и себестоимости. Этап. Расчет себестоимости: РассчитатьСтоимость”. Всё это время выполнялся запрос, который в текущей инфраструктуре клиента (СУБД MS SQL Server) выполняется чуть более 3 минут на аналогичных данных.
В ходе проведения нагрузочного тестирования одним из наших клиентов была выявлена сильная деградация производительности системы в целом и, в частности, выполнения ключевой операции “Проведение документа поступление товаров и услуг” в течение выполнения теста.
Согласно данным подсистемы БСП “Оценка производительности”, время выполнения ключевой операции “Проведение документа поступление товаров и услуг” возрастало в процессе тестирования с 15-20 секунд в начале тестирования до 150-200 секунд в его финале.
Рассмотрим по шагам процесс обнаружения, анализа и решения проблемы производительности на примере базы ERP, сравним отличия в работе Postgres и MS SQL.
С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2.
Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.
Хочется поделиться одним подводным камнем, с которым могут встретиться другие пользователи ERP. Искал решение в интернете, но ничего похожего не нашел. Поэтому решил создать эту тему.
Почти в каждой конфигурации УПП 1.3 (возможно, и в УТ 10.3) есть медленный запрос, тормозящий проведение документа списания. Данная публикация раскрывает места вызова данного запроса и приводит пример оптимизации.
Пример показывает результаты проведения документа «Реализация товаров и услуг», но метод работает и для других документов списания партий.
В курсе обобщен опыт работы аналитика на проектах в течение пяти лет, в нескольких фирмах. Подходы к написанию документов унифицированы и по возможности не привязаны к конфигурациям 1С.
Параллелизм ускоряет выполнение тяжелых регламентных операций на СУБД, но может негативно влиять на работу многопользовательских учетных систем. О том, как анализировать влияние параллелизма и настраивать его для MS SQL и PostgreSQL, рассказал ведущий разработчик компании ООО МКК «Ваш Инвестор» Вадим Фоминых.