Ситуация, когда 1С:Бухгалтерия начинает «тормозить», долго открываться или обновляться по несколько часов, знакома многим администраторам и пользователям. Особенно остро эта проблема проявляется в файловых версиях баз, работающих в терминальном режиме (RDP) на виртуальных машинах. В этой статье мы подробно разберем причины низкой производительности и определим пошаговый план действий для исправления ситуации.
Прежде чем что-то покупать или менять, проанализируем имеющиеся данные. Если у вас файловая база, в которой одновременно работают 6-7 пользователей, вы находитесь на критической отметке для этого формата. Файловая база .1CD по своей природе является однопоточной при выполнении транзакций записи. Это означает, что пока один пользователь проводит документ или идет процесс обновления, остальные стоят в очереди.
Рассмотрим основные факторы, которые мы должны проверить в первую очередь:
Разберем, что можно сделать на уровне сервера. Выясним причину у системного администратора и проверим настройки гипервизора.
Проверка дисков. Установите утилиту для тестирования скорости дисков. Если показатели Random Read/Write 4K низкие, замена HDD на SSD корпоративного уровня даст прирост скорости в 5–10 раз. Даже если база небольшая, 1С постоянно создает временные файлы, и скорость работы с ними критична.
Настройки VMware. Проанализируем специфику работы в виртуальной среде. Попросите админа проверить следующие параметры:
Reserve all guest memory. Это гарантирует, что выделенные 20 ГБ памяти всегда будут в физическом ОЗУ, а не «сброшены» гипервизором в файл подкачки на диск.Если в базе работают более 5 человек, пора рассмотреть покупку Сервера 1С:Предприятия и установку СУБД (Microsoft SQL Server или PostgreSQL). Это решит проблему блокировок в файловом режиме.
Разберем преимущества этого перехода:
.1CD.Если бюджет на покупку сервера 1С и лицензий SQL ограничен, проанализируем вариант публикации файловой базы через IIS (Internet Information Services) или Apache. В этом случае пользователи подключаются через «Тонкий клиент» по протоколу HTTP/HTTPS.
Это позволяет снизить нагрузку на дисковую систему сервера, так как часть вычислительной нагрузки переносится на клиентские машины, а работа с данными оптимизируется механизмами веб-сервера.
Выясним, нет ли программных «тормозов» внутри 1С и операционной системы. Рассмотрим пошагово:
Высокая производительность (High Performance). В сбалансированном режиме процессор может снижать частоту, что критично для однопоточных операций 1С.*.1CD, *.1CL, а также папки кэша пользователей:
%AppData%\Local\1C\1cv8
%AppData%\Roaming\1C\1cv8Тестирование и исправление (ТиИ) через Конфигуратор. Установим галочки на «Реиндексация таблиц» и «Сжатие таблиц».Если руководство не готово инвестировать в новое «железо» и услуги системного администратора, предложим переход в 1С:Фреш. Разберем, что это дает:
Проанализируем ситуацию в момент «торможения». Откроем Диспетчер задач -> Производительность -> Монитор ресурсов. Посмотрим на вкладку «Диск». Если мы видим, что процесс 1cv8.exe или system активно пишет в огромные временные файлы или очередь к диску (Disk Queue Length) больше 2, то проблема однозначно в скорости жесткого диска.
Также обратим внимание на код, который может запускаться при старте. Если у вас есть доработки, проверим наличие тяжелых запросов в процедуре ПриНачалеРаботыСистемы.
// Пример: Проверка фоновых заданий, которые могут тормозить запуск
Процедура ПриНачалеРаботыСистемы()
// Проанализируем, не запускается ли здесь тяжелый отчет или обновление кэша
// Если да, такие операции лучше выносить в фоновое задание
КонецПроцедуры
Подводя итог, для устранения зависаний 1С:Бухгалтерии мы рекомендуем следующий порядок действий:
Следуя этим шагам, мы обеспечим стабильную и быструю работу системы, а обновления будут проходить в штатном режиме без многочасовых простоев.