Что делать, если файловая база 1С тормозит при работе через сетевую папку?

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

Медленная работа файловых баз 1С, доступ к которым осуществляется по сети через общую папку («шару»), — одна из самых распространенных проблем. Особенно остро она проявляется при большом количестве баз и одновременной работе нескольких пользователей, даже если каждый работает в своей базе. Проанализируем ситуацию и разберем основные способы ускорения работы, от простых до кардинальных.

Основная причина медленной работы в том, что при файловом доступе по сети происходит интенсивный обмен данными между клиентским компьютером и сервером. Клиентское приложение 1С постоянно читает и пишет данные в файл базы данных (1Cv8.1CD), что создает огромную нагрузку на сеть и дисковую подсистему сервера. Давайте разберемся, как можно решить эту проблему.

Решение 1: Публикация файловых баз на веб-сервере (IIS или Apache)

Этот метод часто называют «клиент-сервером для бедных», и он представляет собой отличный компромисс между производительностью и затратами. Суть в том, что база остается файловой, но доступ к ней осуществляется не напрямую по сети, а через веб-сервер, установленный на том же компьютере, где лежат файлы баз.

Как это работает?

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

Основные преимущества:

На что обратить внимание:

При таком подходе каждый пользовательский сеанс создает на сервере отдельный процесс rphost, который потребляет оперативную память. Для большого количества баз и сеансов (как в рассматриваемом случае — 120 баз) необходимо иметь достаточный объем RAM на сервере. Рекомендуется внимательно следить за потреблением памяти и при необходимости увеличить ее объем.

Решение 2: Переход на клиент-серверную архитектуру

Это наиболее производительное, масштабируемое и надежное решение, рекомендованное фирмой «1С» для многопользовательской работы. Оно подразумевает покупку лицензии на сервер 1С:Предприятие и использование полноценной системы управления базами данных (СУБД), например, MS SQL Server, PostgreSQL или Oracle.

Ключевые преимущества перед файловым режимом (включая работу через веб-сервер):

  1. Эффективное управление блокировками. В файловом режиме часто возникают конфликты блокировок на уровне таблиц. Сервер 1С вместе с СУБД управляет блокировками на уровне записей, что позволяет множеству пользователей одновременно и без длительных ожиданий работать с одними и теми же данными.
  2. Оптимизация использования оперативной памяти. Это критически важный момент. В отличие от публикации файловых баз на веб-сервере, где на каждый сеанс загружается своя копия конфигурации, сервер 1С держит в памяти только одну копию конфигурации для всех пользователей, работающих с одной и той же базой. Это многократно экономит RAM, особенно при большом количестве пользователей и баз с одинаковыми конфигурациями.
  3. Централизованное выполнение регламентных заданий. В файловом режиме фоновые и регламентные задания (обновление классификаторов, расчеты, закрытие месяца и т.д.) запускаются на компьютере первого вошедшего пользователя, что вызывает сильные «зависания» и тормоза при старте. В клиент-серверном варианте все эти задачи выполняются централизованно на сервере по заданному расписанию, независимо от работы пользователей. Их можно распределить на ночное время, чтобы не мешать дневной работе.
  4. Надежность и масштабируемость. Клиент-серверная архитектура гораздо лучше защищена от сбоев и повреждений данных, а также позволяет комфортно работать сотням пользователей.

Основным недостатком этого варианта являются дополнительные затраты на лицензию сервера 1С и, возможно, СУБД.

Решение 3: Оптимизация работы в текущем файловом режиме

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

Аппаратная и сетевая оптимизация

Настройка и обслуживание баз

Управление регламентными заданиями

Это одна из главных причин «тормозов» в файловом режиме. Типовые конфигурации содержат десятки фоновых заданий, которые стартуют при входе пользователя.

Что можно сделать:

  1. Отключите ненужное. Зайдите в раздел Администрирование – Обслуживание – Регламентные операции – Регламентные и фоновые задания. Проанализируйте список и отключите все задания, которые не используются: обновление новостей 1С, отправка статистики, полнотекстовый поиск (если им не пользуются) и т.д.
  2. Настройте запуск по расписанию через планировщик Windows. Это сложный, но действенный обходной путь. Можно создать в Планировщике задач Windows (Task Scheduler) задание, которое будет ночью запускать 1С для каждой базы в пакетном режиме для выполнения регламентных операций.

    Для этого используется командная строка вида:

    "C:\Program Files\1cv8\8.3.XX.YYYY\bin\1cv8.exe" ENTERPRISE /F"\\server\share\base_folder" /N"Admin" /P"password" /C "DoScheduledJobs"

    Однако, как справедливо отмечается, для 120 баз это будет очень трудоемко в настройке и поддержке. Кроме того, в файловом режиме регламентные задания выполняются однопоточно, и нужно аккуратно планировать время их выполнения, чтобы они не пересекались и не вызывали конфликтов блокировок.

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

← На главную