← На главную
Рассмотрим типовую ситуацию: в организации используется файловая база «1С:Предприятие» (например, «Бухгалтерия государственного учреждения 2.0» на управляемых формах), с которой одновременно работают около 5 пользователей. В качестве сервера выступает обычный офисный компьютер с четырехъядерным процессором, 4 Гб оперативной памяти и классическим жестким диском (HDD). Пользователи открывают базу по локальной сети через общий сетевой ресурс (SMB), сталкиваясь с зависаниями при одновременной записи документов и формировании отчетов.
Проанализируем причины низкой производительности такой схемы, выясним, почему простая замена диска на SSD в режиме общей сетевой папки не даст ожидаемого эффекта, и разберем по шагам комплексное решение проблемы.
В чем главная проблема файлового режима при работе по сети?
Когда несколько пользователей работают с файловой базой через сетевой доступ Windows (сетевой диск или каталог SMB), компьютер, на котором лежит файл 1Cv8.1CD, является лишь файловым хранилищем. Вся логика приложения исполняется на клиентских ПК:
- Табличные блокировки: В файловом режиме блокировки накладываются не на отдельные строки данных, а на целые таблицы. Когда один пользователь проводит объемный документ или формирует регламентированный отчет, вся таблица блокируется, а остальные участники вынуждены ждать освобождения ресурса.
- Сетевой трафик: Чтобы выполнить элементарный запрос, клиентский компьютер вынужден вычитывать по сети огромные порции данных из файла базы. Механизмы кэширования SMB при подключении двух и более пользователей отключаются операционной системой для соблюдения целостности файла, что резко увеличивает количество дисковых и сетевых операций ввода-вывода.
- Риск повреждения базы данных: При сетевом сбое, зависании пользовательской станции или аварийном закрытии программы блокировка может зависнуть, что приводит к повреждению структуры файла
1Cv8.1CD. В такой ситуации приходится восстанавливать копию или запускать утилиту chdbfl.exe и процедуру «Тестирование и исправление».
Если мы просто установим твердотельный накопитель на файловый сервер и оставим прежний доступ через сетевую папку, узким местом останутся сетевые задержки, табличные блокировки и локальные ресурсы клиентских машин. Кардинального прироста скорости это не принесет.
Оптимальное решение: публикация базы на веб-сервере
Поскольку конфигурации нового поколения (такие как БГУ 2.0, БП 3.0, ЗУП 3.1) функционируют на управляемых формах, лучшим бесплатным способом ускорения является публикация базы данных на веб-сервере (Apache или IIS). В этой архитектуре компьютер с базой становится полноценным сервером приложений:
- Все тяжелые запросы к файлу
1Cv8.1CD исполняются локально внутри одного процесса веб-сервера.
- По сети между клиентом и сервером передаются только легкие структуры данных веб-клиента или тонкого клиента, что минимизирует объем трафика до килобайт.
- Исключается повреждение файла базы при обрыве связи на клиентском компьютере, так как клиент не обращается к файлу базы данных напрямую.
Разберем подробный план модернизации сервера и настройки программного окружения.
Шаг 1. Модернизация аппаратной части (ОЗУ и SSD)
Для развертывания веб-сервера на 5 активных подключений текущей конфигурации ПК (4 Гб ОЗУ) будет недостаточно, так как служба веб-сервера вместе с серверными модулями платформы 1С будет делить память с операционной системой.
- Оперативная память (ОЗУ): Увеличим объем памяти минимум до 8 Гб, а оптимально — до 16 Гб. Это позволит веб-серверу свободно кэшировать данные в оперативной памяти и исключит сброс данных в медленный файл подкачки.
- Выбор накопителя (SSD): База данных создает высокую нагрузку случайного чтения и записи (Random I/O). Рекомендуется использовать надежные SSD на интерфейсе SATA-3 с устойчивым контроллером и памятью с высоким ресурсом перезаписи (например, серии Samsung 850/860/870 EVO или линейки серверного класса Intel DC).
- Режим работы контроллера в BIOS: Проверим, что контроллер SATA на материнской плате переключен в режим AHCI (а не IDE). Это необходимо для активации командной очереди NCQ и автоматической работы команды TRIM в операционной системе Windows.
Шаг 2. Настройка операционной системы
Для выжимания максимальной производительности из процессора и накопителя выполним несколько обязательных системных настроек:
- Схема электропитания: В панели управления Windows перейдем в раздел электропитания и выставим схему «Высокая производительность». Это предотвратит сброс частот процессора в моменты пауз между транзакциями и исключит микрозадержки при резком старте вычислений.
- Исключения антивируса: В антивирусном ПО добавим каталог с базой 1С, каталог временных файлов ОС, а также исполняемые файлы
1cv8.exe и процессы используемого веб-сервера (httpd.exe для Apache) в доверенную зону и исключения сканирования.
Шаг 3. Установка веб-сервера Apache и публикация базы
Выясним правила корректной веб-публикации файловой базы 1С:
- Контроль разрядности: Разрядность платформы 1С:Предприятие (x86 или x64) должна строго совпадать с разрядностью устанавливаемого дистрибутива Apache HTTP Server. Если установлена 32-битная платформа 1С, Apache также обязан быть 32-битным, иначе модуль расширения веб-сервера не инициализируется.
- Публикация: Запустим «1С:Предприятие» от имени администратора, перейдем в меню Администрирование — Публикация на веб-сервере, укажем имя публикации, веб-сервер и путь к физическому каталогу публикации.
- Права доступа: Предоставим учетной записи, под которой запускается служба веб-сервера (по умолчанию
SYSTEM), полные права доступа к папке с файловой базой и ко всем системным временным каталогам.
Шаг 4. Настройка подключения на клиентских рабочих местах
После публикации базы перенастроим запуск на компьютерах бухгалтеров. Вместо указания сетевого пути к общему ресурсу изменим параметры запуска:
- В окне запуска списка баз 1С нажмем «Изменить».
- В качестве типа расположения базы выберем: «На веб-сервере».
- Укажем строку подключения вида
http://имя_сервера/имя_базы.
- В качестве основного режима запуска выберем «Тонкий клиент».
Шаг 5. Оптимизация внутри конфигурации
В конфигурациях на основе «Библиотеки стандартных подсистем» (БСП) в фоновом режиме по умолчанию выполняется множество служебных операций, которые в файловом режиме могут конкурировать с работой пользователей:
- Перейдем в раздел Администрирование — Обслуживание — Регламентные и фоновые задания.
- Отключим или перенесем на нерабочее время (ночь) такие ресурсоемкие процедуры, как автоматическое обновление индекса полнотекстового поиска, загрузка курсов валют и классификаторов.
- При росте объема информации будем помнить об ограничении файловых таблиц в 4 Гб. Начиная с платформы 8.3.8 при необходимости размер страницы внутреннего файла базы данных можно увеличить (до 8, 16, 32 или 64 КБ) при выгрузке и повторной загрузке информационной базы, что отодвигает пределы объема таблиц.
Итог: Переход на публикацию базы через Apache в связке с добавлением оперативной памяти до 8–16 Гб и установкой качественного SSD полностью снимет проблему сетевых зависаний файлового доступа, обеспечит комфортную параллельную работу 5 пользователей и предотвратит риск разрушения базы данных при сбоях сети.