Администрирование · 13 мин
Как ускорить работу файловой базы 1С
Конкретные способы ускорить файловую базу 1С: настройка антивируса, диски, тестирование и исправление, регламентные операции, переход на клиент-сервер.
Файловый вариант работы 1С удобен для небольших компаний: не нужен отдельный сервер, база хранится в одном файле 1Cv8.1CD, развёртывание занимает минуты. Но у этого формата есть архитектурное ограничение — при одновременной работе нескольких пользователей весь файл базы блокируется на время записи, а каждый клиент обращается к файлу по сети напрямую. Поэтому «тормоза» файловой базы почти всегда связаны с тремя причинами: медленный диск или сеть, вмешательство антивируса и разросшийся объём данных.
Прежде чем что-то менять, полезно измерить текущую скорость. Засеките время типовых операций: открытие списка документов, проведение документа, формирование оборотно-сальдовой ведомости. После каждого изменения повторяйте замер — так вы поймёте, какое действие дало эффект, а какое было бесполезным. Без контрольных точек оптимизация превращается в хаотичные эксперименты.
Как понять, что именно замедляет базу
Разные симптомы указывают на разные причины. Если медленно работает один пользователь, а у остальных всё в порядке — проблема в его компьютере или сетевом подключении. Если база тормозит у всех одновременно, особенно при проведении документов — узкое место в дисковой подсистеме компьютера, где лежит файл базы, или в сети. Если база стабильно «тяжелеет» месяц за месяцем — дело в росте объёма данных.
Простой тест: скопируйте файл 1Cv8.1CD на локальный диск одного из компьютеров и откройте базу локально. Если скорость заметно выросла — проблема в сети или в компьютере, который «раздаёт» базу. Если и локально всё медленно — оптимизируйте саму базу и конфигурацию.
Проверьте диск, где лежит 1Cv8.1CD, и загрузку этого компьютера
Проверьте его сеть, антивирус и версию платформы
Проверьте размер 1Cv8.1CD и объём журнала регистрации
Посчитайте, сколько пользователей одновременно проводят документы
Перенесите базу на быстрый диск
Диск — главный фактор скорости файловой базы. 1С при работе постоянно читает и перезаписывает части файла 1Cv8.1CD, и механический жёсткий диск (HDD) становится узким местом уже при двух-трёх активных пользователях. Перенос базы на SSD обычно даёт самый заметный прирост из всех программных мер: открытие списков и проведение документов ускоряются в разы.
Важно, чтобы SSD был установлен на том компьютере, с которого база раздаётся по сети, а не на клиентских машинах. Ускорять диск пользователя имеет смысл только для его локальных операций (запуск платформы, кэш метаданных), но на общую скорость базы это почти не влияет.
Не размещайте файловую базу на сетевых хранилищах NAS начального уровня и в папках, синхронизируемых облачными сервисами (OneDrive, Яндекс.Диск и подобными). Синхронизация постоянно перечитывает изменяющийся файл, что и замедляет работу, и создаёт риск повреждения базы при конфликте версий.
Настройте антивирус и операционную систему
Антивирус, проверяющий каждое обращение к файлу базы, способен замедлить 1С в несколько раз. При этом каждый клиент обращается к файлу многократно в секунду, и каждое обращение проходит проверку. Добавьте каталог с базой и сам файл 1Cv8.1CD в исключения антивируса на всех компьютерах, которые работают с базой, — и на «сервере», где лежит файл, и на клиентских машинах.
Также добавьте в исключения исполняемые файлы платформы (1cv8.exe, 1cv8c.exe) и каталог кэша метаданных. После изменения исключений перезагрузите компьютер и повторите замер скорости — эффект обычно заметен сразу.
На компьютере-хранилище отключите индексацию папки с базой службой Windows Search и проверьте, что диск не заполнен более чем примерно на 80–85%: при нехватке свободного места скорость записи на SSD и HDD заметно падает, а файлу базы периодически требуется место для временных операций.
- 1Откройте настройки антивируса на компьютере, где лежит база
- 2Добавьте в исключения папку с файлом 1Cv8.1CD
- 3Добавьте в исключения процессы 1cv8.exe и 1cv8c.exe
- 4Повторите то же самое на всех клиентских компьютерах
- 5Перезагрузите компьютеры и замерьте скорость типовой операции
Проведите обслуживание базы: тестирование и исправление
Со временем в файле базы накапливаются неиспользуемые области: удалённые объекты физически остаются внутри 1Cv8.1CD, файл разрастается и фрагментируется. Встроенная утилита «Тестирование и исправление» (запускается из конфигуратора в монопольном режиме) умеет сжимать базу — физически удалять неиспользуемое место.
Для регулярного обслуживания достаточно запускать тестирование с включёнными пунктами «Реиндексация таблиц» и «Сжатие таблиц». Реиндексация перестраивает индексы таблиц, что ускоряет поиск и отборы; сжатие уменьшает размер файла. Пункт «Проверка ссылочной целостности» включайте только при подозрении на ошибки — он существенно увеличивает время работы.
Планируйте обслуживание на нерабочее время: на базе в несколько гигабайт процедура может занять от десятков минут до нескольких часов, и всё это время база недоступна пользователям. Перед запуском обязательно сделайте выгрузку в файл .dt — это единственная гарантированная резервная копия, из которой базу можно восстановить целиком.
Сократите объём данных и упростите работу пользователей
Чем больше данных обрабатывает запрос, тем медленнее результат. Несколько организационных мер дают ощутимый эффект без всяких технических изменений. Ограничьте глубину журналов документов: в настройках формы списка установите период «месяц» или «квартал» вместо «все документы». Настройте динамические списки так, чтобы по умолчанию не выводились тысячи строк.
Проверьте журнал регистрации: если в него пишутся все события, он может занимать значительную часть базы. В настройках журнала (конфигуратор → «Администрирование» → «Настройка журнала регистрации») оставьте только ошибки и важные события, а старые записи периодически сокращайте с выгрузкой в файл.
Закрывайте неиспользуемые периоды: свёртка базы (штатная обработка свёртки для типовых конфигураций) переносит остатки на дату и удаляет старые документы. Это радикальная операция — выполняйте её только на копии и только когда старые документы действительно не нужны для оперативной работы. Для отчётности за прошлые периоды оставьте архивную копию базы.
Оптимизируйте сеть и режим работы пользователей
Файловая база чувствительна к качеству сети сильнее, чем кажется. Каждый клиент читает и пишет файл напрямую, поэтому подключение всех рабочих мест должно быть проводным, желательно гигабитным. Работа через Wi-Fi, VPN или медленные коммутаторы — частая скрытая причина «зависаний на ровном месте».
Если часть сотрудников работает удалённо, не давайте им доступ к файловой базе через интернет напрямую — это и медленно, и небезопасно. Правильные варианты: публикация базы на веб-сервере (платформа поддерживает этот режим для файловых баз) или подключение через RDP к компьютеру в офисной сети.
Следите за версией платформы: обновления регулярно содержат оптимизации. Все пользователи должны работать на одной версии платформы — иначе возможны конфликты кэша, которые проявляются как внезапные замедления и ошибки. Кэш метаданных при подозрениях можно очистить, удалив папку кэша в профиле пользователя (платформа пересоздаст её при следующем запуске).
Как выбрать действие
Когда оптимизация не поможет: переход на клиент-сервер
У файлового формата есть жёсткий потолок. Из-за блокировок на уровне файла одновременная запись несколькими пользователями физически не может быть быстрой, а объём базы свыше 10–15 ГБ делает даже одиночную работу тяжёлой. Если вы уже перенесли базу на SSD, настроили антивирус, провели обслуживание, а скорость всё равно не устраивает — это сигнал, что формат исчерпан.
Переход на клиент-серверный вариант (например, на связку 1С:Сервер и PostgreSQL или MS SQL Server) снимает ограничение блокировок: СУБД умеет блокировать отдельные записи, а не весь файл, и обрабатывает запросы на сервере, не гоняя данные по сети. Для баз от 5–10 ГБ и от 10 одновременных пользователей это не «улучшение», а необходимость.
Миграция технически несложна: база выгружается в .dt и загружается в новую серверную базу. Основные затраты — лицензии на сервер 1С и, при необходимости, на СУБД (PostgreSQL бесплатен), а также настройка регулярного резервного копирования уже средствами СУБД.
Сравнение вариантов
Подходит для баз до 5–10 ГБ и небольшого числа пользователей; дёшево, но эффект ограничен архитектурой
Решает проблему удалённого доступа и частично сетевых задержек; не ускоряет саму базу
Снимает ограничения блокировок и объёма; требует лицензий, сервера и администрирования
Как проверить результат оптимизации
После каждого изменения повторяйте контрольные замеры в одинаковых условиях: то же время суток, то же число пользователей, та же операция. Полезные ориентиры: открытие журнала документов за месяц должно занимать секунды, а не десятки секунд; проведение типового документа — не «зависать» на полминуты.
Дополнительно наблюдайте за диском компьютера-хранилища через монитор ресурсов Windows: если во время работы пользователей диск загружен на 100% при малой скорости чтения — он остаётся узким местом. Если диск свободен, а 1С тормозит — причина в блокировках или в самой конфигурации, и дальше помогут только клиент-сервер или доработка кода.
Как проверить результат
Несколько секунд при стандартном отборе
Десятки секунд даже за короткий период
Есть запас, диск не на 100% постоянно
Диск постоянно загружен полностью при низкой скорости
Файл заметно уменьшился
Размер не меняется — сжатие не выполнялось или база не раздута
Примерно одинакова у всех
Сильно отличается — ищите локальную причину у отстающих
Что важно запомнить
Начните с замеров, затем по порядку: SSD под базой, исключения антивируса, проводная сеть, тестирование и исправление со сжатием, сокращение журнала регистрации. Перед любыми операциями с файлом базы делайте выгрузку в .dt. Если база больше 10 ГБ и пользователей больше десяти — переходите на клиент-сервер, файловый формат уже не вытянет нагрузку.
Частые вопросы
Можно ли ускорить файловую базу, просто увеличив оперативную память?
Напрямую — почти нет. Файловая база упирается в диск и сеть, а не в объём ОЗУ. Память помогает косвенно: система кэширует части файла, и при достаточном объёме ОЗУ повторные чтения ускоряются. Но если диск медленный, добавление памяти не даст заметного эффекта — сначала меняйте диск на SSD.
Как часто нужно запускать тестирование и исправление?
Для активно используемой базы разумный график — раз в месяц или раз в квартал, в нерабочее время. Чаще нет смысла: сжатие и реиндексация дают эффект, только когда в базе накопились изменения. Обязательно запускайте процедуру после массовых удалений данных и перед крупными обновлениями конфигурации.
Поможет ли дефрагментация диска с файлом базы?
На HDD — может немного помочь, если файл сильно фрагментирован, но эффект обычно скромный по сравнению со сжатием базы средствами 1С. На SSD дефрагментацию выполнять не нужно: она бесполезна и сокращает ресурс накопителя. Встроенное сжатие таблиц в «Тестировании и исправлении» решает задачу внутренней фрагментации лучше.
Почему база тормозит именно в конце месяца?
Типичная картина: в конце периода все пользователи одновременно вводят и проводят документы, и файловый механизм блокировок становится узким местом — каждая запись блокирует файл для остальных. Плюс запускаются тяжёлые регламентные операции закрытия месяца. Разведите массовый ввод и закрытие по времени, а если это невозможно — рассматривайте клиент-серверный вариант, где блокировки работают на уровне записей.
Безопасно ли чистить кэш 1С на клиентских компьютерах?
Да, если делать это при закрытой 1С. Кэш метаданных хранится в профиле пользователя в папках вида AppData\Roaming\1C\1cv8 и AppData\Local\1C\1cv8 — их содержимое можно удалить, платформа пересоздаст кэш при следующем запуске. Это помогает при странных ошибках и рассинхронизации, но не является универсальным ускорителем: первый запуск после очистки будет даже медленнее обычного.
Влияет ли версия платформы на скорость файловой базы?
Да. Новые релизы платформы регулярно включают оптимизации работы с файловыми базами, поэтому устаревшая версия — частая скрытая причина медленной работы. Обновляйтесь планово, следя за совместимостью с вашей конфигурацией, и убедитесь, что у всех пользователей установлена одна и та же версия платформы.