Как устранить сильные тормоза на сервере 1С:ЗУП 3.1 при расчете зарплаты?

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

Ситуация, когда мощный по техническим характеристикам сервер демонстрирует крайне низкую производительность в 1С:Предприятие, встречается довольно часто. Проанализируем типичный случай: сервер с 64 Гб оперативной памяти и процессорами Intel Xeon работает медленно, а открытие документа «Начисление зарплаты» на 2000 сотрудников занимает более 20 минут. Разберем по шагам, какие узкие места существуют в такой конфигурации и как их устранить.

Анализ аппаратной части и «бутылочного горлышка»

Первое, на что стоит обратить внимание — это тактовая частота процессора. В рассматриваемом случае используются процессоры E5-2620 v4 с базовой частотой 2.1 ГГц. Для серверных решений 1С, особенно для конфигурации «Зарплата и кадры государственного учреждения» (ЗУП 3.1), критически важна производительность на одно ядро. Частота 2.1 ГГц является крайне низкой для ресурсоемких расчетов зарплаты.

Вторая серьезная проблема — дисковая подсистема. Использование обычных HDD-дисков со скоростью вращения 7200 об/мин в зеркальном рейде (RAID 1) не обеспечивает необходимых показателей IOPS (количества операций ввода-вывода в секунду). Для базы данных SQL, которая постоянно производит запись и чтение во временные таблицы tempdb, такие диски становятся главным тормозом системы.

Настройка электропитания и BIOS

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

  1. Настройка BIOS: Перейдите в настройки электропитания сервера (Hardware Power Management) и установите режим Maximum Performance. Отключите все технологии энергосбережения, такие как C-States и P-States.
  2. Настройка Windows Server: В панели управления выберите «Электропитание» и установите схему «Высокая производительность». Это заставит процессор работать на максимальной частоте (включая Turbo Boost) постоянно, исключая задержки на «пробуждение» ядер.

Оптимизация SQL Server для работы с 1С

Настройки SQL Server по умолчанию редко подходят для эффективной работы 1С. Разберем основные параметры, которые необходимо изменить:

Параметр MAXDOP (Max Degree of Parallelism). По умолчанию SQL пытается распараллелить выполнение одного запроса на все доступные ядра. В 1С это часто приводит к обратной ситуации: время на синхронизацию потоков превышает время самого расчета. Выясним причину долгого ожидания и установим значение MAXDOP = 1. Это заставит каждый отдельный запрос выполняться в рамках одного ядра.

Ограничение памяти. SQL Server склонен захватывать всю доступную оперативную память. Если у вас 67 Гб ОЗУ, необходимо оставить запас для операционной системы и процессов 1С (rphost). Рекомендуется установить предел Max Server Memory на уровне 45–50 Гб.

Выполним настройку через SQL-скрипт:


EXEC sys.sp_configure N'show advanced options', N'1';
RECONFIGURE;
EXEC sys.sp_configure N'max degree of parallelism', N'1';
RECONFIGURE;
EXEC sys.sp_configure N'max server memory (MB)', N'51200';
RECONFIGURE;

Оптимизация базы данных tempdb

В 1С:ЗУП при расчете зарплаты активно используются временные таблицы. Проанализируем состояние базы tempdb. Если она расположена на тех же медленных HDD, что и основная база, быстродействия не будет.

Рекомендация: Перенесите файлы tempdb на самый быстрый диск (в идеале — отдельный NVMe или SSD). Также разделите tempdb на несколько файлов одинакового размера (обычно количество файлов должно соответствовать количеству физических ядер процессора, но не более 8).

Настройки внутри конфигурации 1С:ЗУП 3.1

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

  1. Автоматический пересчет документов: В настройках расчета зарплаты (Настройка — Расчет зарплаты) снимите галочку «Выполнять автоматический пересчет документов при редактировании». Если эта опция включена, система пытается пересчитать налоги и взносы при любом изменении строки, что на 2000 сотрудников вызывает колоссальные задержки.
  2. Регламентные задания: Проанализируем список регламентных заданий. Задания типа «Извлечение текста», «Полнотекстовый поиск» или «Обновление агрегатов» могут запускаться в момент работы расчетчиков, отнимая ресурсы диска и процессора. Лишние задания стоит отключить.
  3. Очередь пересчетов: Проверьте регистр сведений Очередь пересчетов. Если там накопились тысячи записей, система будет постоянно пытаться обработать их в фоновом режиме. Иногда полезно очистить этот регистр, если данные в нем не актуальны.

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

В рассматриваемом вопросе используется платформа 8.3.11 и версия ЗУП 3.1.6. Это очень старые релизы. Рассмотрим подробнее, почему обновление критично:

Итоги и план действий

Для решения проблемы «жутких тормозов» мы рекомендуем придерживаться следующего алгоритма:

1. Замена дисков на SSD: Это даст самый ощутимый прирост производительности, так как снимет проблему очередей к дисковой подсистеме.

2. Настройка процессора: Включение режима максимальной производительности в BIOS и Windows позволит использовать все 2.1–3.0 ГГц мощности Xeon без задержек.

3. Лимитирование SQL: Установка MAXDOP = 1 и ограничение памяти предотвратят конфликты ресурсов между SQL и процессами 1С.

4. Программная оптимизация: Отключение автоматического пересчета в ЗУП и обновление платформы до актуальной версии позволит системе работать более эффективно с программной точки зрения.

← На главную