Почему тормозит файловая 1С 7.7 по сети при подключении второго пользователя и как это исправить

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

Разберем распространенную проблему, с которой сталкиваются системные администраторы и пользователи платформы «1С:Предприятие 7.7»: при работе одного пользователя файловая база данных (DBF) в общей сетевой папке работает быстро, но стоит подключиться второму участнику, как вся система начинает крайне медленно выполнять любые запросы, отчеркивания и поиск по справочникам.

Выясним причину такого поведения и подробно рассмотрим основные способы устранения сетевых задержек.

Причина падения производительности («проблема второго пользователя»)

Проанализируем механику работы файловой базы 1С 7.7 в сетевой среде Windows. Когда с файлами базы данных работает только один ПК, операционная система использует механизмы агрессивного локального кэширования файлов .dbf и .cdx в оперативную память. Это реализуется с помощью технологии оппортунистических блокировок (OpLocks) сетевого протокола SMB.

Как только к сетевой папке подключается второй сеанс 1С (с другой машины или локально на ПК с базой), Windows фиксирует коллективный доступ и производит сброс кэша (происходит Oplock Break). В результате локальное кэширование на клиентах полностью отключается, и каждый поиск или считывание записей превращается в сотни синхронных сетевых запросов. Это и приводит к падению скорости работы в десятки раз.

Способ 1. Настройка сервера терминалов (RDP)

Разберем наиболее эффективное и рекомендуемое решение для файловых баз 1С 7.7 — перевод пользователей в режим терминального доступа.

  1. Суть метода: Программа «1С:Предприятие» и файлы базы данных размещаются локально на одном мощном компьютере (сервере). Пользователи подключаются к нему по протоколу RDP (Remote Desktop Protocol) и работают прямо на сервере, получая лишь видеопоток рабочего стола.
  2. Преимущества: Все файловые операции чтения и записи DBF-файлов происходят внутри оперативной памяти и дисковой системы одного ПК без передачи файлового трафика по локальной сети. Скорость работы для каждого пользователя становится такой же, как при локальном запуске.
  3. Реализация: На выделенный ПК устанавливается серверная операционная система (Windows Server) с настроенными службами удаленных рабочих столов или специализированное терминальное ПО (например, ViTerminal).

Способ 2. Оптимизация параметров операционной системы и сети

Посмотрим, какие системные настройки помогут ускорить сетевой обмен, если организация терминального сервера временно недоступна.

  1. Отключение оппортунистических блокировок (OpLocks): На ПК, где выложена папка с базой данных, отключим функцию OpLocks в реестре Windows (в ветке LanmanServer\Parameters параметр EnableOplocks со значением 0). На клиентских компьютерах отключим таймауты кэширования метаданных SMB в ветке LanmanWorkstation\Parameters.
  2. Настройка сетевых карт: В свойствах сетевых адаптеров на всех компьютерах отключим функции энергосбережения и аппаратную разгрузку сетевого трафика: Large Send Offload (LSO), Receive Side Scaling (RSS) и Energy Efficient Ethernet.
  3. Вынос каталогов пользователей на локальные диски: В настройках пользователей 1С 7.7 укажем путь к рабочему каталогу пользователя локально на каждом ПК (например, C:\1C_User), а не в сетевой папке. Это снизит нагрузку за счет локального хранения служебных файлов и настроек.
  4. Использование быстрых накопителей (SSD): Установка базы данных на твердотельный накопитель с высокими показателями случайного чтения/записи (IOPS) существенно сглаживает задержки при обработке многочисленных мелких DBF-файлов.
  5. Исключения в антивирусе: Добавим папку с базой данных и файлы с расширениями .dbf, .cdx, .md, .dd, .lck в список исключений сканирования антивирусных программ на всех ПК.

Способ 3. Применение специализированных компонент кэширования (V7DBNet)

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

Компонента V7DBNet (Сервер Вирт) переводит работу 1С 7.7 из режима файловых блокировок в режим транзакций с кэшированием данных. При таком подходе файлы DBF не предоставляются в общий сетевой доступ Windows — с ними работает один процесс-сервер на главной машине, а клиентские приложения обмениваются с ним данными по оптимизированному протоколу. Это полностью устраняет «проблему второго пользователя» в сетевом режиме.

Способ 4. Перевод базы данных на SQL-сервер

Проанализируем способ кардинального решения проблемы путем изменения формата хранения данных.

Платформа 1С 7.7 поддерживает работу с СУБД MS SQL Server. В SQL-режиме выборка и обработка данных выполняются на стороне сервера базы данных, а клиентские станции получают только готовый результат запроса. Для небольших организаций также существуют решения по интеграции 1С 7.7 с бесплатными СУБД (PostgreSQL или SQLite) с помощью внешних библиотек доступа, что исключает сетевые сбои файловой системы DBF.

← На главную