Переезд на новые серверные мощности — это всегда ответственный процесс, который, вопреки ожиданиям, может привести к деградации производительности. Особенно остро это ощущается в тяжелых конфигурациях, таких как 1С:ERP Управление предприятием. Разберем ситуацию, когда после разделения сервера приложений и сервера баз данных на разные виртуальные машины документы начинают проводиться по 5–10 минут, и выясним, как вернуть системе былую скорость.
Проанализируем типичную ошибку при виртуализации: разделение сервера 1С и сервера SQL на разные виртуальные машины, которые фактически работают на одном физическом хосте (железе). Рассмотрим, почему это замедляет работу. Когда оба сервера находятся в рамках одной операционной системы (или одной ВМ), они могут взаимодействовать через протокол Shared Memory (общая память). Это самый быстрый способ обмена данными, исключающий сетевые задержки стека TCP/IP.
При разделении на две виртуалки мы добавляем задержки на уровне виртуальных сетевых адаптеров и коммутаторов. Даже если задержка составляет доли миллисекунд, для 1С, которая делает тысячи мелких запросов к базе при проведении одного документа, это превращается в минуты ожидания. Рекомендация: если ресурсы позволяют, старайтесь держать сервер 1С и SQL на одной виртуальной машине, чтобы использовать Shared Memory. Если разделение необходимо, убедитесь, что обе ВМ "привязаны" к одному физическому серверу через Affinity Rules гипервизора.
Одной из главных причин тормозов в ERP является неактуальная статистика. Выясним, почему это важно. Оптимизатор SQL Server строит план выполнения запроса на основе данных о распределении значений в таблицах. Если статистика устарела, SQL может выбрать неоптимальный индекс, что приведет к сканированию всей таблицы (Full Table Scan) вместо быстрого поиска. Проанализируем критически важные настройки SQL:
UPDATE STATISTICS. Рассмотрим пример скрипта для обновления статистики:
USE [Имя_Вашей_Базы];
GO
EXEC sp_updatestats;
GO
Разберем еще один важный аспект — Cost Threshold for Parallelism. Если вы все же используете параллелизм, установите это значение в районе 50, чтобы мелкие запросы 1С не пытались распараллеливаться.
Проанализируем физический уровень. Современные серверные процессоры имеют агрессивные функции энергосбережения. Если в настройках BIOS или операционной системы стоит режим "Сбалансированный", процессор может сбрасывать частоту до минимума в моменты простоя. Когда поступает запрос от 1С на проведение документа, процессору требуется время, чтобы "проснуться" и поднять частоту. Для 1С это критично.
Что нужно сделать:
C-States и Intel SpeedStep. Процессор должен всегда работать на своей максимальной частоте.CPU-Z. Если вы видите, что частота "прыгает" во время теста, значит, энергосбережение все еще активно.Перейдем к настройке рабочего сервера 1С. Рассмотрим параметры, которые напрямую влияют на стабильность и скорость работы rphost:
Разберем параметры центрального сервера в консоли администрирования:
rphost, но и не перегружать один. Оптимально — от 25 до 100 соединений в зависимости от объема оперативной памяти.Безопасный расход памяти за один вызов в районе 2-4 Гб, чтобы один "кривой" отчет не обрушил весь сервер.Рассмотрим пример настройки интервалов:
Интервал перезапуска рабочих процессов = 86400 (раз в сутки)
Выключенные процессы останавливать через = 300 (5 минут)
Допустимый объем памяти = 0 (если мониторинг ведется вручную) или 80% от доступной RAM
Если вы работаете в виртуальной среде, проанализируем настройки гипервизора. Самая большая ошибка системных администраторов — использование динамической памяти (Dynamic Memory / Ballooning) для серверов 1С и SQL. 1С и SQL Server крайне чувствительны к доступности физической оперативной памяти. Если гипервизор "отберет" память у SQL для нужд другой виртуалки, производительность упадет мгновенно.
Настроим резервирование: в настройках виртуальной машины (VMware или Hyper-V) необходимо сделать Reservation на весь объем выделенной памяти. Это гарантирует, что память будет физически закреплена за сервером и не будет сброшена в файл подкачки хоста.
Также обратим внимание на Hyper-Threading. В некоторых случаях (особенно на старых процессорах) отключение HT может дать прирост производительности для 1С до 10–15%, так как 1С очень требовательна к скорости работы именно физического ядра.
Выясним причину медленной записи. ERP активно пишет данные в tempdb и лог транзакций (.ldf). Посмотрим на настройки дисков:
.mdf), логи транзакций (.ldf) и временная база tempdb должны располагаться на разных виртуальных дисках. В идеале — на разных физических SSD/NVMe массивах.tempdb (по количеству ядер процессора, но не более 8). Установите им одинаковый начальный размер и одинаковый шаг прироста. Это минимизирует конкуренцию потоков при записи во временные таблицы.Проанализируем ситуацию с антивирусом. Он должен быть либо полностью отключен на серверах баз данных, либо из проверки должны быть исключены все рабочие каталоги 1С (srvinfo), каталоги данных SQL и расширения файлов .mdf, .ldf, .ndf.
Настройка сервера под ERP — это комплексная задача. Мы проанализировали основные "узкие места": от настроек электропитания и параметров MAXDOP в SQL до резервирования памяти в гипервизоре. Начните с обновления статистики и настройки режима высокой производительности — в 80% случаев это дает мгновенный результат. Помните, что разделение 1С и SQL на разные виртуальные машины требует идеальной настройки сети и минимальных задержек, иначе Shared Memory всегда будет выигрывать по скорости.