Рассмотрим весьма распространенную и неприятную ситуацию, с которой сталкиваются системные администраторы. Приобретается новый мощный сервер (например, многоядерный Intel Xeon, с большим объемом оперативной памяти и быстрыми дисками), разворачивается Windows Server 2012, настраивается терминальный доступ (RDP) для небольшого количества пользователей. Однако при попытке запустить небольшую файловую базу 1С:Бухгалтерия 3.0, система начинает вести себя странно: стартовое окно грузится по несколько минут, интерфейс «тормозит». При этом диспетчер задач показывает, что процессор загружен всего на 3-10%, а оперативная память практически свободна. Проанализируем эту проблему по шагам и выясним причины такого поведения, а также пути решения.
В первую очередь проверим самую банальную, но часто встречающуюся причину — настройки электропитания операционной системы. По умолчанию в Windows Server 2012 часто устанавливается «Сбалансированный» режим. Это приводит к тому, что операционная система агрессивно снижает частоту процессора при кажущемся отсутствии сильной нагрузки, а запуск 1С в один поток просто не успевает «разбудить» процессор до максимальных частот.
Перейдем в настройки электропитания Windows и переключим план на «Высокая производительность». В некоторых случаях (особенно с процессорами Intel Xeon) также полезно проверить настройки BIOS сервера и отключить функции агрессивного энергосбережения там.
Разберем специфическую особенность платформы Windows Server 2012 / 2012 R2. В этой системе по умолчанию активирован механизм Dynamic Fair Share Scheduling (DFSS). Этот алгоритм динамически распределяет ресурсы процессора, дисков и сети между пользователями терминальных сессий.
Часто DFSS воспринимает пиковую нагрузку при запуске «тяжелого» клиента 1С как избыточную и начинает искусственно ограничивать (квотировать) ресурсы для конкретного RDP-сеанса. В результате 1С «замораживается», в то время как общая нагрузка на сервер остается минимальной. Решим эту проблему через редактирование системного реестра:
regedit.EnableCpuQuota и EnableDiskQuota.0, чтобы отключить искусственное ограничение ресурсов для сеансов.Проанализируем процесс запуска платформы 1С. При старте программа выполняет поиск ключей защиты (как аппаратных HASP, так и программных лицензий). В Windows Server 2012 по умолчанию включен протокол IPv6. Платформа 1С может пытаться опрашивать сетевые интерфейсы или локальный хост через IPv6, и если маршрутизация настроена некорректно или IPv6-сеть не используется, возникают длительные системные тайм-ауты (до нескольких минут ожидания).
Что мы можем сделать:
nethasp.ini.BROADCAST=Disabled.Обратим внимание на работу терминальных сессий. При запуске 1С синхронно опрашивает все принтеры, доступные пользователю. Если у пользователей настроен проброс локальных принтеров через RDP (особенно с использованием драйвера Microsoft Easy Print), 1С может "зависнуть" на этапе старта, ожидая отклика от каждого виртуального принтера.
Также может зависать фоновый диспетчер печати. Для проверки этой гипотезы можно попытаться принудительно завершить процесс печати через командную строку:
taskkill /f /im splwow64.exe /t
Если после этого 1С резко стартует, значит, проблема кроется в драйверах проброшенных принтеров. Рекомендуется использовать драйверы производителей принтеров вместо Easy Print, либо отключить проброс принтеров, если он не нужен.
Посмотрим на файловую систему. И сама платформа, и антивирусное ПО сильно влияют на скорость дисковых операций.
Temp и Tmp пользователей. Антивирус не должен сканировать файлы базы (1Cv8.1CD) в реальном времени при каждом обращении к ним.Необходимо понимать разницу между старыми версиями (Бухгалтерия 2.0) и новыми (Бухгалтерия 3.0 на платформе 8.3). Редакция 3.0 использует управляемые формы и содержит огромное количество регламентных и фоновых заданий (загрузка курсов валют, проверка новостей ИТС, полнотекстовый поиск).
Файловая версия базы 1С не умеет эффективно распараллеливать работу. Как только пользователь заходит в базу, могут стартовать фоновые задания, которые полностью блокируют файл базы данных. Пока они не отработают, интерфейс не ответит. Зайдем в раздел администрирования 1С и отключим все некритичные регламентные задания.
Также стоит обновить платформу 1С. Ранние релизы 8.3 (например, 8.3.4) имели известные проблемы с распределением памяти на серверах. Актуальные релизы платформы лучше справляются с файловым кэшированием.
Если все системные настройки проверены, но файловая база на 3-4 пользователях в терминале продолжает работать медленно при нулевой загрузке сервера, рассмотрим изменение самой архитектуры работы:
Подводя итог, можно сказать, что связка "мощный сервер + терминал + файловая Бухгалтерия 3.0" часто работает хуже, чем на старом десктопном ПК. Проблема кроется не в "слабом железе", а во множестве программных прослоек и алгоритмов квотирования серверной ОС, которые мешают платформе 1С получить монопольный доступ к ресурсам. Последовательная настройка сети, политик электропитания, исключений антивируса и отключение DFSS помогут вернуть комфортную скорость работы пользователям.