Как улучшить работу 1С при использовании большого количества файловых баз по сети

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

Работа с большим количеством файловых баз 1С (в нашем случае — 80 баз ЗиКГУ и БГУ) через сетевую «шару» (протокол SMB) часто становится источником серьезных проблем с производительностью. Несмотря на наличие мощного сервера и быстрой сети 1 Гбит, пользователи сталкиваются с «тормозами» при открытии форм, проведении документов и формировании отчетов. Разберем детально, почему текущая схема работы неэффективна и какие архитектурные изменения помогут радикально ускорить систему без значительных финансовых вложений.

Анализ проблемы: почему сетевая шара — это плохо

Проанализируем текущую ситуацию. Когда база 1С лежит в общей папке, а пользователь подключается через «Толстый клиент», вся вычислительная нагрузка ложится на компьютер пользователя. Сервер в данном случае выступает лишь в роли «умного жесткого диска». Рассмотрим основные негативные факторы:

  1. Протокол SMB и блокировки: При работе в файловом режиме 1С постоянно создает и удаляет временные файлы блокировок (*.lck). Протокол Windows SMB не рассчитан на такую интенсивную работу с тысячами мелких файлов. Как только к одной шаре подключается более одного пользователя, механизмы кэширования Windows сбрасываются, чтобы гарантировать целостность данных, что приводит к лавинообразному росту сетевых задержек.
  2. Объем передаваемых данных: Для выполнения простого запроса (например, поиск документа) «Толстый клиент» вынужден выкачивать из сети значительные фрагменты файла 1Cv8.1CD, обрабатывать их локально и записывать обратно.
  3. Простой ресурсов сервера: В вашей конфигурации Xeon E2236 и 90 ГБ оперативной памяти фактически простаивают, так как они не участвуют в обработке логики 1С, а лишь отдают файлы по сети.

Решение №1: Переход на терминальный сервер (RDP / RemoteApp)

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

Разберем преимущества этого подхода:

Для реализации этого метода необходимо настроить роль Remote Desktop Services на сервере. Однако стоит помнить о лицензировании терминальных сессий (RDS CAL), что может потребовать дополнительных затрат.

Решение №2: Публикация баз через веб-сервер (IIS)

Если бюджет на лицензии RDS ограничен, рассмотрим вариант использования веб-сервера Internet Information Services (IIS). Это позволит перевести пользователей на «Тонкий клиент».

Проанализируем критически важный нюанс: при использовании веб-сервера для файловых баз часто возникает проблема однопоточности. Если все 80 баз опубликовать «как есть», они могут мешать друг другу. Чтобы избежать этого, выполним следующие шаги:

Настройка пулов приложений в IIS

Для обеспечения максимальной производительности мы должны разнести базы по разным пулам приложений. Рассмотрим, как это сделать:

  1. Откроем диспетчер IIS.
  2. Для каждой базы (или группы из 5–10 баз) создадим отдельный Application Pool.
  3. В настройках пула укажем использование 64-битной архитектуры.
  4. При публикации базы через конфигуратор (или через webinst) выберем соответствующий пул.

Это позволит серверу запускать для каждой группы баз отдельный процесс w3wp.exe. Таким образом, работа пользователей в одной базе не будет блокировать работу других, а нагрузка равномерно распределится по всем 12 потокам вашего процессора Xeon.

Решение №3: Клиент-серверный вариант (PostgreSQL)

Вопреки мнению, что для 1–2 пользователей SQL не нужен, в вашем случае (80 баз) переход на клиент-сервер может значительно упростить администрирование и повысить надежность. Вы можете использовать бесплатную СУБД PostgreSQL (сборка от 1С).

Почему это стоит рассмотреть:

Для этого решения потребуется покупка лицензии на Сервер 1С:Предприятия 8. Лицензия «Мини-сервер» (до 5 подключений) в вашем случае не подойдет, так как суммарное количество пользователей (1-2 на базу при 80 базах) превышает лимит.

Оптимизация дисковой подсистемы

Независимо от выбранного способа, проанализируем настройки вашего RAID 1 на SSD. Для работы с базами данных 1С рекомендуем выполнить следующие настройки:

Автоматизация обслуживания: 1С:Обновлятор

Работать вручную с 80 базами — это путь к ошибкам. Для упрощения жизни системного администратора настоятельно рекомендуем использовать специализированные утилиты, такие как «1С:Обновлятор». Он позволяет:

  1. Автоматически публиковать все 80 баз на IIS одной кнопкой.
  2. Массово обновлять конфигурации во внерабочее время.
  3. Создавать резервные копии перед каждым обновлением.
  4. Запускать регламентные операции (тестирование и исправление) по расписанию для всех баз сразу.

Итоги и рекомендации

Подведем итог нашему анализу. Если вы хотите получить максимальный прирост скорости «здесь и сейчас» без изменения архитектуры конфигураций:

  1. Переведите пользователей в режим RDP (RemoteApp). Это уберет сетевые задержки SMB и заставит работать ваш Xeon на полную мощность.
  2. Если покупка лицензий RDS невозможна — используйте веб-публикацию (IIS) с обязательным разделением по пулам приложений.
  3. Обязательно проверьте настройки кэширования и размер кластера на SSD.

Эти шаги позволят превратить ваш сервер из «файлопомойки» в полноценную вычислительную платформу, обеспечив комфортную работу пользователям БГУ и ЗиКГУ.

← На главную