Почему 1С тормозит в конце месяца и что делать: разбор причин и план на неделю до закрытия
1С · 01.03.2026 · обновлено 13.10.2026 · 11 мин чтения · Команда НПП РЕКОРД
Весь месяц 1С работает нормально, а в закрытие периода встаёт колом: ошибки блокировок, отчёты по 20 минут, бухгалтерия сидит до ночи. Разбираем, что на самом деле происходит в эти дни, какие причины чинятся без покупки нового сервера и как подготовиться к закрытию за неделю.
Коротко. В конце месяца 1С тормозит не из-за «магии дат»: в эти дни совпадают самые тяжёлые операции — закрытие периода, перепроведение документов задним числом, тяжёлые отчёты и фоновые обмены. Главный виновник обычно блокировки, а не слабый сервер. Большинство причин чинится без покупки железа: обслуживание итогов регистров, регламент статистики и индексов СУБД, предел памяти для MS SQL, перенос фоновых задач на ночь и «тихое окно» на время закрытия. Узкое место ищут замерами APDEX и технологическим журналом, а не на глаз.
Весь месяц всё работает нормально, а в последние дни месяца и первые дни следующего 1С встаёт колом: документы проводятся минутами, отчёт формируется «пока сходишь за кофе», а то и падает с ошибкой блокировки. Бухгалтерия остаётся до ночи, сроки отчётности горят. Причина не в «магии дат» и не обязательно в слабом сервере. В конце месяца на систему одновременно падает несколько тяжёлых нагрузок, и все узкие места, которые в обычные дни незаметны, проявляются разом. Хорошая новость: большая часть из них чинится настройкой, а не покупкой нового железа.
В закрытие периода нагрузка, размазанная по месяцу, сжимается в два-три дня
Что на самом деле происходит в конце месяца
В обычный день пользователи работают вразнобой: кто-то вводит документ, кто-то смотрит остаток. В закрытие месяца всё совпадает по времени, и к обычной работе добавляются самые тяжёлые операции, которые есть в 1С:
- Регламентные операции закрытия: расчёт себестоимости, закрытие затратных счетов, переоценка валюты, начисление амортизации. Это одни из самых тяжёлых операций в учётных конфигурациях: они читают и пересчитывают данные за весь месяц.
- Массовое перепроведение документов «задним числом»: нашли ошибку в поступлении — и перепроводят цепочку документов, от которых зависят остатки и себестоимость.
- Тяжёлые отчёты: оборотно-сальдовые ведомости за год, анализ продаж без отборов, сверки — их формируют все и одновременно.
- Фоновые задачи, которые никто не переносил: обмен с сайтом, интернет-магазином или филиалами, полнотекстовый поиск, резервное копирование посреди рабочего дня.
По отдельности система справляется с каждой из этих нагрузок. Вместе они упираются в одно и то же место, и чаще всего это не процессор, а блокировки.
Главный виновник: блокировки, а не «слабый сервер»
Блокировка — это механизм, который не даёт двум пользователям одновременно изменить одни и те же данные. Пока идёт расчёт себестоимости, он «держит» нужные ему записи, и все, кому эти записи тоже нужны, стоят в очереди. Если ожидание длится слишком долго, 1С выдаёт ошибку «Превышено максимальное время ожидания предоставления блокировки» или «Конфликт блокировок при выполнении транзакции». Пользователь видит не ошибку, а «1С зависла», и нажимает кнопку ещё раз, добавляя в очередь новую операцию.
Особенно сильно это бьёт по старым и сильно доработанным конфигурациям, которые работают в автоматическом режиме блокировок. В этом режиме система блокирует данные крупными кусками, иногда целыми таблицами, хотя на деле нужна одна строка. Современные типовые конфигурации используют управляемый режим, где блокировка точечная, но доработки, написанные без учёта этого, могут вернуть проблему.
Важно. Самый частый сценарий «1С встала»: бухгалтер запускает закрытие месяца, а менеджеры в это же время перепроводят документы задним числом. Две тяжёлые операции захватывают одни и те же данные, и вся база ждёт. Договоритесь о «тихом окне»: пока идёт закрытие, документы за закрываемый период никто не трогает.
| Что вы видите | Вероятная причина | Что сделать |
|---|---|---|
| Ошибка «Превышено время ожидания блокировки» | Две тяжёлые операции захватывают одни и те же данные | Развести операции по времени, проверить режим блокировок и доработки |
| Тормозят все, даже простые справочники | Перегружены диски или не хватает памяти серверу | Замерить нагрузку на диски и память именно в пик |
| Тормозит один отчёт, остальное нормально | Отчёт строится без отборов или неоптимальным запросом | Добавить отборы, переписать запрос, сформировать заранее |
| С каждым месяцем остатки считаются всё дольше | Не обслуживаются итоги регистров | Раз в месяц устанавливать период рассчитанных итогов |
| Медленно стало «вдруг», без изменений в базе | Устарела статистика СУБД, план запроса стал плохим | Настроить регламентное обновление статистики |
| Тормозит в определённое время дня | В это время идут обмен, бэкап или регламентное задание | Перенести фоновые задачи на ночь |
Пять причин, которые чинятся без покупки нового сервера
1. Итоги регистров. Чтобы быстро показать остаток на дату, 1С хранит заранее посчитанные итоги. Если их не обслуживать, при каждом запросе остатков система досчитывает движения за длинный период, и с каждым месяцем это всё медленнее. В платформе для этого есть штатная команда «Управление итогами» → «Установить период рассчитанных итогов». Её разумно выполнять в начале каждого месяца, после того как прошлый период окончательно закрыт.
2. Статистика и индексы СУБД. В клиент-серверной 1С данные хранит СУБД (система управления базами данных: MS SQL Server или PostgreSQL). Чтобы выбрать быстрый способ выполнить запрос, она опирается на статистику о данных. В конце месяца данных за короткое время становится много, статистика устаревает, и СУБД начинает выбирать медленные планы. Лечится регламентом: обновление статистики ежедневно, перестроение индексов еженедельно, по ночам.
3. Память, которую делят сервер 1С и СУБД. Если сервер 1С и MS SQL стоят на одной машине, а для SQL не задан предел памяти (параметр max server memory), СУБД со временем забирает почти всю память и вытесняет рабочие процессы 1С. Предел задаётся одной настройкой и часто сразу снимает «необъяснимые» тормоза в пик.
4. Фоновые задачи в рабочее время. Обмен с сайтом каждые пять минут, полнотекстовый поиск, резервное копирование в обед. В обычный день незаметно, в закрытие добавляет нагрузку в самый неудачный момент. Регламентные задания и обмены на время закрытия переносят на ночь или делают реже.
5. Тяжёлые отчёты без отборов. Оборотно-сальдовая ведомость за год по всем счетам и всем аналитикам, которую формируют пять человек одновременно, — нагрузка, сравнимая с самим закрытием. Помогают отборы по периоду и организации, сохранённые варианты отчётов и формирование тяжёлых отчётов заранее, вне пика.
Замер под пиковой нагрузкой показывает настоящее узкое место, а не то, что кажется
Когда виновато всё-таки железо
Если настройка сделана, а тормоза остались, смотрим на оборудование, но тоже прицельно, а не «купим сервер помощнее»:
- Диски. Базы 1С и СУБД должны лежать на SSD/NVMe. Обычные жёсткие диски в пик становятся узким местом раньше всего остального: много мелких операций чтения и записи одновременно.
- Частота процессора. Многие операции в 1С выполняются в один поток, поэтому для 1С важнее высокая частота одного ядра, чем большое число медленных ядер. Сервер с 64 медленными ядрами может проиграть машине с 8 быстрыми.
- Файловая база. Файловый вариант 1С рассчитан на небольшое число пользователей. Когда в пик в базе одновременно работает больше нескольких человек, блокировки на уровне файлов становятся неизбежными, и выход — переход на клиент-серверный вариант.
Совет. Быстро понять, не в железе ли дело, помогает тест Гилева: он за 10 минут показывает, насколько быстро сервер выполняет типичные для 1С операции. У нас есть отдельная статья о том, как его запустить и читать результат.
- Скачать тест (файл .dt) — testGileva 2.1.1.48 · Яндекс Диск · 2,8 МБ
- Как запустить и читать баллы — наша инструкция по тесту Гилева
Как измерить, а не гадать
Ощущение «тормозит» — плохой аргумент для решения: один пользователь терпелив, другой жалуется на каждые три секунды. Для объективной оценки в 1С используют методику APDEX: ключевые операции (проведение реализации, формирование отчёта, открытие списка) замеряются по времени, и по доле «быстрых» операций считается индекс от 0 до 1.
| Индекс | Оценка | Что это значит для бизнеса |
|---|---|---|
| 0,94 – 1,00 | Отлично | Пользователи не замечают ожидания |
| 0,85 – 0,93 | Хорошо | Редкие задержки, работе не мешают |
| 0,70 – 0,84 | Плохо | Задержки заметны и раздражают |
| 0,50 – 0,69 | Очень плохо | Работа идёт заметно медленнее |
| 0,00 – 0,49 | Неприемлемо | Работать фактически невозможно |
Источник: Методика APDEX, ИТС «1С»
Чтобы найти, где именно теряется время, включают технологический журнал 1С (подробный лог работы сервера) с событиями ожидания и конфликтов блокировок, а на стороне СУБД смотрят самые долгие запросы. Это показывает конкретную операцию и конкретный запрос, а не общее «всё медленно».
Совет. Делайте замеры именно в пик закрытия месяца или под нагрузочным тестом, который его имитирует. В спокойный день узкое место просто не проявится, и вы потратите деньги на то, что не болело.
План: что сделать за неделю до закрытия
- Проверить, что регламентное обслуживание СУБД работает: обновление статистики и перестроение индексов прошли без ошибок.
- Установить период рассчитанных итогов, если это не сделали в начале месяца.
- Перенести обмены, полнотекстовый поиск и резервное копирование на ночь на время закрытия.
- Согласовать с бухгалтерией и менеджерами «тихое окно»: пока идёт закрытие, документы за закрываемый период не перепроводятся.
- Сформировать тяжёлые сверочные отчёты заранее, а не в день закрытия.
- Включить технологический журнал на время закрытия, чтобы после него увидеть, где были ожидания.
- После закрытия разобрать журнал и APDEX-замеры: что тормозило, сколько и почему — и закрыть это до следующего месяца.
Конец месяца не создаёт проблем с производительностью 1С, он их проявляет. Всё, что тормозит в закрытие, было в системе весь месяц: просто в обычные дни нагрузки не хватало, чтобы это заметить. Поэтому лечить нужно не «конец месяца», а конкретные узкие места, найденные замерами.
Частые вопросы
Почему 1С тормозит именно в конце месяца?
В закрытие периода совпадают по времени самые тяжёлые операции: расчёт себестоимости и закрытие счетов, массовое перепроведение документов задним числом, тяжёлые отчёты и фоновые обмены. Они захватывают одни и те же данные, возникают ожидания блокировок, и узкие места, незаметные в обычные дни, проявляются разом.
Что значит ошибка «Превышено максимальное время ожидания предоставления блокировки»?
Это значит, что операция слишком долго ждала, пока другая операция освободит нужные ей данные. Чаще всего так конфликтуют закрытие месяца и перепроведение документов за тот же период. Помогает развести тяжёлые операции по времени и проверить режим блокировок и доработки конфигурации.
Как ускорить закрытие месяца в 1С без покупки нового сервера?
Обслуживать итоги регистров (раз в месяц устанавливать период рассчитанных итогов), настроить регламентное обновление статистики и перестроение индексов СУБД, ограничить память SQL Server, если он делит сервер с 1С, перенести обмены и бэкапы на ночь и формировать тяжёлые отчёты с отборами и заранее.
Как понять, что 1С тормозит из-за железа, а не из-за настроек?
Сначала проверить быстрые причины: обслуживание СУБД, итоги, фоновые задачи. Затем запустить тест Гилева и замерить нагрузку на диски и память в пик. Если базы лежат на обычных жёстких дисках или у процессора низкая частота ядра, узкое место в оборудовании.
Что такое APDEX в 1С?
Это методика оценки производительности: ключевые операции замеряются по времени, и по доле быстрых операций считается индекс от 0 до 1. От 0,94 — отлично, от 0,85 — хорошо, ниже 0,70 — пользователи уже заметно страдают. APDEX позволяет оценивать скорость цифрами, а не ощущениями.
Теги: 1С, производительность, закрытие месяца, блокировки, SQL, APDEX