Клиент — производственное предприятие, крупнейший производитель спецодежды на рынке России. Ключевая система для операционной деятельности — база 1С, через которую проходят производственные и складские сценарии, движение товаров, документооборот и расчетные процессы (включая начисление зарплаты). Для бизнеса критично, чтобы 1С работала предсказуемо: без деградаций в пиковые периоды и с понятной картиной причин, если «что-то тормозит».
Поводом для проекта стала необходимость повысить производительность и доступность 1С, снизить операционные риски и перейти от разрозненных гипотез к управлению на основе фактов. Ранее деградации воспринимались как «случайные» и плохо воспроизводимые эпизоды, а жалобы пользователей не всегда подтверждались цифрами. Требовалась единая доказательная основа для приоритизации работ — на уровне инфраструктуры, СУБД и прикладных операций.
В кейсе описано внедрение Metrika42, где мониторинг строится на комплексном сборе метрик инфраструктуры и MS SQL, анализе технологического журнала 1С и оценке пользовательского опыта по APDEX. Это дало клиенту прозрачную картину состояния системы и возможность подтверждать эффект улучшений измеримыми показателями.
Задачи клиента
- Зафиксировать и объяснить инфраструктурные причины деградаций (в первую очередь I/O), чтобы устранить «случайность» проблем и планировать работы в подходящие «окна».
- Понять природу задержек на стороне СУБД через типологию ожиданий и адресно работать с узкими местами (сеть, параллелизм, резервное копирование, дисковая подсистема).
- Навести порядок с индексами: выявить критичные индексы с высокой фрагментацией и перейти от универсального расписания обслуживания к управляемому регламенту.
- Выявить операции с провалами качества по APDEX и сформировать карту «ключевых операций» с измеримыми целями и динамикой.
- Найти конкретные «тормозящие» сценарии в 1С (запись/обработка документов, производственные и складские операции) и приоритизировать оптимизацию по бизнес-эффекту.
- Снизить «шум» мониторинга, отделив фоновые регламентные задачи от пользовательских проблем, и ускорить диагностику проблемных запросов.
- Разобраться со всплесками ошибок и исключений (EXCP, «пассивный сервис», программные ошибки, блокировки), проверить настройки кластера и транзакционную дисциплину.
Решение
-
Подключили Metrika42 как основу регулярного мониторинга и управляемого улучшения производительности 1С: метрики инфраструктуры и СУБД + анализ техжурнала + APDEX как показатель пользовательского опыта.
-
По инфраструктуре:
-
зафиксировали высокую среднюю длину очереди диска и детализировали картину по чтению/записи;
-
выдали рекомендации по наращиванию дисковых ресурсов и планированию работ в технологические «окна», чтобы снизить риск просадок в пиковые периоды.
-
-
По СУБД:
-
выявили аномально высокие доли ожиданий и перевели обсуждение из «гипотез» в управляемую типологию причин;
-
сформировали направления действий: проверка сетевого взаимодействия 1С–СУБД, оценка и настройка параллелизма, оптимизация резервного копирования, усиление I/O.
-
-
По индексам:
-
обнаружили критичные индексы с фрагментацией >70% (в рабочих запросах);
-
настроили управляемый регламент дефрагментации/переиндексации на основе фактической стоимости обслуживания и применимости индексов.
-
-
По прикладным сценариям и APDEX:
-
подтвердили, что в целом база в зонах «хорошо/отлично», но выделили операции с провалами (старт приложения, «Перемещение товаров», производственные сценарии и др.);
-
диагностировали затяжные вызовы при записи и обработке документов («Этап производства», «Перемещение товаров», «Начисление зарплаты» и др.), где среднее время достигало десятков секунд;
-
обеспечили детализацию до контекста вызова и суммарного времени по операциям, чтобы сфокусировать разработчиков на сценариях с максимальным эффектом.
-
-
Для снижения «шума»:
-
настроили фильтры по событиям DBMSSQL с исключением технических пользователей;
-
ускорили анализ проблемных запросов через получение актуальных планов выполнения и контроль улучшений после изменений.
-
-
По инцидентам и ошибкам:
-
зафиксировали 442 887 событий EXCP («первичный вызов сервиса пришел в пассивный сервис») и пики ошибок по категориям «Программные» и «Блокировки»;
-
включили категоризацию и точечную отработку: проверка конфигурации кластера, расследование взаимоблокировок, аудит кода и транзакций с использованием DevTools42.
-
Результат
- Команда перешла от реактивного «тушения пожаров» к управляемому улучшению производительности 1С: появились прозрачные метрики на уровнях инфраструктуры, СУБД и прикладных сценариев и понятные приоритеты оптимизации.
- Убрана «случайность» деградаций: проблемы с I/O стали наблюдаемыми, измеримыми и планируемыми (включая рекомендации по ресурсам и «окнам» работ).
- Стабилизировано время отклика за счет адресной работы с ожиданиями СУБД и регламентами обслуживания (индексы, бэкапы, настройки параллелизма и сети).
- Для ИТ и бизнеса сформирована единая карта «ключевых операций» с измеримыми целями и динамикой по APDEX — теперь качество сервиса подтверждается цифрами, а эффект улучшений можно доказать.
- Снижён «информационный туман» вокруг ошибок и исключений: категоризация и точечные проверки кластера/кода ускорили локализацию проблем и повысили предсказуемость сервиса для пользователей и подразделений.
