При выборе серверного процессора нельзя смотреть только на число ядер или только на максимальную частоту. Производительность зависит от архитектуры CPU, количества сокетов, частоты под нагрузкой, памяти, NUMA-топологии и характера приложения.
Что определяет производительность CPU
У серверного процессора есть несколько важных характеристик: количество физических ядер, базовая и динамическая частота, число процессорных сокетов в платформе, объём кэша, поддерживаемая память и лимиты мощности. Каждая из них влияет на разные типы нагрузки.
| Параметр | Что показывает | Где особенно важен |
|---|
| Ядра | Потенциал параллельного выполнения вычислений | Виртуализация, многопоточные сервисы, вычислительные задачи |
| Частота | Скорость выполнения работы одним ядром при конкретном режиме нагрузки | Чувствительные к single-thread приложения, часть задач 1С и СУБД |
| Сокеты | Количество установленных физических CPU | Большой объём RAM, больше ядер и линий ввода-вывода |
| Кэш | Быстрая память внутри процессора | Нагрузки с повторным доступом к рабочему набору данных |
| TDP / power limit | Тепловой и энергетический класс процессора | Совместимость платформы, питания и охлаждения |
Ядра или частота
Больше ядер полезно, когда приложение умеет эффективно распараллеливать работу или на одном хосте одновременно работает много виртуальных машин. Высокая производительность отдельного ядра важнее для задач, где критична скорость одного или небольшого числа потоков.
Поэтому два процессора с одинаковым числом ядер могут давать разный результат, а процессор с меньшим числом ядер иногда оказывается лучше для конкретной нагрузки.
Что такое сокет
Сокет — физический разъём для процессора на системной плате. Сервер может быть одно- или многосокетным. Дополнительный сокет увеличивает доступный вычислительный ресурс, количество каналов памяти и возможностей ввода-вывода, но одновременно усложняет топологию доступа к памяти.
Что такое NUMA
В многосокетной системе память физически распределена между процессорами. Процессор быстрее обращается к памяти, подключённой к его собственным контроллерам, чем к памяти другого сокета. Такая архитектура называется NUMA — Non-Uniform Memory Access.
NUMA особенно важна для крупных виртуальных машин, баз данных и приложений, которым требуется много CPU и RAM. Если нагрузка постоянно обращается к памяти другого NUMA-узла, задержки могут увеличиваться.
Практический смысл NUMAПри расчёте крупной VM или СУБД важно учитывать не только суммарные ядра и RAM сервера, но и то, как эти ресурсы распределены между физическими процессорами.
CPU для виртуализации
Для хоста виртуализации оценивают количество VM, их реальную загрузку, допустимый CPU overcommit и требования к HA. Простое сложение всех заявленных vCPU обычно не равно необходимому количеству физических ядер.
CPU для 1С и СУБД
В транзакционных и чувствительных к задержкам системах важно проверить баланс между количеством ядер и производительностью одного ядра. Отдельно учитывают требования конкретной СУБД, приложения и модель лицензирования: часть программного обеспечения лицензируется с учётом сокетов или ядер.
Почему нельзя выбирать CPU отдельно от платформы
Конкретная модель сервера должна поддерживать выбранный процессор по сокету, поколению, мощности и firmware. Также важны число доступных DIMM, PCIe-линий, сетевые карты, дисковая подсистема и охлаждение.
COMPUTEМного потоковСмотрим на ядра, масштабирование приложения и реальную параллельность.
LATENCYБыстрое ядроДля части СУБД и прикладных систем важна производительность отдельного потока.
PLATFORMВся системаCPU нужно считать вместе с RAM, NUMA, PCIe, сетью и охлаждением.