Многие системные администраторы и программисты 1С сталкиваются с ситуацией, когда после планового обновления конфигурации 1С:Комплексная автоматизация 2.5 (или ERP 2.5) и платформы до версии 8.3.22, скорость проведения документов падает в несколько раз. Ситуация осложняется тем, что мониторинг ресурсов (ЦП, ОЗУ, Диски) может не показывать критической нагрузки, а база данных имеет сравнительно небольшой объем. В этой статье мы подробно разберем причины такого поведения системы, проанализируем влияние настроек СУБД и выясним, почему аппаратная часть играет решающую роль в современных версиях 1С.
Рассмотрим типичный сценарий: проведение базовых документов, таких как РеализацияТоваровУслуг или ПриобретениеТоваровУслуг, начинает занимать от 30 до 65 секунд. При этом замеры производительности указывают на длительное выполнение метода Форма.Записать(ПараметрыЗаписи). Давайте проанализируем, на что стоит обратить внимание в первую очередь:
Если эти меры не помогают, необходимо переходить к более глубокому анализу связки «Платформа — СУБД — Железо».
Разберем, какие изменения в платформе 8.3.22 могут негативно влиять на производительность, особенно если используется устаревшее серверное ПО и оборудование:
Изменение механизмов работы с временными таблицами. В новых версиях платформы была внедрена иная логика формирования SQL-запросов. Если вы используете устаревшие версии MS SQL Server (например, 2008 R2), оптимизатор запросов может некорректно выбирать планы выполнения, предпочитая «тяжелый» Index Scan вместо быстрого Index Seek.
Глобальный кеш метаданных. Платформа стала передавать и обрабатывать значительно большие объемы данных при синхронизации метаданных между сервером 1С и СУБД. На старых процессорах (например, серия Xeon X5600) операции десериализации этих данных занимают на 300-400% больше времени, чем на современных архитектурах.
Фоновое индексирование полнотекстового поиска. Проанализируем состояние полнотекстового поиска. В релизах ветки 8.3.22 замечены случаи, когда фоновые задания индексации потребляют значительные ресурсы процессора даже в периоды низкой активности, создавая неявные очереди к ресурсам.
Программа 1С:Комплексная автоматизация 2.5 значительно сложнее своих предшественниц в части механизмов проведения документов. Рассмотрим ключевые факторы:
Если замена железа пока не планируется, попробуем выжать максимум из текущих настроек MS SQL Server. Выясним, какие параметры наиболее критичны:
Для работы 1С на многоядерных системах критически важно выставлять MAXDOP = 1. По умолчанию SQL Server пытается распараллелить тяжелые запросы (значение 0). На старых процессорах с медленной шиной обмена данными это приводит к огромным ожиданиям типа CXPACKET, что парализует работу системы при проведении сложных документов.
Если используется SQL Server версии 2014 и выше, попробуйте включить флаг оптимизатора 9481 или изменить уровень совместимости базы данных. Это заставит SQL использовать старый, более предсказуемый для 1С оценщик соединений.
Рассмотрим пример кода для проверки текущих настроек параллелизма:
EXEC sys.sp_configure N'show advanced options', N'1';
RECONFIGURE;
EXEC sys.sp_configure N'max degree of parallelism';
-- Значение должно быть равно 1
Проанализируем ситуацию с процессорами серии Westmere (например, Xeon X5670). Несмотря на наличие 6 ядер и 12 потоков, их производительность в однопоточном режиме (Single Thread) по современным меркам крайне низка. 1С — это система, где скорость проведения одного документа напрямую зависит от частоты и архитектуры одного ядра.
Сравнение производительности: Современные процессоры (серии Core i9 или новые Xeon Gold) обходят X5670 в однопоточных задачах в 4–5 раз. Там, где старый сервер тратит 60 секунд на расчет зависимостей в коде 1С, новый справится за 12–15 секунд.
Влияние патчей безопасности: Не забудем про обновления против уязвимостей Spectre и Meltdown. На старых процессорах эти программные «заплатки» снижают скорость работы с памятью и дисковыми операциями на 20–30%, тогда как в современных камнях эти исправления реализованы аппаратно.
Подведем итог и составим алгоритм действий для исправления ситуации:
8.3.22.1704 или аналогичные показывают плохие результаты, попробуйте перейти на последние сборки 8.3.23 или откатиться на стабильную 8.3.21, если это позволяет конфигурация.Важный вывод: Проблема «тормозов» в КА 2.5 на новых платформах часто кроется не в ошибках кода, а в возросшей сложности бизнес-логики, которая требует высокой удельной мощности на одно ядро процессора. Старые многоядерные серверы, которые отлично справлялись с 1С 7.7 или ранними версиями 8.3, сегодня становятся «узким горлышком» для современных учетных систем.