Главное недоразумение при выборе
Типичная история: компания покупает мощный сервер с двумя процессорами по 64 ядра, ставит 1С — и получает работу медленнее, чем на прежней машине.
Причина в том, что 1С устроена не так, как большинство серверных задач. Значительная часть её работы — проведение документов, пересчёт итогов, выполнение процедур на встроенном языке — идёт в один поток. Один пользователь в один момент времени нагружает одно ядро.
Отсюда правило, из которого следует почти всё остальное: для 1С частота одного ядра важнее, чем их количество. Процессор с 16 ядрами по 4,5 ГГц обслужит пользователей заметно бодрее, чем 64 ядра по 2,2 ГГц, — и обойдётся дешевле.
Как считать ядра
Ядра всё же нужны — вопрос в том, сколько.
Ориентир для рабочей нагрузки: одно физическое ядро на 8–12 активных пользователей. Разброс объясняется характером работы: операторы, весь день пробивающие документы, нагружают систему сильнее, чем сотрудники, изредка открывающие отчёты.
Отдельно нужно учесть фоновые процессы: регламентные задания, обмены с другими системами, формирование тяжёлых отчётов. Обычно это ещё 2–4 ядра сверх пользовательской нагрузки.
Практический расчёт для 50 активных пользователей: 50 / 10 = 5 ядер на пользователей, плюс 4 на фон, плюс запас — итого 10–12 физических ядер. Часто этого оказывается достаточно, и разница между такой машиной и 64-ядерным монстром уходит в бюджет на память и накопители, где она даст реальный эффект.
Что смотреть в характеристиках
Частота в турбо-режиме, а не базовая. 1С работает всплесками: пользователь нажал кнопку — процессор должен отработать максимально быстро. Именно турбо-частота определяет отзывчивость.
Кэш третьего уровня. Недооценённый параметр. Чем больше кэша, тем реже процессор обращается к памяти, и для СУБД это заметно. При прочих равных модель с большим кэшем предпочтительнее.
Число физических ядер, а не потоков. Многопоточность даёт прирост на смешанной нагрузке, но одно физическое ядро всегда быстрее половины ядра с двумя потоками. Считайте по физическим.
Отсутствие энергосберегающих режимов в настройках. Об этом ниже — там кроется частая причина необъяснимых тормозов.
Лицензии: то, что часто перевешивает всё остальное
Пункт, из-за которого расчёт по одной лишь цене железа регулярно оказывается неверным.
Лицензии на серверную СУБД считаются по ядрам. Стоимость лицензий на сервер с большим числом ядер способна превысить стоимость самого сервера — иногда кратно.
Отсюда прямое следствие: процессор с меньшим числом более быстрых ядер выгоден дважды — он и работает под 1С лучше, и обходится дешевле по лицензиям.
Порядок расчёта должен быть таким: сначала прикинуть необходимое число ядер по нагрузке, затем узнать стоимость лицензий для этого числа, и только потом смотреть на процессоры. Иначе легко купить железо, к которому не получится докупить лицензии в рамках бюджета.
Серверный или десктопный процессор
Вопрос, который вызывает споры, но имеет вполне практичный ответ.
Довод за десктопный процессор. Настольные модели старших линеек работают на частотах, недостижимых для серверных: 5 ГГц и выше против типичных 2,5–3,5 ГГц. Для 1С это прямой выигрыш в отзывчивости при меньшей цене.
Доводы против. Настольная платформа не поддерживает память с коррекцией ошибок в полном объёме, ограничена по её максимальному количеству, не имеет резервирования питания, горячей замены дисков и полноценного удалённого управления.
Как выбирать. Для небольшой компании до 20–30 пользователей, где сервер стоит в офисе и простой в несколько часов не критичен, мощный настольный процессор — рабочий и экономный вариант. Многие так и делают.
Для организации, где остановка учётной системы означает остановку работы, серверная платформа оправдана: не ради производительности, а ради возможности пережить отказ компонента без простоя.
Компромисс, который часто оказывается лучшим: серверная платформа, но с процессором из высокочастотных моделей, а не с максимальным числом ядер.
Куда уходят деньги, если не в процессор
Раз ядер нужно меньше, чем кажется, сэкономленное стоит вложить туда, где оно даст больше.
Накопители — на первом месте. 1С чувствительна к задержкам дисковой подсистемы сильнее, чем к чему-либо ещё. Обычные жёсткие диски под базу — главная причина жалоб на медлительность. Нужны накопители NVMe корпоративного класса, рассчитанные на интенсивную запись.
Память — на втором. База должна помещаться в оперативную память целиком, тогда обращения к диску сводятся к минимуму. Считайте по размеру базы с запасом на рост: если база 40 ГБ, разумно взять 128 ГБ памяти.
Процессор — на третьем. Ровно столько ядер, сколько нужно по расчёту, но с максимально доступной частотой.
Настройки, без которых железо не раскроется
Самая обидная категория проблем: сервер куплен правильный, а работает плохо.
Энергосбережение. По умолчанию системы часто настроены на баланс энергопотребления, и процессор снижает частоту при неполной загрузке. Для 1С это критично: нагрузка как раз всплесками, и процессор не успевает разогнаться. Режим максимальной производительности нужно включить и в настройках операционной системы, и в настройках платформы.
Многопоточность. Иногда её отключение улучшает результат — потоки конкурируют за ресурсы ядра. Стоит проверить на своей нагрузке, эффект зависит от характера работы.
Виртуализация. Если 1С работает в виртуальной машине, обратите внимание на настройки процессорных ресурсов. Ограничения и переподписка ресурсов дают ровно тот эффект, ради борьбы с которым покупался быстрый процессор.
Раздельное размещение. Сервер приложений и сервер СУБД, работающие на одной машине, конкурируют за ресурсы. При заметной нагрузке их разносят.
Типичные ошибки
Покупка по числу ядер. Самая частая и самая дорогая: переплата за железо, переплата за лицензии, результат хуже ожидаемого.
Экономия на дисках. Обесценивает любой процессор.
Игнорирование лицензий при расчёте бюджета. Обнаруживается, когда железо уже куплено.
Оставленные настройки энергосбережения. Съедает заметную часть производительности незаметно для администратора.
Расчёт по общему числу сотрудников. Считать нужно одновременно работающих, а их обычно существенно меньше.
Коротко
1С во многом однопоточна, поэтому частота ядра важнее их количества. Ориентир — одно физическое ядро на 8–12 активных пользователей плюс несколько на фоновые задачи.
Лицензии на СУБД считаются по ядрам и часто перевешивают стоимость железа. Считать нужно совокупную сумму, и здесь меньшее число быстрых ядер выигрывает дважды.
Сэкономленное на процессоре разумно вложить в быстрые накопители и объём памяти — там оно даст больше отдачи.
И проверьте настройки энергосбережения: правильно купленный сервер с неверными настройками работает как неправильно купленный.
Подбираете сервер под 1С — напишите число пользователей и размер базы, рассчитаем конфигурацию с учётом лицензий.
