При эксплуатации высоконагруженных систем 1С:Предприятие в среде виртуализации часто возникают проблемы с производительностью, которые проявляются в виде «замираний» интерфейса, долгого формирования отчетов и высоких показателей очереди процессора. Особенно остро это ощущается при использовании связки из современных гипервизоров (Hyper-V 2016) и проверенных временем, но устаревших гостевых операционных систем, таких как Windows Server 2008 R2. Рассмотрим подробно, как правильно распределить ресурсы и настроить программно-аппаратный комплекс для обеспечения стабильной работы 40 и более пользователей в конфигурации «Управление торговлей 10.3».
Проанализируем ситуацию, когда в распоряжении есть два идентичных сервера на базе Xeon E-2176G с 64 ГБ оперативной памяти и NVMe-накопителями. Для обеспечения максимальной отзывчивости системы «толстого клиента» 1С рекомендуется разделить роли следующим образом:
Такая схема позволяет эффективно использовать ресурсы: SQL-сервер получает «чистые» ядра для расчетов, а терминальный сервер — для обслуживания RDP-сессий.
Выясним причину высокой очереди процессора (например, когда показатель достигает 30 при 12 потоках). Часто это не связано с реальной нехваткой мощности, а является следствием работы механизмов энергосбережения. Разберем шаги по устранению этой проблемы:
Настройка BIOS/UEFI: необходимо зайти в параметры сервера и отключить все состояния глубокого сна процессора (C-States, C1E). Также следует проверить параметр Intel Turbo Boost. Для 1С критически важна стабильно высокая частота одного ядра, поэтому рекомендуется установить профиль «Maximum Performance» на аппаратном уровне.
Настройка внутри Windows: переключите схему управления электропитанием в режим «Высокая производительность» (High Performance). Проанализируем счетчики производительности % C1 Time и C1 Transitions/sec. Если после смены схемы значения остаются высокими, значит, гипервизор все еще ограничивает гостевую ОС. В Hyper-V 2016 для гостевых систем 2008 R2 может потребоваться проверка типа планировщика (Processor Scheduler). Через команду bcdedit на хосте можно убедиться, используется ли классический планировщик, который зачастую стабильнее работает со старыми гостевыми ОС.
Работа SQL Server 2012 в виртуальной среде требует специфических настроек, которые по умолчанию не всегда активны. Рассмотрим их подробнее:
Флаги трассировки: Для SQL 2012 обязательно включение флагов T1117 и T1118. Флаг T1117 обеспечивает равномерное расширение всех файлов в группе tempdb, что критично для 1С, активно использующей временные таблицы. Флаг T1118 отключает смешанные экстенты, снижая конкуренцию за системные страницы.
Параметр MAXDOP: Установите значение Max Degree of Parallelism равным 1. Это предотвратит попытки SQL Server распараллелить один тяжелый запрос от 1С на все ядра процессора, что в 90% случаев в 1С приводит к блокировкам и деградации производительности.
Ограничение памяти: Поскольку в виртуальной машине всего 64 ГБ памяти, жестко ограничьте Max Server Memory для SQL Server на уровне 48–52 ГБ. Оставшийся объем необходим для работы ОС и процессов Сервера 1С (rphost). Если этого не сделать, возникнет риск «свопинга» (выгрузки памяти на диск), что нивелирует преимущества даже самых быстрых NVMe SSD.
Посмотрим на технические нюансы виртуализации, которые могут вызывать «микрофризы» в работе пользователей:
Отключение VMQ: Технология Virtual Machine Queuing на сетевых картах Intel часто конфликтует с драйверами Hyper-V, вызывая задержки пакетов. Для стабильной работы RDP и связи с SQL-сервером рекомендуется отключить VMQ в свойствах сетевого адаптера на физическом хосте.
Тип дисков VHDX: Для баз данных SQL всегда используйте диски типа «Fixed Size» (Фиксированный размер). Динамические диски в процессе расширения создают значительную нагрузку на процессор и вызывают фрагментацию на физическом уровне, что снижает скорость линейного чтения.
Выравнивание разделов: При установке Windows Server 2008 R2 внутри виртуалки убедитесь, что разделы выровнены по границе 4 КБ. Неправильное выравнивание на современных NVMe-дисках приводит к эффекту «Read-Modify-Write», замедляя запись данных в 2–3 раза.
Завершим настройку оптимизацией самой платформы 1С:
Использование Shared Memory: Если Сервер 1С и SQL Server находятся в одной ОС, в строке подключения к базе данных (в консоли администрирования 1С) вместо имени сервера по сети используйте локальное обращение. Это позволит 1С обмениваться данными с SQL напрямую через оперативную память, минуя сетевой стек Windows, что дает прирост скорости до 15%.
Компоненты интеграции: Для гостевой ОС 2008 R2 крайне важно обновить Integration Services. В Windows Server 2016 они не всегда пробрасываются автоматически для старых систем. Убедитесь через диспетчер устройств в гостевой ОС, что все системные устройства используют драйверы Microsoft Hyper-V версии 2016 года.
Исключения антивируса: На терминальном сервере обязательно добавьте в исключения сканирования следующие типы файлов и папок:
*.lst, *.log, *.pfd.AppData\Local\Temp.AppData\Roaming\1C\1Cv82 (или 1Cv8).Соблюдение этих инструкций позволит выжать максимум производительности из имеющегося оборудования и обеспечить комфортную работу пользователей в конфигурации «Управление торговлей 10.3» даже на базе классических операционных систем.