Тормозит 1С:Управление торговлей 8.3 в файловом режиме на терминальном сервере: как устранить зависания и ускорить работу?

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

Работа с тяжелыми конфигурациями 1С, такими как «Управление торговлей 11» (УТ) и «Бухгалтерия предприятия 3.0» (БП), предъявляет серьезные требования к аппаратному и программному обеспечению сервера. Особенно остро проблемы производительности проявляются при совместной работе нескольких пользователей в файловом режиме на терминальном сервере (RDP). Зависания системы на 1–3 минуты, статус «Не отвечает» в диспетчере задач и медленный отклик интерфейса — классические симптомы неоптимальной настройки.

В этой статье мы подробно разберем, почему возникают подобные зависания, проанализируем влияние дисковой подсистемы, процессора и оперативной памяти, а также пошагово настроим операционную систему Windows Server и саму платформу 1С для достижения максимального быстродействия.

Почему файловая 1С начинает тормозить при работе нескольких пользователей?

Давайте выясним причину, по которой файловый вариант базы данных 1С физически не может масштабироваться так же эффективно, как клиент-серверный вариант:

  1. Последовательная запись данных: В файловой базе (файл 1Cv8.1CD) все операции записи выполняются строго последовательно. Когда один пользователь проводит тяжелый документ, база блокируется для записи для всех остальных пользователей. В этот момент у остальных сеансы могут уходить в режим ожидания (зависать).
  2. Отрисовка интерфейса на сервере (RDP-нагрузка): При подключении пользователей через удаленный рабочий стол (RDP) сервер вынужден тратить колоссальные ресурсы процессора и оперативной памяти на обслуживание графических сессий операционной системы для каждого пользователя. На одну сессию Windows уходит от 1.5 до 2 ГБ ОЗУ еще до запуска самой 1С.
  3. Фоновые и регламентные задания: По умолчанию в современных управляемых формах включены десятки регламентных процессов, которые запускаются непосредственно в сессиях активных пользователей, парализуя работу интерфейса.

Ниже мы подробно рассмотрим комплекс мер, которые помогут вдохнуть жизнь даже в относительно слабое серверное оборудование.

Шаг 1. Перенос баз данных и системного кэша на SSD

Обычные жесткие диски (HDD) обладают крайне низкой скоростью случайного чтения и записи (IOPS), что делает их непригодными для работы многопользовательской файловой 1С. Установка твердотельного накопителя (SSD) — это первое и наиболее эффективное аппаратное решение.

При установке SSD придерживайтесь следующих правил:

Шаг 2. Оптимизация расположения временных файлов (TEMP) и файла подкачки

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

Рассмотрим, как правильно перенаправить временные папки пользователей на быстрый SSD диск (предположим, что SSD в системе определен как диск E:):

  1. Создайте на диске E: корневую папку для временных файлов, например E:\TEMP.
  2. Внутри этой папки создайте отдельную директорию для хранения пользовательских данных, например E:\TEMP\Usertemp.
  3. Откройте свойства системы на сервере: Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды.
  4. В разделе «Системные переменные» найдите переменные TEMP и TMP. Измените их значения на E:\TEMP.
  5. В разделе «Переменные среды пользователя» измените пути для TEMP и TMP на E:\TEMP\Usertemp. Таким образом, временные файлы сессий пользователей будут создаваться на быстром SSD.
  6. Файл подкачки (pagefile.sys): Перенесите файл подкачки на SSD. Не ограничивайте его размер вручную, если в этом нет жесткой необходимости. Рекомендуется установить переключатель в положение «Размер по выбору системы», но физически разместить его именно на твердотельном накопителе.

Шаг 3. Отключение дискового Fair Share (DFSS) в Windows Server

В операционных системах Windows Server (начиная с версии 2012 R2 и выше) по умолчанию включена технология Dynamic Fair Share Scheduling (DFSS). Ее задача — справедливо распределять дисковое время между терминальными пользователями. Однако для 1С это оборачивается катастрофой: система искусственно ограничивает скорость обращения к диску для каждого отдельного сеанса RDP, из-за чего файловая база начинает жутко зависать даже при наличии быстрого SSD.

Давайте разберем, как отключить эту функцию через системный реестр:

  1. Нажмите сочетание клавиш Win + R, введите regedit и нажмите Enter.
  2. Перейдите по следующему пути в редакторе реестра:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk
  3. Найдите параметр «EnableFairShare» (тип REG_DWORD).
  4. Измените его значение с 1 (включено) на 0 (отключено).
  5. Для того чтобы изменения вступили в силу, перезагрузите сервер.

Как показывает практика тестирования производительности (например, по тесту Гилева), отключение технологии DFSS на дисковой подсистеме SSD способно дать мгновенный прирост производительности 1С в терминальном режиме до 30%.

Шаг 4. Публикация базы на веб-сервере (переход на Тонкий клиент)

Если серверное железо сильно ограничено по объему оперативной памяти (например, у вас всего 8 ГБ или 16 ГБ ОЗУ, на которых работают 3–4 пользователя), использование RDP крайне неэффективно. Отличной альтернативой является публикация базы данных на веб-сервере.

Проанализируем преимущества этой схемы:

Шаг 5. Оптимизация настроек внутри самой 1С

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

Шаг 6. Системные настройки Windows Server

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

  1. Настройка электропитания: По умолчанию Windows Server работает в режиме «Сбалансированная схема». В моменты низкой активности процессор сбрасывает свои частоты. Когда пользователю 1С требуется выполнить тяжелый расчет, процессору требуется время на повышение частоты ядра, что вызывает микрофризы. Перейдите в Панель управления -> Электропитание и принудительно активируйте схему «Высокая производительность» (High Performance).
  2. Настройка исключений антивируса: Защитник Windows (Windows Defender) или сторонний антивирус могут проверять файл базы данных 1Cv8.1CD при каждом обращении программы к диску. Добавьте в исключения антивирусного сканера:
    • Каталог, в котором лежат базы данных 1С.
    • Каталог временных файлов TEMP.
    • Процессы 1cv8.exe и 1cv8c.exe.
    • Расширения файлов *.1CD, *.1cl, *.tmp.

Шаг 7. Бюджетный переход на полноценный клиент-сервер

Если количество пользователей приближается к 5, а базы данных превышают объем 4–6 ГБ, файловый режим становится главным тормозом бизнеса, независимо от мощности вашего процессора. Существует стереотип, что покупка серверной версии 1С — это очень дорого. Однако для небольших компаний есть официальное бюджетное решение:

Переведя базу в режим клиент-сервера под управлением Сервера МИНИ и PostgreSQL, вы навсегда избавитесь от транзакционных блокировок файлов и защитите базу данных от повреждения («ошибок формата потока») при аварийном завершении работы сервера.

Важное предупреждение: опасность оверклокинга (разгона) для файловых баз

Иногда системные администраторы пытаются выжать максимум из старого железа (например, процессоров семейства Xeon) путем их разгона (оверклокинга) по шине или множителю. В случае с файловой 1С это несет в себе критическую опасность.

Дело в том, что файловый движок 1С не имеет механизма транзакционных логов (WAL), используемых в полноценных СУБД. Любой сбой по питанию, микронестабильность оперативной памяти или перегрев разогнанного процессора в момент записи данных приведет к необратимому разрушению внутренней структуры файла 1Cv8.1CD. Чаще всего это вызывает критическую ошибку «Ошибка формата потока», после которой восстановить базу стандартной утилитой chdbfl.exe удается далеко не всегда. Проводить разгон оборудования на рабочих серверах 1С категорически запрещено!

Резюме

Давайте подведем итог проделанной работы. Чтобы устранить зависания 1С:Управление торговлей на сервере, мы выполнили следующие действия:

  1. Установили производительный SSD и перенесли на него базы данных.
  2. Перенаправили системные и пользовательские папки TEMP на SSD-диск.
  3. Отключили службу дискового распределения DFSS (Dynamic Fair Share Scheduling) в реестре Windows.
  4. Перевели схему электропитания сервера в режим максимальной производительности.
  5. Удалили из базы 1С лишние регламентные задачи и провели сжатие таблиц базы данных.

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

← На главную