Есть ли смысл собирать сервер 1С на двух процессорах для 50 пользователей?

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

При проектировании аппаратной платформы под задачи «1С:Предприятие 8.3» системные администраторы и руководители IT-отделов часто сталкиваются с дилеммой: приобрести классический двухпроцессорный сервер или ограничиться однопроцессорной конфигурацией. На первый взгляд, двухпроцессорная материнская плата кажется надежным заделом на будущее, особенно когда планируется работа 50 активных пользователей, база содержит более 100 тысяч позиций номенклатуры и настроен интенсивный обмен данными с сайтом.

Однако архитектурные особенности платформы «1С», СУБД (например, PostgreSQL или MS SQL Server) и специфика лицензирования накладывают жесткие ограничения. В рамках этой статьи мы подробно разберем, почему в большинстве случаев двухпроцессорные конфигурации не только не приносят ожидаемого прироста производительности, но и могут существенно замедлить работу системы. Мы проанализируем влияние архитектуры NUMA, особенности лицензирования «1С:ПРОФ», требования к дисковой подсистеме и предложим оптимальные аппаратные конфигурации.

Архитектура NUMA: как два процессора могут замедлить 1С

Главная техническая проблема двухпроцессорных систем заключается в архитектуре NUMA (Non-Uniform Memory Access) — неравномерном доступе к памяти. Разберем этот механизм подробнее.

В двухпроцессорном сервере каждый физический процессор (сокет) имеет собственный интегрированный контроллер памяти и напрямую работает со своими модулями оперативной памяти (RAM). Эта связка образует так называемый NUMA-узел (NUMA node). Когда процессору №1 требуются данные, находящиеся в локальных модулях памяти процессора №2, он не может получить их напрямую. Запрос отправляется через системную шину межпроцессорного соединения (Intel UPI/QPI или AMD Infinity Fabric).

Обращение к «чужому» NUMA-узлу через межпроцессорную шину происходит значительно медленнее, чем к локальной памяти. Задержки (latency) могут возрастать в несколько раз. Для транзакционных систем, к которым относится «1С:Предприятие», скорость доступа к памяти является критически важным фактором.

Проанализируем поведение рабочих процессов 1С и СУБД на двухпроцессорном сервере:

  1. Работа rphost: Рабочий процесс сервера 1С (rphost) крайне чувствителен к задержкам памяти. Если операционная система начинает распределять потоки одного процесса rphost по разным физическим процессорам, производительность резко падает из-за постоянных задержек при обращении к нелокальной памяти.
  2. Протокол Shared Memory: Для достижения максимальной скорости работы сервер приложений «1С» и СУБД (например, PostgreSQL) рекомендуется устанавливать на один физический сервер. В этом случае они общаются между собой напрямую через оперативную память по протоколу Shared Memory (общая память), минуя сетевой стек. На двухпроцессорном сервере, если СУБД работает на одном процессоре, а рабочий процесс 1С — на другом, использование Shared Memory становится неэффективным и сопровождается колоссальными накладными расходами на копирование данных между NUMA-нодами.

Таким образом, с точки зрения архитектуры памяти, однопроцессорная система всегда работает стабильнее и быстрее, так как в ней полностью отсутствует межпроцессорная задержка доступа к ОЗУ.

Ограничения лицензирования «1С:ПРОФ»

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

Серверная лицензия «1С:ПРОФ» может использовать не более 12 ядер процессора.

Если вы установите серверную лицензию ПРОФ на двухпроцессорный сервер, где каждый процессор имеет, например, по 8 или 12 ядер (в сумме 16 или 24 ядра), платформа «1С» физически задействует только первые 12 доступных ядер. Остальные вычислительные ресурсы будут простаивать или использоваться исключительно операционной системой и СУБД.

Чтобы задействовать более 12 ядер непосредственно под процессы «1С», вам придется приобрести лицензию уровня КОРП. Стоимость лицензий КОРП в несколько раз выше, кроме того, они требуют обязательной ежегодной оплаты технической поддержки (обновлений) в размере около 15% от стоимости лицензий. Для небольшой торговой компании на 50 пользователей такие затраты экономически нецелесообразны.

Для 50 пользователей 12 ядер высокочастотного процессора — это огромный запас вычислительной мощности, которого более чем достаточно при правильной настройке сервера приложений и СУБД. Следовательно, покупать второй процессор, ядра которого 1С даже не сможет использовать по условиям лицензии ПРОФ, бессмысленно.

Выбор процессора: частота ядра против количества ядер

В среде разработчиков и администраторов «1С» давно известно золотое правило: для 1С критически важна высокая производительность на одно ядро (Single-Thread Performance).

Большинство бизнес-вычислений в 1С (проведение документов, расчет себестоимости, заполнение тяжелых отчетов, закрытие месяца) выполняются строго последовательно в один поток. Если ядро процессора имеет низкую тактовую частоту, то даже при наличии 64 свободных ядер проведение сложного документа будет выполняться медленно. Второй процессор не способен ускорить однопоточную операцию.

Сравним два подхода к выбору процессора:

Рассмотрим популярную ошибку — сборку сервера на дешевых поддержанных процессорах со вторичного рынка (например, комплекты из Китая на базе старых Xeon E5). Такие процессоры имеют низкую удельную производительность на ядро по современным меркам и низкую частоту шины памяти. Для продакшн-сервера компании с 50 пользователями такое решение неприемлемо из-за высоких рисков отказа оборудования и низкой скорости работы.

Дисковая подсистема: почему игровые SSD опасны для баз данных

В процессе обсуждения конфигураций часто возникает соблазн сэкономить на дисках и установить потребительские (игровые) накопители PCIe 4.0 (например, Patriot, Samsung EVO) вместо специализированных серверных решений. Это критическая ошибка, которая может привести к полной потере базы данных.

Выясним основные причины, почему десктопные SSD не подходят для сервера 1С + СУБД:

  1. Отсутствие защиты от потери питания (PLP - Power Loss Protection): Серверные SSD оснащены суперконденсаторами. В случае внезапного отключения электричества накопленной энергии хватает, чтобы экстренно переписать данные из энергозависимого кэша накопителя в энергонезависимую флэш-память. У потребительских дисков такой защиты нет. При сбое питания кэш диска мгновенно затирается, что гарантированно приводит к разрушению структуры базы данных СУБД.
  2. SLC-кэширование и падение скорости: Игровые накопители используют технологию кэширования: они быстро пишут данные (на заявленной скорости 4000–7000 МБ/с) только в пределах небольшого объема SLC-кэша. Как только кэш заполняется (а при активной работе 50 пользователей, обмене с сайтом и записи логов транзакций это произойдет за считанные минуты), скорость записи падает ниже уровня обычного жесткого диска HDD. Серверные накопители Enterprise-класса обеспечивают стабильную, предсказуемую скорость записи на протяжении всего времени работы.
  3. Ресурс на перезапись (DWPD/TBW): Базы данных постоянно совершают операции случайной записи (работа с временными таблицами tempdb, запись журнала транзакций). Потребительский накопитель под такой нагрузкой исчерпает свой ресурс и выйдет из строя за несколько месяцев. Серверные SSD (класса Mixed Use или Write Intensive) спроектированы под непрерывную работу в режиме 24/7 и имеют ресурс, в десятки раз превышающий показатели домашних дисков.

Оптимальные конфигурации сервера под 1С на 50 пользователей

Проанализируем две проверенные и надежные конфигурации для работы 50 пользователей в базе с объемом номенклатуры 100 тыс. позиций и активным обменом.

Вариант 1. Классический сервер на серверных компонентах (Рекомендуемый)

Этот вариант собирается в специализированном серверном шасси (например, 1U/2U для установки в стойку) с использованием серверной материнской платы и процессора с поддержкой ECC-памяти.

Вариант 2. Высокопроизводительный сервер на базе рабочей станции (Бюджетный)

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

Выбор операционной системы и веб-сервера

Посмотрим на программную часть сервера. В первом сообщении автор планирует использовать связку Windows 10 + PostgreSQL + IIS. Разберем слабые места этого выбора:

Итоги и рекомендации

Резюмируя проведенный анализ, сформулируем ключевые правила для сборки производительного сервера 1С на 50 пользователей:

  1. Откажитесь от двух процессоров. Архитектура NUMA создаст задержки в оперативной памяти, а платформа 1С не сможет распределить нагрузку эффективно. Один мощный процессор всегда будет быстрее двух средних.
  2. Соблюдайте ограничения лицензий. Если вы используете стандартную серверную лицензию «1С:ПРОФ», помните, что сервер приложений будет использовать только 12 ядер. Ориентируйтесь на процессоры, у которых частота на ядро максимальна в рамках этого лимита.
  3. Используйте только серверные диски (Enterprise). Наличие технологии защиты кэша от потери питания (PLP) гарантирует сохранность ваших баз при аварийном отключении электроэнергии, а высокий ресурс дисков сбережет систему от внезапных аппаратных сбоев.
  4. Выбирайте серверную ОС. Windows Server или Linux — единственные стабильные варианты для организации одновременной работы 50 пользователей.
← На главную