Как оптимизировать работу 1С 8.3 в файловом режиме при большом количестве пользователей и размере базы более 4 ГБ?

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

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

Ограничение размера внутренних таблиц и утилита cnvdbfl.exe

Распространенное заблуждение заключается в том, что файловая база не может превышать 4 ГБ в целом. На самом деле ограничение в 4 ГБ применяется не к общему размеру файла базы данных, а к каждой отдельной внутренней таблице или её индексу. В устаревших форматах файловой базы (созданных на платформе 8.2) используется размер страницы 4 КБ, что жестко ограничивает максимальный объем любой таблицы 4 гигабайтами.

Рассмотрим, как изменить этот лимит средствами платформы 1С 8.3:

  1. Начиная с версии платформы 8.3.8, поддерживается формат файловой базы с увеличенным размером страницы (8, 16, 32 или 64 КБ).
  2. Для изменения размера страницы выполним конвертацию базы с помощью утилиты cnvdbfl.exe, которая находится в каталоге установленной платформы (например, C:\Program Files\1cv8\8.3.X.X\bin\cnvdbfl.exe).
  3. Перед запуском утилиты обязательно создадим резервную копию файла 1Cv8.1CD и завершим все пользовательские сеансы.
  4. Увеличение размера страницы до 64 КБ позволяет расширить лимит одной таблицы до 6 ГБ и выше, а также повысить скорость ввода-вывода при массовых операциях.

Решение проблемы сетевых блокировок: публикация на Веб-сервере

Главная причина сильных задержек при работе 10 и более пользователей по сети — использование стандартного протокола обмена файлами SMB/CIFS. Когда пользователи открывают базу напрямую из сетевой папки, блокировка страниц файла 1Cv8.1CD происходит на уровне операционной системы. Сетевой трафик перегружается постоянной синхронизацией кэша, что приводит к «зависаниям» при проведении документов.

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

  1. Установим веб-сервер (IIS или Apache) на ПК или сервере, где физически расположен файл базы данных.
  2. Опубликуем файловую базу 1С на веб-сервере из Конфигуратора через меню Администрирование — Публикация на веб-сервере.
  3. Настроим подключение пользователей через Тонкий клиент по протоколу HTTP/HTTPS или через обычный веб-браузер.

При таком подходе веб-сервер работает с файлом базы данных локально, исключая накладные расходы протокола SMB. Это ликвидирует сетевые блокировки и существенно повышает скорость работы файловой базы при конкурентном доступе.

Отключение фоновых заданий и полнотекстового поиска

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

Выясним, какие настройки следует выполнить для снижения нагрузки:

  1. Отключим полнотекстовый поиск в разделе администрирования конфигурации, если организация им не пользуется.
  2. Отменим выполнение некритичных регламентных заданий (расчет итогов, извлечение текста, слияние индексов ППД).
  3. Для гарантированного запрета выполнения регламентных заданий на конкретном рабочем месте используем специальный параметр запуска 1С:

1cv8.exe ENTERPRISE /F "C:\Bases\MyBase" /AllowExecuteScheduledJobs -off

Оптимизация журнала регистрации (SQLite)

На платформах 8.3 журнал регистрации хранится в файле формата SQLite с расширением .lgd. При круглосуточной работе и большом количестве пользователей этот файл может разрастаться до десятков гигабайт, блокируя транзакции записи при проведении документов.

Для решения этой проблемы перейдем в Конфигуратор и выполним настройку журнала регистрации в меню Администрирование — Настройка журнала регистрации. Рекомендуется ограничить уровень регистрируемых событий (например, записывать только ошибки и предупреждения) или регулярно производить сокращение журнала с удалением устаревших записей.

Использование бюджетного серверного режима (Сервер МИНИ + PostgreSQL)

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

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