Администрирование · 11 мин
Как ускорить файловую базу 1С при работе по сети
Практические способы ускорить файловую базу 1С по сети: настройка режима блокировок, оборудование, кэш, регламентные операции и переход на клиент-серверный вариант.
Файловый вариант работы 1С удобен для небольших компаний: не нужен сервер СУБД, база лежит в общей папке, настройка минимальна. Но при работе нескольких пользователей по сети производительность часто падает: документы открываются долго, проведение занимает секунды вместо долей секунды, а одновременная запись вызывает конфликты блокировок. Причина почти всегда в том, что файл базы читается и записывается по сети целиком, и любое узкое место — сеть, диск, антивирус — сразу сказывается на скорости.
Хорошая новость в том, что заметную часть проблем можно устранить настройкой, не покупая новое оборудование и не переходя на клиент-серверный вариант. Ниже разобраны конкретные меры: от проверки сетевого окружения до регламентных операций с базой и режима управляемых блокировок.
Как понять, что база тормозит именно из-за сети
Прежде чем что-то менять, полезно отделить сетевые проблемы от проблем самой конфигурации. Простой тест: скопируйте базу локально на компьютер пользователя и поработайте в ней напрямую. Если локально всё летает, а по сети — нет, узкое место в сетевом окружении: канал, диск сервера, антивирус, протокол доступа.
Ещё один показательный тест — скопировать файл базы (1Cv8.1CD) по сети и замерить скорость. Если копирование большого файла идёт медленнее 30–40 МБ/с, сеть или дисковая подсистема уже сами по себе ограничивают работу. Заодно проверьте, нет ли Wi-Fi в цепочке: беспроводное подключение для файловой базы 1С практически всегда означает задержки и потери пакетов.
Проверьте скорость копирования файла базы, тип подключения (Wi-Fi/кабель), загрузку диска сервера
Выполните тестирование и исправление, проверьте размер базы и журналы регистрации
Проверьте режим блокировок и одновременные регламентные операции
Проверьте антивирусные сканирования, резервное копирование, индексацию Windows
Устраните узкие места в сети и на файловом сервере
Файловая база 1С интенсивно читает и пишет большой файл по протоколу SMB, поэтому требования к сети выше, чем кажется. Минимальный разумный уровень — гигабитная сеть: гигабитные коммутаторы, сетевые карты и целостная кабельная разводка. Сеть 100 Мбит/с для нескольких одновременных пользователей — почти гарантированные тормоза.
Диск, на котором лежит база, должен быть SSD. На обычном HDD случайные операции чтения-записи, которые генерирует 1С, выполняются на порядок медленнее. Также важно, чтобы сервер (или компьютер, выполняющий его роль) не был перегружен другими задачами: роль контроллера домена, тяжёлые приложения и файловая база 1С на одной слабой машине плохо совместимы.
Отдельно проверьте энергосбережение: на сетевых картах и жёстких дисках режимы энергосбережения иногда вызывают микрозадержки и разрывы сессий. Для серверной машины разумно отключить отключение дисков и сетевых адаптеров в схеме электропитания.
- 1Убедитесь, что все звенья сети — гигабитные: карта сервера, коммутатор, карта клиента
- 2Замените Wi-Fi на проводное подключение для рабочих мест с 1С
- 3Перенесите базу на SSD, если она лежит на HDD
- 4Проверьте скорость копирования файла 1Cv8.1CD по сети
- 5Отключите энергосбережение сетевых карт и дисков на сервере
- 6Проверьте загрузку процессора и диска сервера в часы работы пользователей
Настройте антивирус и операционную систему
Антивирус — один из самых частых виновников медленной работы файловой базы. Каждое обращение к файлу 1Cv8.1CD может перехватываться и проверяться, а файл размером в несколько гигабайт сканируется долго. Каталог с базой нужно добавить в исключения антивируса на сервере и, при необходимости, на клиентах. То же касается встроенного Защитника Windows.
Также стоит исключить каталог базы из индексации поиска Windows и убедиться, что на папку не настроено сжатие NTFS и шифрование — оба механизма добавляют накладные расходы на каждую операцию чтения-записи. Теневые копии и резервное копирование планируйте на нерабочие часы, чтобы они не конкурировали с пользователями за диск.
Оптимизируйте саму базу и настройки платформы
Файл базы со временем фрагментируется изнутри: удалённые данные оставляют пустоты, таблицы разрастаются. Регулярное тестирование и исправление с включённым сжатием таблиц (выполняется в режиме конфигуратора при отсутствии пользователей в базе) заметно уменьшает размер файла и ускоряет чтение. Для больших баз это стоит делать по расписанию, например раз в месяц.
Проверьте режим блокировок в свойствах конфигурации. Автоматический режим при нескольких пользователях приводит к избыточным блокировкам и конфликтам при одновременной записи. Перевод конфигурации в управляемый режим блокировок (если она его поддерживает) снижает число конфликтов и повышает параллельность работы. Для типовых конфигураций это обычно уже реализовано, но в свойствах базы режим может быть принудительно выставлен в автоматический — проверьте.
Полезно также контролировать размер базы. Журнал регистрации, версии объектов, вложения и устаревшие данные раздувают файл. Настройте сокращение журнала регистрации (хранить только значимые события или ограничить период), удаляйте старые версии объектов и помеченные объекты штатными обработками удаления.
Организуйте работу пользователей и фоновые задачи
Часть нагрузки создают сами пользователи и регламентные задания. Тяжёлые отчёты за большие периоды, групповые перепроведения, обмены данными — всё это блокирует таблицы и грузит диск. Переносите такие операции на нерабочее время или выделенный сеанс, а пользователей приучайте строить отчёты за ограниченные периоды.
Проверьте, не запущены ли в файловой базе регламентные задания, которые выполняются постоянно и конкурируют с интерактивной работой. В файловом варианте фоновые задания выполняются в отдельном сеансе на одном из компьютеров — убедитесь, что это не самая слабая машина и не тот же диск, что активно используется другими задачами.
Когда файлового режима уже недостаточно
У файлового варианта есть естественный предел. Если в базе одновременно работают более 10–15 пользователей, файл базы превышает 5–10 ГБ или требуется интенсивная параллельная запись, оптимизация даст лишь временный эффект. Архитектурно файловый режим не умеет распределять нагрузку: вся логика выполняется на клиентах, а по сети гоняются большие объёмы данных.
В этом случае правильный путь — переход на клиент-серверный вариант (1С:Предприятие + СУБД, например PostgreSQL или MS SQL Server). Там обработка данных происходит на сервере, по сети передаются только результаты запросов, и нагрузка масштабируется. Промежуточный вариант — публикация файловой базы на веб-сервере: пользователи подключаются через тонкий клиент по HTTP, и обращения к файлу идут локально на сервере, а не по SMB. Это часто даёт заметный прирост без покупки СУБД.
Сравнение вариантов
Подходит до ~10 пользователей и базы умеренного размера. Дёшево, но эффект ограничен архитектурой
Доступ по тонкому клиенту, файл обслуживается локально на сервере. Хороший компромисс без затрат на СУБД, но масштабируемость всё ещё ограничена
Для 10+ активных пользователей и больших баз. Требует СУБД и администрирования, но снимает архитектурный предел производительности
Как проверить результат оптимизации
После каждого изменения измеряйте эффект, а не оценивайте «на ощущениях». Простые контрольные точки: время открытия крупного справочника или журнала документов, время проведения типового документа, время формирования стандартного отчёта. Замерьте эти операции до и после изменений в одно и то же время суток.
Как проверить результат
Стабильно десятки МБ/с без провалов
Скорость скачет или падает до единиц МБ/с
Доли секунды — пара секунд
Секунды ожидания, периодические ошибки блокировок
Список появляется быстро, прокрутка плавная
Долгое формирование списка, подвисания интерфейса
Нет регулярных конфликтов блокировок и обрывов сеансов
Повторяющиеся конфликты блокировок, разрывы соединений
Часто задаваемые вопросы
Можно ли разместить файловую базу 1С на NAS?
Технически возможно, но это рискованный вариант. Многие сетевые хранилища имеют слабый процессор и специфическую реализацию SMB, из-за чего производительность и надёжность ниже, чем у обычного сервера на Windows. Если NAS всё же используется, выбирайте модель с гигабитной сетью и SSD-кэшем и обязательно настройте регулярное резервное копирование.
Ускорит ли работу увеличение оперативной памяти на клиентах?
Да, но в разумных пределах. Для комфортной работы толстого клиента желательно 8 ГБ и больше на рабочем месте. Однако если узкое место — сеть или диск сервера, добавление памяти клиентам эффекта почти не даст.
Помогает ли выгрузка и загрузка базы через dt?
Да, полная выгрузка в dt и загрузка обратно пересоздаёт файл базы и устраняет внутреннюю фрагментацию глубже, чем сжатие. Это длительная операция, требующая монопольного доступа и резервной копии, но для старых разросшихся баз эффект бывает заметным.
Почему база тормозит только у одного пользователя?
Значит, проблема локальная: его сетевое подключение (в том числе Wi-Fi или неисправный кабель), антивирус на его компьютере, слабое железо или повреждённый кэш метаданных. Попробуйте очистить кэш 1С на его машине, удалив базу из списка и добавив заново, либо очистив каталог кэша.
Опасно ли отключать антивирус на папке с базой?
Риск умеренный, если исключён только каталог базы, а остальная система защищена. Файл 1Cv8.1CD — не исполняемый, и типичный вектор заражения через него маловероятен. Полностью отключать антивирус на сервере не следует.
Сколько пользователей максимум выдержит файловая база?
Жёсткого предела нет, но на практике комфортная работа обычно сохраняется до 5–10 активных пользователей. Дальше конфликты блокировок и нагрузка на сеть растут быстрее, чем помогает оптимизация, и стоит планировать переход на веб-сервер или клиент-серверный вариант.
Что важно запомнить
Основные резервы скорости файловой базы 1С по сети: гигабитная проводная сеть, SSD под базой, исключение каталога из антивируса, регулярное сжатие базы и грамотное распределение тяжёлых операций по времени. Если пользователей много и база большая — оптимизация лишь отсрочит переход на веб-сервер или клиент-серверный вариант.