Процессор (CPU, Central Processing Unit) — электронная микросхема, выполняющая машинные инструкции: вычисления, управление памятью, операции ввода-вывода. В серверном контексте процессор — главный параметр вычислительной мощности. От него зависит, сколько запросов в секунду обработает сервер, как быстро выполнятся SQL-запросы и рендеринг страниц.
Серверные процессоры
Для серверов производятся специальные линейки: Intel Xeon и AMD EPYC. Их отличие от потребительских Core i9 и Ryzen 9: поддержка ECC-памяти (коррекция ошибок), многопроцессорные конфигурации (2, 4, 8 сокетов), больше ядер (до 64–96 ядер в одном CPU), большой LLC (Last Level Cache) — до 192–384 МБ у EPYC 4, поддержка PCIe 5.0 с большим числом линий, расширенные возможности виртуализации.
AMD EPYC с архитектуры Rome (2019) доминирует в облачном сегменте благодаря высокой плотности ядер и конкурентной цене. Ampere Altra (ARM) развивается в облаках AWS (Graviton), Google (T2A), Oracle (А1) — ARM-процессоры эффективнее по вычислениям на ватт.
Параметры для хостинга
Тактовая частота (ГГц) важна для однопоточных задач: PHP-FPM обрабатывает большинство запросов в одном потоке. Xeon E-2300 с частотой 3,8–4,8 ГГц быстрее для типичного веб-хостинга, чем 64-ядерный EPYC с частотой 2,6 ГГц.
Количество ядер важно для многозадачности: сервер с 16 ядрами обрабатывает 16 PHP-FPM процессов параллельно. Для баз данных (PostgreSQL, MySQL) больше ядер = больше параллельных запросов.
Кэш L3 — быстрая память внутри CPU. Большой LLC ускоряет работу баз данных (PostgreSQL выигрывает от больших рабочих наборов в кэше).
Hyper-Threading (Intel) или SMT (AMD): каждое физическое ядро представляется как два логических, что увеличивает параллелизм на 20–30% для I/O-нагрузок.
vCPU в виртуализации
vCPU — виртуальный процессорный поток, выделяемый ВМ или контейнеру. 1 физическое ядро с HT = 2 потока = 2 vCPU при сопоставлении 1:1. При оверкоммите один физический поток делят несколько vCPU из разных ВМ.
История серверных процессоров
Intel Pentium Pro (1995) стал первым Intel-процессором с суперскалярной архитектурой для серверов. Xeon появился в 1998 году. AMD Opteron (2003) первым в x86 добавил 64-битный режим и поддержку нескольких сокетов без ограничений — Intel ответил Xeon EM64T в 2004 году. AMD EPYC первого поколения (Naples, 2017) переломил доминирование Intel на серверном рынке. К 2022 году AMD имела ~20% серверного рынка.
Процессор и производительность PHP/Python
PHP и Python — однопоточные интерпретаторы: один запрос выполняется в одном потоке. Поэтому тактовая частота CPU важнее числа ядер для типичного веб-хостинга. PHP-FPM с 16 воркерами обрабатывает 16 запросов одновременно, каждый в одном потоке. Процессор Xeon E-2336 (6 ядер, 3.6–4.8 ГГц Turbo) обеспечит меньшее TTFB для PHP, чем 32-ядерный EPYC с частотой 2.4 ГГц.
База данных — другая история. PostgreSQL и MySQL хорошо параллелятся: комплексные аналитические запросы используют несколько ядер. Для нагруженной СУБД больше ядер + большой LLC (кэш L3) снижают задержку на сложных JOIN-запросах.
NUMA и серверы с несколькими сокетами
NUMA (Non-Uniform Memory Access) — архитектура двух- и четырёхпроцессорных серверов. Каждый процессор имеет «ближнюю» память (local memory, задержка 80–100 нс) и «дальнюю» (remote memory, задержка 150–200 нс). ВМ, назначенная на ядра из двух NUMA-нод, может иметь худшую производительность памяти. CPU pinning с учётом NUMA-топологии — стандартная оптимизация для latency-критичных нагрузок (Redis, высоконагруженные БД).