При проектировании серверной инфраструктуры для работы 1С:Предприятие 8.3 на 50 пользователей, где часть сотрудников работает в тяжелых конфигурациях (БП 3.0 КОРП, ЗУП 3.0 КОРП), а остальные используют терминальный сервер для офисных задач, крайне важно избежать типовых ошибок при выборе "железа". Разберем ситуацию на примере предложенной конфигурации и проанализируем, почему стандартный подход "взять побольше ядер" здесь может не сработать.
В исходном запросе рассматривался процессор Intel Xeon Gold 5118 с базовой частотой 2.3 ГГц. Проанализируем, почему это критическое место для 1С. Платформа 1С:Предприятие (особенно на управляемых формах) является крайне чувствительной к производительности на одно ядро (Single-core performance). Это связано с тем, что многие бизнес-процессы в 1С выполняются последовательно в рамках одного потока.
Рассмотрим подробнее механизм работы. Процессор с низкой базовой частотой (2.3 ГГц) даже при наличии Turbo Boost до 3.2 ГГц будет показывать низкие результаты в тесте Гилева (интегральный тест производительности 1С). В многопользовательской среде, когда все 50 пользователей создают нагрузку, технология Turbo Boost будет работать нестабильно, сбрасывая частоты до базовых значений из-за тепловыделения. В результате мы получим ситуацию, когда ядер много, но каждое из них работает медленно, что приведет к "фризам" интерфейса у пользователей 1С.
Выясним, какие альтернативы будут более эффективными. Для систем с SQL-сервером и терминальным доступом на 50 человек целесообразно рассмотреть процессоры с базовой частотой от 3.0 ГГц и выше. Посмотрим на модели типа Intel Xeon Gold 6136 или 6134. Несмотря на меньшее количество ядер в некоторых моделях, их высокая частота обеспечит мгновенный отклик системы, что для бухгалтерии и расчета зарплаты является приоритетом.
Проанализируем предложенную конфигурацию памяти: 8 модулей по 32 Гб на два процессора. Здесь кроется вторая серьезная ошибка архитектуры. Процессоры семейства Intel Xeon Scalable имеют 6-канальный контроллер памяти.
Разберем по шагам, к чему ведет установка 4 планок на один процессор вместо 6 или 12:
Рассмотрим правильный подход: для обеспечения максимальной производительности необходимо устанавливать либо 6, либо 12 модулей памяти на каждый физический процессор. В нашем случае, для достижения объема в 256 Гб, оптимально было бы использовать 12 планок меньшего объема или пересмотреть общий объем в сторону увеличения, заполнив все 12 слотов (по 6 на сокет).
В исходном проекте были выбраны Intel SSD S4500 (SATA). Это накопители класса Read Intensive (для интенсивного чтения). Посмотрим на ситуацию со стороны нагрузки 50 пользователей терминала. Каждый пользователь открывает браузер (Chrome, Edge), который активно пишет кэш на диск. Параллельно SQL-сервер постоянно пишет логи транзакций и использует tempdb.
Проанализируем риски: интерфейс SATA имеет ограничение пропускной способности (около 550 МБ/с) и, что более важно, низкую глубину очереди по сравнению с современными протоколами. Для базы данных, логов SQL и профилей пользователей рекомендуется использовать NVMe-накопители. Скорость случайного чтения/записи (IOPS) у NVMe в разы выше, что исключает "затыки" системы при одновременном сохранении документов несколькими пользователями.
Рекомендуется разделить дисковое пространство:
tempdb.Выясним причину, по которой 35 "офисных" пользователей могут замедлить работу 15 пользователей 1С. Работа в браузере через RDP — это ресурсозатратная операция для центрального процессора, так как серверу приходится отрисовывать графику страниц и передавать её по сети. Современные сайты с обилием скриптов могут потреблять до 1-2 Гб ОЗУ на одну вкладку браузера.
Рассмотрим расчет ресурсов:
Итого: 256 Гб — это разумный минимум, но при условии, что SQL Server будет ограничен в потреблении памяти, чтобы не "задушить" терминальные сессии.
Проанализируем вопрос виртуализации. Использование гипервизора (ESXi, Hyper-V) крайне желательно. Это позволит нам разделить роли:
Такое разделение повышает отказоустойчивость. Если один из пользователей "повесит" терминальный сервер тяжелым процессом в браузере, SQL-сервер продолжит работать стабильно. Однако помните о лицензировании SQL Server по ядрам. Выбрав двухпроцессорную систему по 12 ядер (всего 24 ядра), вы будете вынуждены оплатить 12 лицензионных пакетов SQL, что может существенно превысить стоимость самого железа.
Подводя итог, можно сказать, что предложенный сервер SuperMicro SSG-6029P-E1CR12 больше подходит на роль файлового хранилища из-за большого количества слотов 3.5", чем на роль высокопроизводительного сервера 1С. Для эффективной работы 50 пользователей нам следует:
Соблюдение этих правил позволит создать сбалансированную систему, где пользователи 1С не будут страдать от задержек интерфейса, а администратор — от постоянных жалоб на производительность.