Проблема, когда 1С 7.7 "летает" в монопольном режиме, но начинает катастрофически тормозить (проведение документа увеличивается с 1 секунды до нескольких минут) при появлении второго пользователя, является классической для файловых баз. Разберем детально, почему это происходит и какие шаги необходимо предпринять для восстановления работоспособности системы.
Основная причина падения скорости кроется не в самой 1С, а в том, как операционные системы семейства Windows работают с файлами по сети. Проанализируем ситуацию: когда в базе работает только один пользователь, Windows включает механизм Opportunistic Locking (Oplocks). Это позволяет клиентскому компьютеру агрессивно кэшировать данные .dbf и .cdx файлов локально. В этот момент скорость работы ограничена только мощностью локального процессора и диска.
Как только в базу заходит второй пользователь, сервер понимает, что файл стал разделяемым. Чтобы избежать повреждения данных, Windows мгновенно отзывает (Break) оппортунистическую блокировку. С этого момента кэширование отключается, и каждая операция чтения или записи должна быть подтверждена сервером по сети. Учитывая, что 1С 7.7 при проведении документа совершает тысячи мелких транзакций, суммарная задержка сети (latency) превращает секунды в минуты.
Рассмотрим наиболее эффективный и стабильный способ решения проблемы. Суть заключается в том, чтобы перенести исполняемые файлы 1С и саму базу данных на один сервер (терминальный сервер). Пользователи подключаются к серверу по протоколу Remote Desktop Protocol (RDP).
Почему это работает:
Если внедрение терминального сервера по каким-то причинам невозможно, разберем альтернативный вариант — использование внешней компоненты v7dbnet. Это расширение меняет логику работы движка 1С с базой данных.
Проанализируем возможности v7dbnet:
.cdx на быстрые носители или RAM-диски.Как отмечают специалисты, при правильной настройке v7dbnet скорость работы по сети становится сопоставимой с локальной работой.
Если вы вынуждены работать через сетевую шару, проанализируем настройки реестра Windows, которые могут облегчить ситуацию. На современных ОС (Windows 10, Server 2016/2019) протоколы SMB 2.0 и 3.0 могут конфликтовать со старыми методами доступа 1С 7.7.
Попробуем выполнить следующие настройки на стороне сервера и клиентских машин (через редактор реестра regedit):
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters:
DirectoryCacheLifetime = 0
FileNotFoundCacheLifetime = 0
FileInfoCacheLifetime = 0
Это заставит систему быстрее обновлять информацию о состоянии файлов базы, что критично для корректной работы индексов 1С.
Часто причиной тормозов становятся функции "разгрузки" процессора на сетевых картах. Разберем, что нужно отключить в свойствах драйвера сетевого адаптера на сервере и клиентах:
Эти функции оптимизированы для передачи больших потоков данных (например, видео), но создают микро-задержки при передаче тысяч мелких пакетов, характерных для 1С 7.7. Отключение этих опций снижает latency сети.
Важный момент по антивирусам: Обязательно добавьте расширения *.dbf, *.cdx, *.md, *.usr в исключения сканирования "на лету". При каждом обращении 1С к файлу антивирус пытается его проверить, что в многопользовательском режиме приводит к очереди запросов и "мертвым" зависаниям.
Проанализируем состояние самой информационной базы. В 1С 7.7 существует ограничение на размер файла в 2 ГБ. Однако тормоза начинаются гораздо раньше — при достижении файлом 1SJOURN.DBF или 1SENTRY.DBF размера в 1 ГБ.
Выполним следующие регламентные действия:
*.cdx и запуск 1С в монопольном режиме для их пересоздания. "Раздутые" индексы — первая причина замедления поиска по базе.Если количество активных пользователей превышает 5-7 человек, а объем документов значителен, файловый режим исчерпал свой ресурс. Рассмотрим вариант перехода на 1С 7.7 SQL. Несмотря на то, что SQL-версия сама по себе может работать медленнее на простых операциях из-за накладных расходов СУБД, она обеспечивает стабильную скорость, которая не падает при увеличении числа пользователей. В SQL-варианте блокировки происходят на уровне записей, а не файлов, что кардинально меняет ситуацию с очередями при проведении документов.