Ускорит ли веб-сервер работу файловой базы 1С:УТ по сравнению с сервером терминалов?

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

Рассмотрим распространенную ситуацию: имеется файловая база «1С:Управление торговлей» размером около 3,5 ГБ, в которой работает небольшое количество пользователей (например, 6 человек) через терминальный сервер (RDP). Несмотря на наличие мощного сервера с SSD и достаточным объемом оперативной памяти, запуск программы происходит долго (порядка 20 секунд). Проанализируем, поможет ли публикация базы на веб-сервере (Apache или IIS) ускорить запуск и общую работу, а также разберем другие действенные способы оптимизации.

Особенности работы файловой базы через веб-сервер

Публикация файловой базы на веб-сервере действительно может изменить характер работы системы. Разберем подробнее, как это происходит.

При использовании веб-сервера (например, Apache) обращения к базе данных выстраиваются в очередь и обрабатываются процессом самого веб-сервера. Это частично решает проблему жестких конкурентных блокировок при одновременной записи данных несколькими пользователями, так как взаимодействие с файлом базы (1Cv8.1CD) идет через единый шлюз.

Важные нюансы:

  1. Подключаться к опубликованной на веб-сервере базе настоятельно рекомендуется не через браузер, а через установленный Тонкий клиент 1С по HTTP-ссылке. Это избавит от задержек, связанных с рендерингом интерфейса браузерами.
  2. Сам веб-сервер будет потреблять дополнительную оперативную память.
  3. В некоторых случаях при интенсивной работе на файловой базе через веб-сервер процессы могут периодически «зависать», что потребует перезапуска службы веб-сервера. Если вы оставляете и сервер терминалов, и добавляете веб-сервер на одной машине, существенного прироста производительности именно при открытии можно и не заметить.

Ограничения файловой базы и размер 3,5 ГБ

Размер базы в 3,5 ГБ является критическим сигналом для файлового варианта работы. Платформа 1С по умолчанию имеет жесткое архитектурное ограничение: размер одной внутренней таблицы (например, регистра накопления, журнала документов или таблицы итогов) не может превышать 4 ГБ. Если размер хотя бы одной таблицы достигнет этого предела, работа пользователей полностью остановится с ошибкой превышения размера.

Как предотвратить проблему:

Если нет возможности перейти на полноценный клиент-серверный вариант (SQL), начиная с платформы 8.3.8 можно увеличить размер страницы базы данных. Для этого используется встроенная консольная утилита платформы cnvdbfl.exe. Увеличение размера страницы (например, со стандартных 4k до 8k, 16k или 64k) позволяет пропорционально расширить лимит одной таблицы до 6 ГБ и более. Однако это увеличит и общий физический размер файла на диске.

Причины долгого запуска (20 секунд) и способы их решения

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

  1. Поиск лицензий (ключей защиты). При использовании программных лицензий долгое открытие часто вызвано тем, что платформа 1С при запуске тратит время на поиск аппаратных ключей защиты (HASP) по всей локальной сети через широковещательные запросы. Отключение поиска аппаратной лицензии в настройках запуска (или через конфигурационный файл nethasp.ini) позволяет убрать этот тайм-аут и сэкономить несколько секунд при старте.
  2. Регламентные и фоновые задания. В файловом варианте 1С регламентные задания (индексирование полнотекстового поиска, загрузка курсов валют, обновление различных статусов) не могут выполняться на сервере. Они инициируются и выполняются непосредственно в сеансе клиентского приложения. При входе пользователя система может запустить накопленные задания, что полностью загружает поток и вызывает долгое открытие базы. Рекомендуется отключить все некритичные регламентные задания в настройках программы.
  3. Ограничение доступа на уровне записей (RLS). Если в «Управлении торговлей» включено разграничение прав доступа на уровне записей (RLS), это многократно замедляет именно первый запуск программы и открытие списков/журналов. Платформа тратит время на кэширование прав и построение сложных запросов. Если RLS не является строгой необходимостью, его отключение кардинально ускорит старт программы.
  4. Дисковые операции и антивирус на сервере терминалов. При работе на сервере терминалов 1С активно пишет временные файлы в папку профиля каждого пользователя (каталог AppData). Даже при наличии быстрого SSD одновременный старт нескольких сеансов или работа антивирусного ПО, которое сканирует папки профилей в момент распаковки кэша 1С, создает узкое место. Добавление рабочих каталогов 1С и папок с кэшем в исключения антивируса значительно ускоряет загрузку.

Дополнительные рекомендации по оптимизации

Посмотрим на базовые настройки, которые необходимо проверить на терминальном сервере с файловой базой:

Если после выполнения всех рекомендаций стабильность и скорость работы файловой базы вас не устроит, единственным надежным путем масштабирования останется переход на клиент-серверную архитектуру (установка сервера 1С:Предприятие и СУБД, например PostgreSQL). Для небольших рабочих групп до 5 рабочих мест можно рассмотреть использование недорогой лицензии на сервер 1С уровня МИНИ.

← На главную