Кейс компании WeJET по клиенту 1С:ЗУП 3.1 КОРП для крупного промышленного предприятия оборонного сектора

1С:ЗУП 3.1 КОРП

Стабилизировали работу кадрово-расчётной системы и устранили потери от «зависаний» в крупной промышленной компании

О клиенте

Компания — один из крупных производителей стальных изделий и металлоконструкций для предприятий оборонно-промышленного комплекса. Производственные площадки расположены в нескольких регионах России. Основная деятельность — полный цикл изготовления продукции: от обработки металла и сварки до сборки и контроля качества изделий.
Штат предприятия превышает 5000 сотрудников. В качестве основной кадрово-расчётной системы использовалась 1С:ЗУП 3.1 КОРП, которой ежедневно пользовались HR-специалисты, расчётчики заработной платы, бухгалтерия и кадровые администраторы.
В качестве основной системы кадрового учёта и расчёта заработной платы использовалась 1С:ЗУП 3.1 КОРП.
 Количество активных пользователей системы — около 100 одновременно работающих сотрудников.

Проект в цифрах

Ключевые характеристики проекта

Отрасль

Производство стальных изделий для оборонной промышленности


Стек

  • 1С:Зарплата и управление персоналом 3.1 КОРП;
  • Linux;
  • PostgreSQL;
  • БСП;
  • технологический журнал 1С;
  • PowerShell-скрипты обслуживания PostgreSQL;
  • Расширения конфигурации.

Ситуация

После расширения производства и увеличения численности персонала система начала работать нестабильно. Особенно остро проблемы проявлялись в периоды:

  • расчёта заработной платы;
  • Амассового проведения кадровых документов;
  • закрытия месяца;
  • расчёта премий и переработок;
  • формирования регламентированной отчётности

Единый контур1С:Зарплата и управление персоналом

Проблемы

Что мешало стабильной работе системы

Перегрузка регламентных заданий

  • обновление кадровых данных;
  • перерасчёты начислений;
  • синхронизация документов;
  • обмены;
  • пересчёт итогов;
  • очистка временных данных;
  • автоматические проверки.

Многие задания запускались параллельно и конкурировали за ресурсы PostgreSQL и блокировки данных.


Большой объём неэффективных доработок

За несколько лет систему дорабатывали разные подрядчики. В результате в конфигурации накопился значительный объём неоптимального кода:

  • тяжёлые запросы без индексов;
  • циклическая обработка больших наборов данных;
  • множественные обращения к регистрам внутри циклов;
  • неэффективные СКД-отчёты;
  • фоновые обработки без контроля конкурентности;
  • избыточные транзакции.

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


Взаимоблокировки и конкуренция процессов

При одновременной работе пользователей регулярно возникали:

  • управляемые блокировки;
  • ожидания PostgreSQL;
  • взаимоблокировки фоновых заданий;
  • очереди на проведение документов.

Особенно часто это происходило в периоды массового расчёта начислений и формирования табелей.


Отсутствие прозрачного мониторинга

До начала проекта компания фактически не имела инструментов объективной диагностики производительности:

  • не собирались метрики Apdex;
  • отсутствовал централизованный мониторинг;
  • не анализировались длительные запросы;
  • технологический журнал использовался эпизодически;
  • проблемы выявлялись только по жалобам пользователей.

Похожая задача стоит и перед вашей компанией?

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

Критичные зависания системыКаждая задержка влияла на расчёт зарплаты

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

Команда

Эксперты по производительности 1С и PostgreSQL

Со стороны исполнителя в проекте участвовали:

  • архитектор 1С;
  • ведущий разработчик 1С;
  • специалист по производительности PostgreSQL;
  • DevOps-инженер Linux;
  • аналитик бизнес-процессов;
  • руководитель проекта.

Со стороны заказчика:

  • ИТ-директор;
  • руководитель расчётного отдела;
  • специалисты кадровой службы;
  • внутренний системный администратор Linux/PostgreSQL.

Обследование и диагностика

Комплексный анализ производительности системы

Проект начали не с доработок, а с полноценного технического обследования системы.

Какие технологии использовали

Для анализа производительности применялись:

  • технологический журнал 1С;
  • pg_stat_activity и pg_stat_statements PostgreSQL;
  • EXPLAIN ANALYZE для анализа тяжёлых запросов;
  • замеры производительности платформы;
  • мониторинг фоновых заданий;
  • Apdex-анализ пользовательских сценариев;
  • анализ блокировок и взаимоблокировок;
  • сбор метрик CPU/RAM/IO на Linux-серверах.

Диагностика производительности 1САнализ блокировок, запросов и нагрузки

Apdex-анализ

Что показал Apdex-анализ пользовательских сценариев

После анализа пользовательских сценариев выявили:

  • пики деградации в начале рабочего дня;
  • резкий рост ожиданий в дни расчёта зарплаты;
  • лавинообразное накопление фоновых заданий;
  • падение отклика системы ниже допустимых SLA.

Особенно сильно проседали сценарии:

  • открытие списка начислений;
  • проведение кадровых приказов;
  • расчёт отпусков;
  • формирование расчётных листков;
  • отчёты по ФОТ.

Узкие места

Критические причины снижения производительности

Конкурирующие фоновые задания

Оказалось, что сразу несколько регламентных процессов запускались одновременно:

  • перерасчёт начислений;
  • обновление агрегатов;
  • расчёт стажа;
  • очистка временных данных;
  • обмены интеграции.

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


Тяжёлые отчёты

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

Причины:

  • отсутствие индексов;
  • выборка лишних данных;
  • множественные вложенные запросы;
  • расчёты внутри СКД;
  • обращение к виртуальным таблицам без ограничений.

Один из отчётов по начислениям формировал более 12 миллионов строк промежуточных данных.


Неэффективные механизмы проведения документов

В нескольких доработанных документах были обнаружены:

  • длинные транзакции;
  • запись регистров внутри циклов;
  • повторное чтение данных;
  • отсутствие пакетной обработки.

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


Какие варианты решения рассматривались

Вариант 1. Апгрейд серверной инфраструктуры

Рассматривали:

  • увеличение CPU;
  • расширение RAM;
  • перенос PostgreSQL на более быстрые NVMe SSD;
  • масштабирование серверов Linux.

От варианта отказались, поскольку анализ показал: проблема не в нехватке ресурсов, а в неэффективной архитектуре нагрузки.


Вариант 2. Полная переработка доработок

Самый радикальный вариант:

  • переписывание всех тяжёлых механизмов;
  • отказ от части кастомного функционала;
  • переход на новые подсистемы.
Недостатки:

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

Вариант 3. Точечная оптимизация и стабилизация

Выбранный подход включал:

  • устранение критических узких мест;
  • оптимизацию тяжёлых запросов PostgreSQL;
  • балансировку фоновых процессов;
  • снижение конкуренции блокировок;
  • внедрение постоянного мониторинга.

Профессиональная
оценка проекта

  • Интервью с ключевыми сотрудниками
  • Составление карты бизнес-процессов «как есть»
  • Диагностику текущих бизнес-процессов и ИТ систем
  • Составление карты бизнес-процессов «как должно быть»

Получите бесплатную оценку от нашего эксперта

Поиск узких местАнализ запросов, блокировок и SQL

Процесс оптимизации

Поэтапная стабилизация системы

Этап 1. Стабилизация фоновых процессов

Были переработаны механизмы запуска регламентных заданий:

  • часть процессов перевели в последовательное выполнение;
  • задания развели по времени;
  • ограничили количество параллельных потоков;
  • внедрили контроль конкурентного запуска.

Это сразу снизило количество взаимоблокировок.


Этап 2. Оптимизация PostgreSQL-запросов

Провели анализ самых тяжёлых запросов.

Что сделали:

  • добавили недостающие индексы;
  • переработали JOIN и подзапросы;
  • сократили объём читаемых данных;
  • убрали лишние временные таблицы;
  • оптимизировали обращения к виртуальным таблицам регистров.

Некоторые запросы удалось ускорить в 5–8 раз.


Этап 3. Переработка отчётов

Самые тяжёлые СКД-отчёты были полностью переработаны:

  • вынесли предварительные расчёты;
  • сократили количество вычисляемых полей;
  • изменили структуру выборок;
  • добавили кэширование промежуточных данных.

Время формирования отдельных отчётов сократилось более чем вдвое.


Этап 4. Оптимизация обслуживания PostgreSQL

Дополнительно внедрили:

  • автоматический VACUUM и ANALYZE;
  • обслуживание индексов;
  • контроль bloat таблиц;
  • регулярную очистку статистики;
  • Linux-скрипты обслуживания PostgreSQL;
  • автоматический мониторинг роста базы.

Основные сложности проекта


«Плавающие» проблемы

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

Для диагностики пришлось:

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

Огромное количество старых доработок

Документация по части механизмов отсутствовала полностью.

Некоторые обработки:

  • не использовались годами;
  • запускались автоматически;
  • создавали нагрузку без пользы для бизнеса.

Высокая критичность системы

Производство и расчёт зарплаты нельзя было останавливать.

Все изменения внедрялись:

  • поэтапно;
  • через тестовый контур;
  • с ночными окнами обновлений;
  • с обязательным откатом.

Оптимизация обслуживанияPostgreSQL

Результаты

Что получили

После завершения проекта система была полностью стабилизирована.


Производительность

  • исчезли случайные зависания системы;
  • документы начали проводиться без очередей;
  • тяжёлые отчёты ускорились до 2 раз;
  • сократилось количество блокировок;
  • стабилизировалось выполнение фоновых заданий.

Инфраструктура

  • нагрузка на PostgreSQL снизилась без апгрейда оборудования;
  • CPU в пиковые часы перестал уходить в 100%;
  • сократилось количество ожиданий PostgreSQL;
  • база стала стабильнее работать при росте пользователей.

Пользовательский эффект

  • сотрудники перестали терять время на ожидание;
  • расчёт зарплаты стал прогнозируемым;
  • исчезли массовые жалобы пользователей;
  • кадровые операции начали выполняться стабильно даже в часы пик.

Экономический эффект

Сокращение потерь рабочего времени

За счёт устранения зависаний и ускорения работы системы:

  • сокращены потери рабочего времени на 15–20% в пиковые периоды;
  • уменьшены простои сотрудников расчётного отдела и HR-службы.

Экономия на инфраструктуре

Удалось избежать дорогостоящего апгрейда серверов:

  • предотвращённые затраты: ~1500–2800 тыс. ₽.

Прямой финансовый эффект

За счёт снижения простоев и повышения производительности сотрудников:

  • экономический эффект составил ~8–12,5 млн ₽ в год.

Итоги проекта

Оптимизация без дорогостоящего обновления инфраструктуры

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

Ключевой эффект был достигнут за счёт:

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

После стабилизации система смогла выдерживать дальнейший рост нагрузки без деградации производительности и без расширения инфраструктуры.

Остались
вопросы?

Погрузимся в вашу задачу, подберем формат работы и сделаем расчет стоимости.

Внедрение с
200+ проектов по автоматизации
200+ проектов по
автоматизации бизнеса на базе 1С
Эксперты с отраслевым опытом
Эксперты с
отраслевым опытом
Интеграция с ERP, CRM и учетными системами
Интеграция с ERP, CRM
и учетными системами

Другие внедренные проекты

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