Почему тормозит 1С:Комплексная автоматизация 2 на виртуальных серверах и как это исправить

Системный администратор 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация IT и автоматизация бизнеса
← На главную

Ситуация, когда мощное на первый взгляд железо не справляется с 1С:Комплексная автоматизация 2 (КА2), встречается довольно часто. Проанализируем типичный случай: сервер на базе процессора AMD Ryzen 3600, 64 ГБ оперативной памяти и использование Hyper-V для разделения ролей. При 50 пользователях такая конфигурация начинает «захлебываться». Разберем пошагово, почему это происходит и какие меры необходимо предпринять для стабилизации системы.

Анализ архитектурных ошибок: Виртуализация против Натива

Рассмотрим ситуацию с использованием Hyper-V. В данном кейсе на одном физическом процессоре запущены 4 виртуальные машины: сервер 1С, сервер баз данных (SQL), терминальный сервер (RDP) и контроллер домена. Проанализируем, к чему это приводит:

  1. Оверхед на переключение контекста: Процессор AMD 3600 имеет 6 ядер и 12 потоков. Когда 4 операционные системы одновременно пытаются получить доступ к ресурсам, планировщик гипервизора тратит значительную часть времени на переключение между задачами. Для 1С, которая критична к задержкам (latency), это губительно.
  2. Сетевые задержки: Разделение сервера приложений 1С и сервера SQL по разным виртуальным машинам заставляет их общаться через виртуальный сетевой адаптер. Выясним причину замедления: в нативном режиме (на одной ОС) 1С и SQL используют протокол Shared Memory (общая память), который в десятки раз быстрее любой виртуальной сети.

Решение: Для достижения максимальной производительности на таком «узком» железе рекомендуется отказаться от виртуализации и установить Windows Server, SQL Server и Сервер 1С нативно на физическое железо.

Оптимизация работы процессоров AMD Ryzen

Процессоры AMD Ryzen (особенно серия 3600) имеют специфическую архитектуру чиплетов. Разберем, как настроить систему, чтобы 1С работала быстрее:

Дисковая подсистема: главный враг производительности

Проанализируем конфигурацию дисков. Использование одного потребительского SSD (например, WD Black) объемом 500 ГБ для четырех виртуальных машин и базы 1С — это критическая ошибка. Рассмотрим причины:

  1. Отсутствие PLP: Потребительские диски не имеют защиты от потери питания (Power Loss Protection). Из-за этого контроллер диска не может эффективно использовать кэш записи, что катастрофически замедляет работу SQL Server при фиксации транзакций.
  2. Очередь диска: Посмотрим на параметр «Длина очереди диска» в мониторе ресурсов. При одновременной работе 50 пользователей, tempdb, логов транзакций и системных файлов четырех ОС, очередь будет постоянно выше 2-3 единиц, что приводит к ощутимым тормозам.

Решение: Разделим нагрузку. Как минимум, нужно вынести базу данных SQL на отдельный физический накопитель. В идеале — использовать серверные решения (Enterprise SSD) с высоким ресурсом перезаписи и поддержкой DWPD.

Тонкая настройка SQL Server и памяти

В рассматриваемом примере выделено по 20 ГБ на сервер 1С и на SQL. Для КА2 на 50 пользователей этого крайне мало. Проанализируем настройки памяти:

SQL Server очень любит кэшировать данные в оперативной памяти. Конфигурация Комплексная автоматизация 2 содержит огромные таблицы индексов. Если оперативной памяти не хватает, SQL начинает постоянно считывать данные с диска (Disk Paging), что замедляет работу системы в разы.

Настроим SQL Server правильно:

  1. Max Server Memory: Установим ограничение памяти для SQL, оставив ОС и серверу 1С необходимый минимум, но не позволяя SQL «съедать» всё до отказа, провоцируя своп.
  2. Параметр MAXDOP: Разберем настройку Max Degree of Parallelism. Для 1С на 6-ядерном процессоре установим значение 1 или 2. Это предотвратит ситуацию, когда один «тяжелый» отчет захватывает все ресурсы процессора, блокируя работу остальных 49 пользователей.
  3. Статическая память в Hyper-V: Если вы все же используете виртуализацию, никогда не включайте Dynamic Memory для SQL-сервера. Память должна быть жестко зарезервирована (Static).

Обслуживание базы данных и регламентные задания

Выясним причину тормозов внутри самой конфигурации. КА2 — это очень тяжелая система с точки зрения фоновых вычислений. Проанализируем список РегламентныеЗадания:

Практические рекомендации по распределению ресурсов

Если мы решим оставить систему на текущем железе, выполним следующие шаги:

1. Объединим роли: Перенесем сервер 1С и сервер SQL в одну виртуальную машину (или на одну физическую ОС). Это позволит задействовать протокол Shared Memory.

2. Оптимизируем RDP: 10 пользователей в терминале на том же процессоре, где крутится база — это большая нагрузка. Проанализируем возможность выноса терминальных сессий на отдельный системный блок или тонкие клиенты.

3. Настройка rphost: В консоли администрирования кластера 1С настроим перезапуск рабочих процессов rphost. Например, по достижении определенного объема памяти или раз в сутки. Это поможет бороться с утечками памяти, которые часто встречаются в тяжелых конфигурациях.


// Пример настройки перезапуска рабочих процессов в консоли кластера
// Количество соединений на процесс: 25
// Объем памяти: 4000000 (4 ГБ)
// Интервал перезапуска: 86400 (сутки)

Подводя итог, можно сказать: 1С:КА2 — это требовательная к ресурсам система. Для 50 пользователей процессор Ryzen 3600 является «входным билетом», и любая прослойка в виде неэффективной виртуализации или медленных дисков превращает работу в мучение. Рассмотрим переход на более производительное серверное железо или глубокую оптимизацию текущего через отказ от гипервизора.

← На главную