Работа с файловыми базами 1С в многопользовательском режиме часто становится источником головной боли для системных администраторов и пользователей. Типичная ситуация: база, расположенная на SSD-накопителе мощного компьютера, работает мгновенно локально, но стоит подключить к ней пользователей через «расшаренную» сетевую папку, как время ожидания простейших операций вырастает до 10–30 секунд. Проанализируем, почему это происходит, и рассмотрим наиболее эффективные способы устранения этих задержек.
Когда мы открываем базу 1С через общую сетевую папку, используется протокол SMB (Server Message Block). Основная проблема заключается в том, что файловая 1С — это не клиент-серверное приложение в чистом виде, а набор файлов, к которым обращаются тысячи мелких запросов чтения и записи. Разберем основные факторы замедления:
1Cv8.1CD, система кэширует часть данных локально. Как только второй пользователь пытается обратиться к тем же данным, сервер обязан «отозвать» блокировку у первого, дождаться подтверждения и только потом передать данные второму. Это создает те самые гигантские задержки.SMB, обработка данных происходит на стороне клиента. Это значит, что если вам нужно сформировать отчет, клиентское приложение «вытягивает» через сеть огромные куски файла базы данных, чтобы обработать их в своей оперативной памяти. В сети 100 Мбит/с это становится критическим «узким горлышком».Это самый эффективный способ ускорить работу файловой базы без перехода на полноценный SQL-сервер. Проанализируем, почему это помогает. При публикации на веб-сервере (например, Apache), обращения к файлу 1Cv8.1CD происходят локально на том компьютере, где запущен сервер. Пользователь же получает по сети только результат запроса в сжатом виде по протоколу HTTP/HTTPS.
Рассмотрим алгоритм действий для настройки этого решения:
Apache (рекомендуется версия 2.4) или включим стандартный IIS в компонентах Windows.http://имя_сервера/имя_базы.Важный момент: использование веб-сервера полностью снимает проблемы с блокировками SMB и требованиями к пропускной способности сети, так как объем передаваемого трафика сокращается в десятки раз.
Часто тормоза вызваны тем, что база внутри себя выполняет тяжелые операции. Рассмотрим ситуацию с регламентными заданиями. В файловой базе они выполняются в контексте одного из активных пользователей. Если в базе включен ПолнотекстовыйПоискИндексация, то при каждом изменении данных система пытается обновить индекс. В сетевом варианте это вызывает конфликты доступа к файлам индексов.
Проанализируем шаги по оптимизации:
Файл 1Cv8.1CD со временем накапливает внутреннюю фрагментацию. Посмотрим, как привести его в порядок. Обычного копирования недостаточно. Разберем процесс глубокой очистки:
.dt (Конфигуратор — Администрирование — Выгрузить информационную базу)..dt. Это полностью перестроит внутреннюю структуру таблиц и индексов, удалив «дыры» и лишний мусор.chdbfl.exe, которая находится в папке bin установленной платформы 1С, для проверки физической целостности файла.Если по каким-то причинам использование веб-сервера невозможно, нам придется оптимизировать работу самой сети. Рассмотрим технические настройки, которые могут помочь:
IPv6. Попытки разрешения имен сначала через него, а затем по таймауту через IPv4, создают микрозадержки. Отключите IPv6 в свойствах сетевого адаптера на всех машинах.Energy Saving и Green Ethernet..1CD, но и весь путь к сетевой папке, а также процессы 1cv8.exe и 1cv8c.exe.Наиболее надежным и профессиональным решением проблемы тормозов файловой 1С в сети является публикация базы через Apache или IIS. Это переводит взаимодействие с файлом базы на локальный уровень сервера и нивелирует все недостатки протокола SMB. Если же база продолжает лагать даже после публикации, следует обратить внимание на объем журнала регистрации (его стоит сократить или перенести в архив) и количество установленных расширений конфигурации, каждое из которых может добавлять свои задержки при запуске сеанса.
Помните, что для стабильной работы 3–5 пользователей в файловом режиме 100-мегабитная сеть является критически слабой. Переход на гигабитное оборудование (Switch и сетевые карты) в сочетании с веб-сервером даст максимальный прирост скорости, сопоставимый с локальной работой.