Как проверить количество используемых ядер процессора в 1С:Предприятие 8 лицензии ПРОФ?

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

С сентября 2019 года компания «1С» ввела строгие технические ограничения для лицензий уровня ПРОФ. Одним из самых обсуждаемых лимитов стало ограничение на использование серверной мощностью: не более 12 ядер процессора и не более 500 сеансов. В этой статье мы подробно разберем, как именно платформа реализует эти ограничения, развеем мифы о «однопоточности» и научимся самостоятельно проверять, сколько ядер задействовано в работе вашего сервера.

Механизм ограничения ядер в лицензии ПРОФ

Важно понимать, что ограничение в 12 ядер — это не просто юридическое условие, а жесткий программный алгоритм, встроенный в платформу 1С:Предприятие 8.3 (начиная с версии 8.3.15). Платформа реализует это через механизм CPU Affinity (маска соответствия). Когда служба сервера 1С запускает рабочие процессы rphost, она принудительно указывает операционной системе, на каких именно ядрах разрешено выполнять код этого процесса.

Рассмотрим ключевые особенности этого механизма:

Как проверить количество ядер, используемых rphost, через Диспетчер задач

Самый простой способ убедиться в работе ограничений — заглянуть в настройки соответствия процессоров. Рассмотрим по шагам, как это сделать в ОС Windows:

  1. Откройте Диспетчер задач (Ctrl+Shift+Esc).
  2. Перейдите на вкладку Подробности (Details).
  3. Найдите один или несколько процессов с именем rphost.exe.
  4. Нажмите правой кнопкой мыши на процессе и выберите пункт Задать сходство (Set Affinity).
  5. В открывшемся окне вы увидите список всех ядер процессора. Если у вас лицензия ПРОФ и ядер в системе больше 12, вы заметите, что галочки стоят только на первых двенадцати ядрах (CPU 0 — CPU 11). Попытка вручную поставить галочки на другие ядра будет либо заблокирована, либо сброшена платформой через короткое время.

Анализ нагрузки через Монитор ресурсов

Для более наглядной картины мы можем проанализировать фактическую утилизацию ресурсов. Разберем использование утилиты resmon.exe:

Запустите Монитор ресурсов и перейдите на вкладку ЦП. В правой части окна отображаются графики по каждому логическому ядру. В условиях высокой нагрузки на 1С (например, при запуске тяжелого отчета или группового перепроведения документов) проанализируем ситуацию:

Это прямое доказательство того, что платформа искусственно ограничивает вычислительную мощность, несмотря на наличие свободных ресурсов в системе.

Проблема NUMA-архитектуры на лицензиях ПРОФ

Проанализируем сложную ситуацию, которая часто возникает на мощных двухпроцессорных серверах. Современные серверы используют архитектуру NUMA (Non-Uniform Memory Access), где каждый процессор имеет «свою» локальную оперативную память. Если на вашем сервере установлено два процессора по 12 ядер в каждом, лицензия ПРОФ задействует только первый процессор (первые 12 ядер).

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

Тестирование многопоточности rphost

Если вы хотите лично убедиться, что rphost может занимать более одного ядра (что он многопоточный), можно провести простой эксперимент. Разберем пример кода, который создает искусственную нагрузку. Если запустить этот код в нескольких разных сеансах (или через фоновые задания), вы увидите, что один процесс rphost начнет потреблять ресурсы нескольких ядер.


// Пример для проверки многопоточности (запускать в нескольких сеансах)
Процедура ТестНагрузкиПроцессора() Экспорт
	КонецПериода = ТекущаяДата() + 60; // Работаем 60 секунд
	Пока ТекущаяДата() < КонецПериода Цикл
		// Пустой цикл для имитации математических вычислений
		А = 1 + 1;
	КонецЦикла;
КонецПроцедуры

При запуске 12 таких процедур одновременно (через консоль заданий или просто открыв 12 окон 1С), вы увидите в Мониторе ресурсов 100% загрузку всех 12 разрешенных ядер именно процессом rphost. Это окончательно опровергает теорию об однопоточности серверных вызовов в 1С.

Когда стоит переходить на КОРП?

Выясним причины, по которым ограничение в 12 ядер становится критичным и требует покупки лицензий КОРП:

  1. Рост числа пользователей: Лицензия ПРОФ ограничена 500 одновременными сеансами.
  2. Потребность в производительности: Если 12 ядер загружены на 100% в течение рабочего дня, пользователи начнут испытывать задержки («тормоза»), даже если на сервере есть еще 32 свободных ядра.
  3. Фоновое обновление конфигурации: В версии ПРОФ невозможно обновлять базу данных без выгона пользователей.
  4. Управление ресурсами: Только в КОРП доступны расширенные настройки кластера, такие как лимиты памяти на один процесс, автоматический перезапуск «протекших» процессов и тонкая настройка количества соединений на рабочий процесс rphost.

Важное примечание: Если у вас в кластере менее 10 пользователей, платформа 1С автоматически включает функционал уровня КОРП (даже при наличии лицензий ПРОФ). Это сделано для удобства разработчиков и тестировщиков, чтобы они могли использовать расширенные функции на небольших базах без дополнительных затрат.

Таким образом, для эффективного администрирования сервера 1С на лицензиях ПРОФ необходимо четко понимать физические границы ваших ресурсов и контролировать их использование через системные утилиты Performance Monitor и Task Manager.

← На главную