Почему 1С:Бухгалтерия 3.0 долго загружается на мощном сервере Windows Server 2012 в терминальном режиме?

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

Рассмотрим весьма распространенную и неприятную ситуацию, с которой сталкиваются системные администраторы. Приобретается новый мощный сервер (например, многоядерный Intel Xeon, с большим объемом оперативной памяти и быстрыми дисками), разворачивается Windows Server 2012, настраивается терминальный доступ (RDP) для небольшого количества пользователей. Однако при попытке запустить небольшую файловую базу 1С:Бухгалтерия 3.0, система начинает вести себя странно: стартовое окно грузится по несколько минут, интерфейс «тормозит». При этом диспетчер задач показывает, что процессор загружен всего на 3-10%, а оперативная память практически свободна. Проанализируем эту проблему по шагам и выясним причины такого поведения, а также пути решения.

Настройки схемы электропитания сервера

В первую очередь проверим самую банальную, но часто встречающуюся причину — настройки электропитания операционной системы. По умолчанию в Windows Server 2012 часто устанавливается «Сбалансированный» режим. Это приводит к тому, что операционная система агрессивно снижает частоту процессора при кажущемся отсутствии сильной нагрузки, а запуск 1С в один поток просто не успевает «разбудить» процессор до максимальных частот.

Перейдем в настройки электропитания Windows и переключим план на «Высокая производительность». В некоторых случаях (особенно с процессорами Intel Xeon) также полезно проверить настройки BIOS сервера и отключить функции агрессивного энергосбережения там.

Динамическое распределение ресурсов (DFSS) в Windows Server 2012

Разберем специфическую особенность платформы Windows Server 2012 / 2012 R2. В этой системе по умолчанию активирован механизм Dynamic Fair Share Scheduling (DFSS). Этот алгоритм динамически распределяет ресурсы процессора, дисков и сети между пользователями терминальных сессий.

Часто DFSS воспринимает пиковую нагрузку при запуске «тяжелого» клиента 1С как избыточную и начинает искусственно ограничивать (квотировать) ресурсы для конкретного RDP-сеанса. В результате 1С «замораживается», в то время как общая нагрузка на сервер остается минимальной. Решим эту проблему через редактирование системного реестра:

  1. Откроем редактор реестра regedit.
  2. Найдем параметры квотирования, такие как EnableCpuQuota и EnableDiskQuota.
  3. Установим их значения в 0, чтобы отключить искусственное ограничение ресурсов для сеансов.

Сетевые протоколы: IPv6 и долгий поиск лицензий

Проанализируем процесс запуска платформы 1С. При старте программа выполняет поиск ключей защиты (как аппаратных HASP, так и программных лицензий). В Windows Server 2012 по умолчанию включен протокол IPv6. Платформа 1С может пытаться опрашивать сетевые интерфейсы или локальный хост через IPv6, и если маршрутизация настроена некорректно или IPv6-сеть не используется, возникают длительные системные тайм-ауты (до нескольких минут ожидания).

Что мы можем сделать:

  1. Полностью отключим протокол IPv6 в свойствах сетевых адаптеров сервера, оставив только IPv4.
  2. Если используется аппаратный ключ HASP в сети, жестко пропишем IP-адрес менеджера лицензий в файле nethasp.ini.
  3. В этом же файле отключим широковещательные запросы, раскомментировав и установив параметр BROADCAST=Disabled.
  4. Если аппаратного ключа нет (используются только программные лицензии), убедимся, что в настройках запуска базы 1С снята галочка «Использовать аппаратную лицензию (ключ защиты)».

Проброс принтеров в RDP и процесс splwow64.exe

Обратим внимание на работу терминальных сессий. При запуске 1С синхронно опрашивает все принтеры, доступные пользователю. Если у пользователей настроен проброс локальных принтеров через RDP (особенно с использованием драйвера Microsoft Easy Print), 1С может "зависнуть" на этапе старта, ожидая отклика от каждого виртуального принтера.

Также может зависать фоновый диспетчер печати. Для проверки этой гипотезы можно попытаться принудительно завершить процесс печати через командную строку:
taskkill /f /im splwow64.exe /t
Если после этого 1С резко стартует, значит, проблема кроется в драйверах проброшенных принтеров. Рекомендуется использовать драйверы производителей принтеров вместо Easy Print, либо отключить проброс принтеров, если он не нужен.

Антивирусная защита и кэш временных файлов

Посмотрим на файловую систему. И сама платформа, и антивирусное ПО сильно влияют на скорость дисковых операций.

  1. Антивирус: Обязательно добавим в исключения антивируса (например, Kaspersky или Dr.Web) папку с базой данных 1С, каталог установки платформы, а также системные папки временных файлов Temp и Tmp пользователей. Антивирус не должен сканировать файлы базы (1Cv8.1CD) в реальном времени при каждом обращении к ним.
  2. Кэш 1С: Платформа активно использует кэш во временных папках пользователя. Если эти папки переполнены "мусором" или права на них настроены криво, запуск сильно замедляется. Очистим временные папки. Однако, следует помнить, что если папка кэша принудительно очищается скриптами при каждом выходе пользователя из терминала, то следующий запуск 1С будет долгим, так как кэш (особенно для управляемых форм) будет формироваться заново.

Специфика Бухгалтерии 3.0: управляемые формы и фоновые задания

Необходимо понимать разницу между старыми версиями (Бухгалтерия 2.0) и новыми (Бухгалтерия 3.0 на платформе 8.3). Редакция 3.0 использует управляемые формы и содержит огромное количество регламентных и фоновых заданий (загрузка курсов валют, проверка новостей ИТС, полнотекстовый поиск).

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

Также стоит обновить платформу 1С. Ранние релизы 8.3 (например, 8.3.4) имели известные проблемы с распределением памяти на серверах. Актуальные релизы платформы лучше справляются с файловым кэшированием.

Радикальные решения архитектуры сети

Если все системные настройки проверены, но файловая база на 3-4 пользователях в терминале продолжает работать медленно при нулевой загрузке сервера, рассмотрим изменение самой архитектуры работы:

  1. Переход на клиент-серверный вариант: Установка 1С:Предприятие (Сервер) и MS SQL Server (или PostgreSQL). Это мгновенно снимет проблему блокировок файла базы данных и заставит сервер использовать все свои мощности (процессор и оперативную память) для параллельной обработки транзакций пользователей.
  2. Публикация файловой базы на веб-сервере: Развернем веб-сервер (IIS, который встроен в Windows Server, или Apache). Опубликуем на нем базу и настроим работу пользователей не через тяжелый терминал (RDP), а через тонкий клиент 1С (по протоколу HTTP/HTTPS). Это существенно снизит нагрузку на графическую подсистему сервера и уменьшит количество системных конфликтов.

Подводя итог, можно сказать, что связка "мощный сервер + терминал + файловая Бухгалтерия 3.0" часто работает хуже, чем на старом десктопном ПК. Проблема кроется не в "слабом железе", а во множестве программных прослоек и алгоритмов квотирования серверной ОС, которые мешают платформе 1С получить монопольный доступ к ресурсам. Последовательная настройка сети, политик электропитания, исключений антивируса и отключение DFSS помогут вернуть комфортную скорость работы пользователям.

← На главную