Переход со старого серверного оборудования на новое — всегда ответственный шаг для системного администратора. Ситуация усложняется, когда бюджет ограничен, а на одном физическом сервере планируется объединить сразу несколько критически важных ролей: сервер терминалов (RDS), сервер СУБД (MS SQL или PostgreSQL), сервер приложений 1С и файловое хранилище. Рассмотрим подробно, как правильно подобрать комплектующие для такой системы, избежать классических ошибок с производительностью и настроить сервер для максимального быстродействия.
В нашем сценарии развертывания исходные данные следующие:
Прежде всего выясним причину, почему файловый режим работы при 30 пользователях — это крайне опасная практика. В файловом режиме блокировки происходят на уровне таблиц, а не отдельных записей. При одновременной работе более 5–7 пользователей неизбежно возникают микрозависания, а при аварийном завершении сессии (например, из-за сетевого сбоя или отключения питания) велик риск физического повреждения базы данных. Переход на полноценную СУБД полностью решает эту проблему.
Разберем по шагам логику выбора центрального процессора. Это самый важный компонент сервера 1С, и именно здесь чаще всего совершают дорогостоящие ошибки. Руководство или поставщики часто предлагают купить многопроцессорные системы на базе младших линеек Intel Xeon Bronze или Silver (например, 12-16 ядер с частотой 2.1–2.4 ГГц).
Для 1С это решение будет катастрофически медленным!
Бизнес-логика платформы 1С:Предприятие устроена так, что большинство операций (проведение документов, расчет себестоимости, формирование отчетов) выполняются в один поток. Соответственно, производительность системы напрямую зависит от скорости работы одного ядра (показатель Single-Core Performance), то есть от тактовой частоты процессора и его архитектуры (IPC). Многоядерность важна для параллельной работы множества пользователей, но частота каждого ядра должна быть максимально возможной.
Проанализируем оптимальные варианты процессоров:
Для стабильной работы сервера 1С в BIOS обязательно нужно отключить все функции энергосбережения (C-States, Intel SpeedStep) и перевести профиль электропитания в режим Maximum Performance. Это заставит процессор всегда работать на максимальной тактовой частоте, исключая задержки на «разогрев» ядер при поступлении запроса от пользователя.
Автор исходной темы планирует установить 32 ГБ оперативной памяти. Проверим, хватит ли этого объема для совмещенного сервера.
Произведем детальный расчет потребления памяти:
rphost при активной работе пользователей потребляет в среднем от 3 до 6 ГБ памяти (при формировании тяжелых отчетов потребление может кратковременно вырастать).Сложим полученные показатели: 4 ГБ (ОС) + 10 ГБ (SQL) + 6 ГБ (1С) + 25 ГБ (RDS) = 45 ГБ.
Очевидно, что 32 ГБ памяти для такой совмещенной конфигурации — это критический минимум. Система будет постоянно сбрасывать данные в файл подкачки на диски, что сведет на нет все преимущества быстрых процессоров. Рекомендуемый объем памяти для данного сервера — 64 ГБ ECC DDR4/DDR5 двумя или четырьмя модулями для обеспечения многоканального режима работы.
В обсуждении упоминается использование четырех потребительских дисков Samsung 860 Pro в RAID-массиве. Посмотрим на технические риски такого решения.
Главное отличие серверных SSD от потребительских (Consumer) — это наличие технологии PLP (Power Loss Protection). Серверные накопители оснащены блоком конденсаторов. В случае внезапного отключения электроэнергии накопленного заряда хватает для того, чтобы контроллер успел сбросить данные из быстрого кэша диска в энергонезависимую память.
У потребительских накопителей (таких как Samsung Evo/Pro) защиты PLP нет. При отключении питания данные из кэша диска теряются, что при работе с базой данных СУБД гарантированно приводит к логическому разрушению базы (corruption) или потере транзакций СУБД. Поэтому для баз данных крайне рекомендуется использовать специализированные серверные SSD начального уровня (например, серии Samsung PM893 или аналоги от Intel/Solidigm).
Также важно уделить внимание дисковому контроллеру и RAID. Если вы используете встроенный в материнскую плату RAID-контроллер (чипсетный Intel RSTe), помните, что он не имеет собственной кэш-памяти и батарейки резервного питания (BBU/TFM). Чтобы защитить данные, контроллер может автоматически отключить кэширование записи накопителей, из-за чего скорость записи упадет в десятки раз (до 20–30 МБ/с).
Рассмотрим два варианта решения проблемы:
Когда сервер 1С и СУБД MS SQL работают на одной физической машине, обязательно нужно настроить их локальное взаимодействие. По умолчанию обмен данными идет по сетевому протоколу TCP/IP, даже если программы находятся на одном компьютере. Это создает лишнюю нагрузку на сетевой стек ОС.
Посмотрим, как оптимизировать эту связку:
Max Server Memory. Например, если на сервере установлено 64 ГБ, выделите под SQL не более 16–20 ГБ, оставив остальное под терминалы и сервер 1С.Установка операционной системы Windows Server прямо на «голое железо» (Bare Metal) в современных реалиях не рекомендуется. Гораздо эффективнее развернуть бесплатный гипервизор (например, Proxmox VE, VMware ESXi или Microsoft Hyper-V Server) и запустить сервер 1С и СУБД внутри виртуальной машины.
Преимущества виртуализации очевидны:
Исходя из нашего анализа, соберем сбалансированную и надежную спецификацию сервера 1С под нагрузку до 30 пользователей в рамках разумного бюджета:
TempDB и файлы кэша.Спроектированный таким образом сервер обеспечит бесперебойную и быструю работу пользователей с базами УПП и ЗУП на долгие годы вперед, а переход на клиент-серверный вариант работы повысит безопасность хранения корпоративных данных.