Файловая база 1С тормозит: где теряется скорость и как её вернуть
Содержание
Чтобы ускорить файловую базу
1С 8.3, проверьте четыре вещи по порядку: исключения антивируса для папки с файлом 1Cv8.1CD, способ доступа по сети (общая папка, веб-публикация или удалённый рабочий стол), состояние самой базы (тестирование и сжатие, итоги, размер журнала регистрации) и диск. Чаще всего тормоза файловой 1С сидят не в программе, а в том, как к файлу базы добираются клиенты.
Файловый режим работы 1С:Предприятие устроен просто: вся база — один файл, и каждый клиент читает и пишет его сам, через файловую систему. Отсюда и главные правила оптимизации: меньше посредников между клиентом и файлом, быстрый диск, никто лишний не трогает файл при каждом обращении.
С чего начать: замер скорости файловой базы до любых настроек
Без замера вы не поймёте, что помогло. Выберите 2-3 типовых операции и засеките время:
- 🕒 запуск базы до появления начальной страницы;
- 🕒 проведение «тяжёлого» документа (реализация на 30-50 строк, начисление зарплаты);
- 🕒 формирование отчёта за квартал (оборотно-сальдовая ведомость, анализ субконто).
Повторите каждую операцию 2-3 раза: первый запуск всегда медленнее из-за кэша. Запишите цифры, после каждой правки сравнивайте.
Как понять, где узкое место
Простой тест отвечает на главный вопрос — сеть это или сама база:
- Выгоните пользователей и скопируйте папку базы на локальный SSD своего компьютера.
- Подключите копию в окне запуска как новую базу.
- Повторите те же замеры.
Если локальная копия работает в 3-5 раз быстрее — проблема в сети, общей папке или антивирусе на сервере. Если так же медленно — смотрите на состояние базы, конфигурацию и процессор.
Во время медленной операции откройте resmon (Монитор ресурсов Windows). На вкладке «Диск» видно, кто читает 1Cv8.1CD и какая очередь к диску. Если рядом с процессом 1cv8c.exe или 1cv8.exe активно читает файл базы антивирус — причина найдена.
Для доработанных конфигураций поможет Отладка → Замер производительности в Конфигураторе: запустите отладку, включите замер, выполните медленное действие. Отчёт покажет строки кода и запросы, на которые ушло больше всего времени.
Сеть и размещение файла базы: где лежит 1Cv8.1CD
Работа файловой базы по сети — главный источник тормозов. Каждый клиент сам блокирует и читает страницы файла через SMB. Чем больше пользователей и чем хуже сеть, тем дольше ожидания.
Варианты доступа и их скорость
| Способ | Когда подходит | Скорость при 5+ пользователях |
|---|---|---|
| Общая папка (SMB) | 1-3 пользователя в локальной сети | падает заметно |
| Веб-публикация на Apache или IIS | 3-15 пользователей, удалённые офисы | заметно выше, чем у SMB |
| Удалённый рабочий стол (RDP) | любое число пользователей на одном сервере | база читается локально, быстро |
| Локальная база на одном компьютере | один пользователь | максимальная |
Веб-публикация файловой базы
Это главный приём практиков. Файл базы читает только процесс веб-сервера, который стоит рядом с файлом. Клиенты общаются с ним по HTTP и не тянут страницы файла по сети. Блокировки файла через SMB исчезают.
Что нужно:
- Установить на компьютер с базой веб-сервер (Apache 2.4 или IIS) и модули расширения веб-сервера из дистрибутива платформы.
- Опубликовать базу из Конфигуратора:
Администрирование → Публикация на веб-сервере. Конфигуратор для этого запускают от имени администратора Windows. - В окне запуска у пользователей добавить базу по адресу вида
http://server/buh.
Учётной записи, от которой работает веб-сервер, нужны права на чтение и запись в папку с базой. Без них публикация откроется, но база выдаст ошибку доступа к файлу.
Если остаётесь на общей папке
- 📁 Храните базу на локальном диске файлового сервера, а не на NAS с медленными дисками или на внешнем USB.
- 🌐 Проверьте версию протокола SMB. В PowerShell на клиенте выполните
Get-SmbConnection: в колонкеDialectдолжно быть 2.x или 3.x. SMB1 медленный и небезопасный, его отключают. - 🔌 Подключайте рабочие места кабелем, 1 Гбит/с. По Wi-Fi файловая 1С работает плохо и чаще повреждается при обрывах.
- 📍 Путь к базе в окне запуска указывайте одинаково у всех: либо UNC-путь
\\server\bases\buh, либо одна и та же сетевая буква диска.
Антивирус и исключения для файловой 1С
Антивирус проверяет файл при каждом чтении и записи. Для 1Cv8.1CD размером в несколько гигабайт это превращается в постоянные задержки. Исключения настраивают и на рабочих местах, и на сервере, где лежит база.
Что добавить в исключения:
- 📂 папку с базой целиком (там
1Cv8.1CD, журнал регистрации1Cv8Logи служебные файлы); - 📂 папки кэша пользователя:
%APPDATA%\1C\1cv8и%LOCALAPPDATA%\1C\1cv8; - ⚙️ процессы платформы
1cv8.exeи1cv8c.exeиз папкиbinустановленной версии; - 🌐 при веб-публикации — процесс веб-сервера (
httpd.exeдля Apache илиw3wp.exeдля IIS).
Для встроенного Защитника Windows это делается командами PowerShell от имени администратора:
Add-MpPreference -ExclusionPath "D:\Bases"
Add-MpPreference -ExclusionPath "$env:APPDATA\1C\1cv8"
Add-MpPreference -ExclusionPath "$env:LOCALAPPDATA\1C\1cv8"
Add-MpPreference -ExclusionProcess "1cv8.exe"
Add-MpPreference -ExclusionProcess "1cv8c.exe"
Путь D:\Bases замените на свою папку. В сторонних антивирусах исключения задают в настройках проверки в реальном времени.
Исключение снимает защиту только с этих папок. Не кладите в папку базы скачанные файлы, обработки из почты и прочее, что стоит проверять.
Обслуживание базы: тестирование, сжатие, итоги и журнал
Файл базы со временем растёт и фрагментируется, итоги регистров накапливаются, журнал регистрации разрастается до гигабайтов. Регулярное обслуживание возвращает заметную часть скорости.
Все операции ниже выполняйте только после резервной копии базы. Большинство из них требуют, чтобы в базе никто не работал: предупредите пользователей, они будут отключены.
Тестирование и исправление со сжатием
В Конфигураторе откройте Администрирование → Тестирование и исправление. Для ускорения важны флажки:
- Реиндексация таблиц информационной базы — перестраивает индексы;
- Пересчёт итогов — пересобирает итоги регистров;
- Сжатие таблиц информационной базы — убирает пустые страницы, файл становится меньше.
На базе 5-10 ГБ процедура идёт от 20 минут до нескольких часов, поэтому запускайте её вечером или в выходные.
Для проверки физической целостности файла есть утилита chdbfl.exe в папке bin установленной платформы. Её запускают при закрытой базе, когда база выдаёт ошибки чтения или после аварийного выключения.
Выгрузка и загрузка через .dt
Второй способ «пересобрать» файл заново: Администрирование → Выгрузить информационную базу в Конфигураторе, затем загрузить этот .dt в новую пустую файловую базу. Новый файл получается плотным, без фрагментации. Старую базу не удаляйте, пока не проверите новую.
Итоги регистров
Итоги хранятся по периодам. Если период рассчитанных итогов давно не сдвигали, отчёты и проведение работают медленнее. В пользовательском режиме откройте Все функции → Стандартные → Управление итогами и установите период рассчитанных итогов на начало текущего месяца или предыдущего закрытого периода.
Если пункта «Все функции» нет, включите его: меню с шестерёнкой → Параметры → флажок «Отображать команду Все функции».
Журнал регистрации
Журнал лежит в папке 1Cv8Log рядом с файлом базы. Когда он разрастается до нескольких гигабайт, падает скорость записи и открытия журнала.
В Конфигураторе Администрирование → Настройка журнала регистрации:
- Выберите уровень «Регистрировать ошибки» или «Регистрировать ошибки и предупреждения» вместо всех событий, если подробная история не нужна.
- Кнопкой «Сократить» удалите записи старше нужной даты, при желании сохранив их в файл.
Кэш пользователя
Испорченный кэш даёт долгий запуск и странные тормоза у одного пользователя. Добавьте параметр /ClearCache в строку дополнительных параметров запуска базы (окно запуска → «Изменить» → последняя страница). Запустите базу один раз и уберите параметр.
Радикальный вариант — закрыть 1С у этого пользователя и удалить подпапки с длинными именами из %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Платформа создаст их заново, первый запуск будет дольше обычного.
Фоновые задания, которые съедают скорость файловой базы
В файловом режиме регламентные задания выполняет один из запущенных клиентов. Пока идёт обновление индекса полнотекстового поиска, загрузка курсов валют или обмен, у этого пользователя всё работает медленнее, а остальные ждут блокировок.
Что проверить:
- 🔎 Полнотекстовый поиск. Если поиском по всем данным никто не пользуется, отключите обновление индекса. В типовых конфигурациях на БСП настройка находится в
Администрирование → Общие настройки. - 🔁 Обмены и синхронизация. Расписание обмена раз в 5 минут для файловой базы избыточно. Раз в 30-60 минут или вручную — достаточно для большинства бухгалтерий.
- 📥 Загрузка классификаторов, курсов, новостей. Ставьте на время, когда в базе мало работы, или запускайте вручную.
Список заданий и их расписание смотрите в Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания.
Конфигурация и запросы: что ускоряет, а что нет
Типовые конфигурации (Бухгалтерия, ЗУП, УТ) в коде менять не стоит: правки усложнят обновление. Для них главное — актуальный релиз, потому что фирма 1С регулярно оптимизирует медленные места. Обновляйте и платформу до номера не ниже рекомендованного в описании релиза конфигурации.
Если в базе есть доработки или самописная конфигурация, ищите в замере производительности типичные проблемы:
- 🐢 Запрос в цикле. Обращение к базе на каждой строке табличной части вместо одного запроса по всем строкам. Это самая частая причина медленного проведения в доработанных базах.
- 🐢 Точечное обращение через ссылку. Конструкция вида
Документ.Контрагент.ОсновнойДоговор.Валютав цикле — каждое обращение читает объект из базы. - 🐢 Виртуальные таблицы без параметров. Отбор по периоду и измерениям задавайте в параметрах виртуальной таблицы (
Остатки(&Дата, Склад = &Склад)), а не в условииГДЕпосле неё. - 🐢 Отбор по неиндексированному реквизиту. Если отбор по реквизиту справочника или документа нужен постоянно, в свойствах реквизита ставят «Индексировать». Это меняет структуру базы и требует обновления конфигурации базы данных.
Обработки и внешние отчёты от сторонних разработчиков тоже прогоняйте через замер: нередко один «удобный» отчёт грузит базу сильнее, чем вся бухгалтерия.
Железо и рабочее место для быстрой файловой 1С
Файловая база очень чувствительна к диску и частоте процессора. Многоядерность ей почти не помогает: одна операция выполняется в одном потоке.
| Компонент | Что важно | Ориентир |
|---|---|---|
| Диск с базой | время доступа, а не объём | SSD, лучше NVMe; HDD — главный тормоз |
| Процессор | частота одного ядра | чем выше частота, тем быстрее проведение |
| Оперативная память | хватает ли под ОС, 1С и браузер | 8 ГБ на рабочее место, 16 ГБ комфортно |
| Сеть | скорость и стабильность | кабель 1 Гбит/с, без Wi-Fi и VPN поверх SMB |
Ещё несколько настроек, которые дают прирост без покупок:
- ⚡ Схема электропитания Windows «Высокая производительность» на компьютере с базой: на ноутбуках и офисных ПК процессор в режиме экономии заметно снижает частоту.
- 💾 Свободное место на диске с базой — не меньше размера самой базы. Тестирование со сжатием и загрузка
.dtтребуют места под временные данные. - 🧩 64-разрядный клиент платформы на 64-разрядной Windows: он свободнее работает с памятью на больших отчётах.
- 🧹 Не держите на том же диске активную синхронизацию облака (Яндекс Диск, OneDrive): она блокирует и копирует файл базы на лету.
Никогда не помещайте рабочую базу в папку, которую синхронизирует облачный клиент. Кроме тормозов, это частая причина повреждения 1Cv8.1CD.
Когда ускорять файловый режим бесполезно
У файлового варианта есть потолок. Если после всех шагов база всё равно медленная, скорее всего, вы упёрлись в него.
Признаки того, что пора переходить на клиент-серверный вариант:
- 👥 одновременно работают больше 10-15 человек, и тормоза растут вместе с числом пользователей;
- 📦 файл базы перевалил за 10-15 ГБ, а сжатие почти не уменьшает его;
- 🔒 пользователи регулярно видят ошибки блокировки при одновременном проведении документов;
- 🌍 в базу ходят из нескольких офисов.
Клиент-серверный вариант требует сервера 1С и СУБД (PostgreSQL или MS SQL), а также серверной лицензии. Это затраты, но и выигрыш: блокировки на уровне записей, а не всей таблицы, и стабильная работа под нагрузкой. Промежуточный шаг, который часто решает задачу без покупки сервера 1С, — веб-публикация или терминальный доступ из раздела про сеть.