Как выбрать серверное железо и устранить 100% загрузку процессора при работе с десятками баз 1С?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

Сценарий бухгалтерского аутсорсинга, когда небольшое число сотрудников (4–6 пользователей) ведет несколько десятков информационных баз «1С:Бухгалтерия 3.0» и «1С:Зарплата и управление персоналом 3.1», обладает уникальной спецификой нагрузки. Очень часто администраторы сталкиваются с ситуацией: пользователей в системе мало, активных транзакций минимум, но процессор сервера загружен на 100%, интерфейс зависает, а проведение документов замедляется в разы.

В этой статье мы подробно разберем, почему возникает такая проблема, как оптимизировать платформу 1С:Предприятие 8.3 и СУБД PostgreSQL, а также какие аппаратные характеристики сервера критически важны для быстрой и стабильной работы.

Выясняем причину: почему процессор загружен на 100% при 5 пользователях

Проанализируем механику работы современных типовых конфигураций. В конфигурациях БП 3.0 и ЗУП 3.1 по умолчанию активированы десятки регламентных и фоновых заданий. В их число входят:

  1. Автоматическое обновление классификаторов (банков, адресов, валют).
  2. Проверка контрагентов через сервис 1С:Контрагент и 1С:СПАРК Риски.
  3. Синхронизация данных и закрытие месяца.
  4. Полнотекстовое индексирование и обновление индекса поиска.
  5. Расчет итогов и агрегатов регистров.
  6. Загрузка новостей и проверка наличия обновлений конфигурации.

Когда на сервере развернута одна база, регламентные задания выполняются практически незаметно. Однако при наличии 36 баз эти задачи начинают запускаться параллельно во всех информационных пространствах. Каждый запуск порождает отдельный фоновый сеанс и рабочий процесс rphost. В результате 36 баз одновременно пытаются выполнить тяжелые расчеты и дисковые операции, полностью утилизируя ресурсы даже мощного многоядерного процессора.

Решение 1: Централизованное отключение и оптимизация фоновых заданий

Рассмотрим комплекс мер по снижению паразитной фоновой нагрузки без ущерба для бухгалтерского учета.

Шаг 1. Блокировка фоновых заданий для архивных и неактивных баз.

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

  1. Откроем ветку Информационные базы в консоли кластера.
  2. Перейдем в свойства нужной базы.
  3. Установим флаг «Блокировка регламентных заданий включена» (Scheduled jobs denied).
  4. Применим изменения. Это мгновенно снимет лишнюю нагрузку с процессов rphost.

Шаг 2. Отключение второстепенных регламентных заданий в рабочих базах.

В активных базах перейдем в раздел Администрирование — Обслуживание — Регламентные операции — Регламентные и фоновые задания и настроим расписание:

  1. Отключим Полнотекстовое индексирование (или перенесем его выполнение строго на ночные часы, например на 03:00).
  2. Отключим автоматическую проверку контрагентов по расписанию, переведя ее в ручной режим по требованию.
  3. Скорректируем расписание загрузки курсов валют: вместо ежечасного опроса установим запуск один раз в сутки утром.
  4. Отключим сервис новостей и автоматическое обновление классификатора банков.

Шаг 3. Ограничение ресурсов на уровне кластера 1С.

Для предотвращения утечек памяти и чрезмерного разрастания процессов настроим параметры рабочего сервера в консоли кластера 1С:

  1. Установим параметр «Количество ИБ на процесс» или ограничим максимальный объем памяти рабочих процессов (Memory Limit), чтобы платформа своевременно перезапускала неактивные процессы rphost.
  2. Зададим интервал перезапуска рабочих процессов (например, каждые 86400 секунд — раз в сутки в нерабочее время).

Решение 2: Подбор серверного оборудования (Hardware)

Разберем требования к аппаратному обеспечению под связку 1С + PostgreSQL для компании аутсорсинга.

1. Процессор (CPU): Частота критичнее количества ядер!

Платформа 1С выполняет большинство тяжелых бизнес-алгоритмов (проведение документов, закрытие периода, расчет себестоимости, расчет страховых взносов) в однопоточном режиме. Если процессор имеет много ядер, но низкую базовую частоту (например, старые серверные процессоры уровня 2.0–2.4 ГГц), 1С будет сильно тормозить.

  1. Рекомендуемая частота: базовая от 3.6–3.8 ГГц с динамическим ускорением (Turbo Boost / Precision Boost) до 4.8–5.0+ ГГц.
  2. Архитектура: современные линейки AMD Ryzen 7 / Ryzen 9 (серии 7000/9000), Intel Core i7 / i9 последних поколений или специализированные серверные процессоры Intel Xeon E-2300/E-2400 / AMD EPYC 4004 с высокой тактовой частотой на ядро.

2. Оперативная память (RAM).

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

  1. Объем: минимум 64 ГБ, оптимально — 128 ГБ.
  2. Память распределяется между процессами rphost, пулом соединений СУБД PostgreSQL и дисковым кэшем операционной системы. Чем больше страниц баз данных находится в кэше RAM, тем меньше обращений идет к физическим дискам.
  3. Крайне желательно использовать память с поддержкой коррекции ошибок (ECC RAM) для защиты финансовых данных от случайных сбоев и битовых ошибок.

3. Дисковая подсистема (Storage).

Использование обычных пользовательских (Consumer) SSD для десятков баз 1С недопустимо: при одновременной фоновой записи они быстро исчерпывают ресурс, перегреваются и сбрасывают скорость (троттлинг), а при отключении питания могут повредить базу СУБД.

  1. Тип накопителей: только серверные накопители Enterprise NVMe SSD с защитой от потери питания (Power Loss Protection — PLP), например серии Samsung PM9A3, Micron или Kingston DC.
  2. Конфигурация: объединение двух накопителей в зеркальный массив (RAID 1) для обеспечения непрерывности работы при выходе одного диска из строя.
  3. Разделение данных: рабочие базы СУБД и файлы транзакционных логов (WAL) должны располагаться на быстрых NVMe, а резервные копии (бэкапы) и операционная система — на отдельных физических дисках (SATA SSD или HDD).

Решение 3: Оптимизация параметров PostgreSQL под 1С

Для корректной работы 1С с СУБД PostgreSQL необходимо использовать специализированную сборку с патчами от фирмы «1С» или «Postgres Pro 1C». Стандартная сборка PostgreSQL не оптимизирована для специфики генерации SQL-запросов платформой 1С.

Рассмотрим ключевые параметры файла postgresql.conf, которые необходимо настроить:

Посмотрим на пример базовой конфигурации для сервера с 64 ГБ оперативной памяти:


# Объем памяти под общие буферы (около 25% от всей RAM)
shared_buffers = 16GB

# Оценка доступного кэша операционной системы (50-75% от RAM)
effective_cache_size = 48GB

# Память для сложных операций сортировки и группировки
work_mem = 64MB

# Память для операций обслуживания (автовакуум, создание индексов)
maintenance_work_mem = 2GB

# Стоимость случайного чтения для быстрых NVMe SSD
random_page_cost = 1.1

# Оптимизация автовакуума для множества активных таблиц
autovacuum_max_workers = 4
autovacuum_vacuum_scale_factor = 0.05
autovacuum_analyze_scale_factor = 0.02

Разберем, почему эти параметры важны:

  1. Параметр random_page_cost = 1.1 указывает планировщику запросов, что сервер использует быстрые твердотельные накопители. По умолчанию в PostgreSQL стоит значение 4.0 (рассчитанное на медленные HDD), из-за чего планировщик часто игнорирует индексы 1С и выполняет полное сканирование таблиц (Seq Scan).
  2. Агрессивная настройка autovacuum не позволяет накопиться устаревшим «мертвым» строкам (Dead Tuples), что критично при постоянной перезаписи данных в десятках баз.

Решение 4: Архитектурные альтернативы

Если бюджет на закупку и администрирование собственного сервера ограничен, проанализируем две эффективные альтернативы:

  1. Переход в сервис «1С:Фреш» (1С:Бухобслуживание / 1CFresh):

    Для 36 типовых баз и 5 пользователей облачный сервис 1С:Фреш является одним из наиболее экономически выгодных решений. В облаке автоматическое обновление баз, резервное копирование и распределение нагрузки берет на себя провайдер. Это полностью избавляет от необходимости приобретать серверное железо и оплачивать услуги системного администратора.

  2. Использование механизма разделения данных (Multi-tenancy):

    Вместо создания 36 изолированных баз данных конфигурация «1С:Бухгалтерия 3.0» позволяет включить механизм разделения данных. В этом случае все 36 организаций работают в одной физической информационной базе, но данные каждого клиента полностью изолированы. Нагрузка на процессор снижается в десятки раз, так как все фоновые регламентные задания выполняются единожды, а не дублируются 36 раз.

Сводная таблица действий

  1. Немедленные действия: зайти в консоль 1С и отключить регламентные задания в архивных базах, настроить расписание тяжелых фоновых задач в рабочих базах.
  2. Апгрейд оборудования: выбирать процессор с высокой тактовой частотой на ядро (от 3.8 ГГц), установить не менее 64 ГБ ОЗУ и серверные NVMe SSD с защитой от потери питания (PLP) в RAID 1.
  3. Тонкая настройка СУБД: использовать специализированный дистрибутив PostgreSQL для 1С и скорректировать параметры буферов и стоимости чтения под SSD-диски.
← На главную