HostiServer
2026-02-16 08:44:00
Ядра vs потоки: як обрати CPU для сервера у 2026
Ядра і потоки: що насправді впливає на швидкість сервера
Вибираєте сервер і бачите "8 cores / 16 threads" — що це означає на практиці? Чи буде ваш сайт швидшим на 16-потоковому процесорі порівняно з 8-ядерним без Hyper-Threading? І чому WordPress на 4 швидких ядрах працює краще, ніж на 8 повільних?
Це не академічні питання. Від правильного вибору CPU залежить, чи витримає ваш сайт наплив трафіку під час розпродажу, чи буде адмінка гальмувати при редагуванні контенту, і скільки ви платитимете за хостинг.
У цьому гайді розберемо різницю між ядрами та потоками простою мовою, покажемо як перевірити CPU на вашому сервері, і дамо конкретні рекомендації для різних типів проєктів.
Ядра, потоки, Hyper-Threading: базові поняття
Що таке ядро (Core)
Ядро — це фізичний обчислювальний блок всередині процесора. Кожне ядро може виконувати інструкції незалежно від інших. Якщо у вас 4-ядерний процесор — це як мати 4 окремих працівників, кожен з яких може виконувати свою задачу одночасно.
Більше ядер = більше паралельної роботи. Коли на сервер приходять 100 запитів одночасно, 8-ядерний процесор може обробляти 8 запитів паралельно, а 4-ядерний — тільки 4.
Що таке потік (Thread)
Потік — це логічна одиниця виконання. Один фізичний процес може мати кілька потоків, які ділять ресурси ядра. Потоки дозволяють ядру не простоювати, коли одна задача чекає на дані з пам'яті або диска.
Уявіть кухаря, який готує страву. Поки м'ясо смажиться (I/O операція — чекання), він може нарізати овочі (інша задача). Це і є багатопотоковість — використання часу очікування для корисної роботи.
Hyper-Threading (Intel) та SMT (AMD)
Hyper-Threading (Intel) та SMT — Simultaneous Multithreading (AMD) — технології, які дозволяють одному фізичному ядру обробляти два потоки одночасно. Процесор з 8 ядрами та Hyper-Threading показує системі 16 логічних процесорів.
Важливо розуміти: 16 потоків ≠ 16 ядер. Hyper-Threading дає приріст продуктивності 20-30%, не 100%. Два потоки на одному ядрі ділять його ресурси — кеш, обчислювальні блоки, шину пам'яті.
ℹ️ Проста формула: Якщо бачите "8C/16T" — це 8 фізичних ядер і 16 логічних потоків (Hyper-Threading увімкнено). Реальна продуктивність десь між 8 і 16 ядрами, ближче до 10-12 "еквівалентних" ядер для типових серверних задач.
Коли кількість ядер критична
Ядра дають справжній паралелізм. Це важливо коли:
Багато одночасних запитів
Веб-сервер обробляє кожен HTTP-запит окремо. 100 одночасних відвідувачів = 100 задач, які конкурують за CPU. Більше ядер — коротші черги, швидші відповіді.
Важкі обчислення
Задачі, які активно використовують CPU: шифрування, компресія, рендеринг, обробка зображень, компіляція коду. Тут потоки майже не допомагають — потрібні фізичні ядра.
Ізольовані сервіси
Коли на одному сервері працюють MySQL, PHP-FPM, Redis, Nginx — кожен сервіс потребує своїх ресурсів. З 4 ядрами вони постійно конкурують, з 8-12 — можуть працювати паралельно.
Скільки ядер для типових задач
| Сценарій | Мін. ядер | Рекомендовано |
|---|---|---|
| Невеликий блог, портфоліо | 1-2 | 2-4 |
| WordPress з плагінами | 2-4 | 4-6 |
| WooCommerce / OpenCart | 4-6 | 6-8 |
| Magento 2 | 6-8 | 8-12 |
| API / SaaS | 4-8 | 8-16 |
| Аналітика, ETL | 8-12 | 12-24 |
Коли потоки дають перевагу
Потоки допомагають ядру не простоювати. Це корисно коли:
Багато I/O операцій
Читання з диска, запити до бази даних, мережеві виклики — все це "блокуючі" операції. Поки один потік чекає відповіді від MySQL, інший може обробляти наступний запит. Hyper-Threading саме для цього і створений.
Легкі паралельні задачі
Обробка черг, відправка email, генерація thumbnails, фонові cron-задачі. Кожна задача невелика, але їх багато — потоки допомагають розподілити навантаження.
Веб-сервери з великою кількістю з'єднань
Nginx та Apache можуть тримати тисячі одночасних з'єднань. Більшість з них — idle (чекають на дані). Потоки дозволяють ефективно обслуговувати цю "масу" з'єднань без простою ядер.
Де потоки НЕ допомагають
Якщо задача на 100% використовує CPU (чисті обчислення без очікування) — другий потік на тому ж ядрі тільки заважатиме, створюючи конкуренцію за ресурси. Для таких задач краще більше фізичних ядер.
Cores vs Threads: коротке порівняння
| Аспект | Ядра (Cores) | Потоки (Threads) |
|---|---|---|
| Природа | Фізичні обчислювальні блоки | Логічні одиниці виконання |
| Паралелізм | Справжній — задачі виконуються одночасно | Псевдо — ділять ресурси одного ядра |
| Приріст | Лінійний (2 ядра ≈ 2× продуктивність) | 20-30% від Hyper-Threading |
| Найкраще для | CPU-bound задачі, паралельні запити | I/O-bound задачі, очікування |
| Ціна | Більше ядер = дорожче | Hyper-Threading майже безкоштовний |
Чому швидкість одного ядра важлива для PHP
PHP — однопотоковий. Кожен запит до WordPress, WooCommerce, Laravel обробляється в одному потоці від початку до кінця. Це означає, що швидкість одного ядра (single-thread performance) напряму впливає на час відповіді.
Приклад: Процесор A має 32 ядра по 2.0 GHz. Процесор B має 8 ядер по 3.8 GHz. Для PHP-сайту процесор B буде швидшим — кожен окремий запит виконається майже вдвічі швидше. 32 ядра процесора A допоможуть тільки якщо у вас справді 32+ одночасних запитів постійно.
На що дивитись
- Base Clock — базова частота (важлива для стабільного навантаження)
- Boost Clock — максимальна частота (для піків)
- IPC (Instructions Per Cycle) — скільки інструкцій виконує ядро за такт. Новіші архітектури мають вищий IPC
- Single-thread benchmark — на PassMark або Geekbench
Для типового WordPress/WooCommerce сайту краще 4 швидких ядра (3.5+ GHz), ніж 8 повільних (2.0 GHz). Якщо у вас high-traffic з сотнями одночасних запитів — тоді кількість ядер стає важливішою.
💡 Практичний орієнтир: AMD EPYC та Intel Xeon Scalable 3-го/4-го покоління мають хороший баланс — висока частота (3.0-3.8 GHz) і багато ядер. Для VPS перевіряйте яка саме модель CPU використовується.
Як перевірити CPU на сервері
Команда lscpu
Найінформативніша команда для перевірки процесора:
lscpu
Важливі поля у виводі:
Architecture: x86_64
CPU(s): 16 # Загальна кількість логічних процесорів
Thread(s) per core: 2 # Потоків на ядро (2 = Hyper-Threading)
Core(s) per socket: 8 # Фізичних ядер на сокет
Socket(s): 1 # Кількість фізичних процесорів
Model name: AMD EPYC 7543 32-Core Processor
CPU MHz: 2800.000
CPU max MHz: 3700.0000 # Boost частота
Швидка перевірка кількості процесорів
# Логічних процесорів (cores × threads)
nproc
# Або через /proc
cat /proc/cpuinfo | grep "processor" | wc -l
# Тільки фізичні ядра
cat /proc/cpuinfo | grep "cpu cores" | uniq
Моніторинг в реальному часі
# htop показує всі ядра/потоки окремо
htop
# mpstat показує статистику по кожному CPU
mpstat -P ALL 1
Перевірка на VPS: чи не обманюють?
На VPS команда lscpu покаже віртуальні CPU (vCPU). Один vCPU зазвичай = один потік фізичного процесора. Щоб зрозуміти реальну продуктивність:
# Простий benchmark
sysbench cpu --threads=4 run
# Або stress test
stress-ng --cpu 4 --timeout 60s --metrics-brief
Рекомендації для різних проєктів
WordPress / блоги / корпоративні сайти
Конфігурація: 2-4 ядра, 4-8 потоків, висока частота (3.0+ GHz)
Пріоритет: Швидкість одного ядра важливіша за кількість. PHP однопотоковий — кожен запит залежить від швидкості одного ядра.
Порада: Винесіть базу даних на окремий сервіс або використовуйте Redis для object cache — це зніме навантаження з CPU.
WooCommerce / OpenCart / PrestaShop
Конфігурація: 4-8 ядер, 8-16 потоків, 8-16 GB RAM
Пріоритет: Баланс між швидкістю ядра та їх кількістю. Checkout і каталог з фільтрами створюють багато паралельних запитів.
Порада: Під час розпродажів трафік зростає в рази. Майте запас мінімум 30% або налаштуйте автоскейлінг.
Magento 2
Конфігурація: 8-12 ядер, 16-24 потоки, 16-32 GB RAM
Пріоритет: Magento дуже вимогливий до ресурсів. Потрібні і швидкі ядра, і їх достатня кількість.
Порада: Varnish cache обов'язковий. Без нього навіть потужний сервер буде гальмувати.
API / SaaS / Мікросервіси
Конфігурація: 8-16 ядер, 16-32 потоки, 16-64 GB RAM
Пріоритет: Багато паралельних запитів, часто I/O-bound. Потоки тут дуже корисні.
Порада: Розділяйте сервіси: API, воркери, база даних — на різні контейнери або сервери.
Аналітика / ETL / Обробка даних
Конфігурація: 12-24+ ядер, максимум потоків, 32-128 GB RAM
Пріоритет: Тут кількість ядер критична. Задачі добре паралеляться.
Порада: Зверніть увагу на L3 cache та швидкість пам'яті — для аналітики це важливо.
vCPU на VPS: що насправді отримуєте
На VPS ви бачите vCPU (virtual CPU) — віртуальні процесори. Що за ними стоїть — залежить від провайдера:
- 1 vCPU = 1 фізичне ядро — найкращий варіант, рідко зустрічається
- 1 vCPU = 1 потік (Hyper-Threading) — найпоширеніший варіант
- 1 vCPU = частка ядра (overcommit) — бюджетні хостинги, ресурси ділять між клієнтами
Як розпізнати overcommit
Якщо ваш VPS показує нестабільну продуктивність — вранці швидко, ввечері повільно — це ознака overcommit. Сусіди по фізичному серверу забирають ваші ресурси.
Перевірте Steal Time у top або htop:
top
Якщо бачите %st (steal) більше 1-2% — це означає що гіпервізор віддає ваш CPU час іншим віртуальним машинам.
⚠️ На що звертати увагу при виборі VPS:
• Яка модель CPU використовується (має бути вказано)
• Гарантовані чи shared ресурси
• Політика overcommit провайдера
• Відгуки про стабільність продуктивності
Типові помилки
- ❌ "Більше потоків = швидше"
-
Для CPU-bound задач (шифрування, компресія, PHP без I/O) потоки майже не допомагають. 8 ядер без Hyper-Threading можуть бути швидшими за 4 ядра з 8 потоками для таких задач.
- ❌ "32 vCPU — це як 32 ядра"
-
На VPS 32 vCPU зазвичай означає 16 ядер з Hyper-Threading, або навіть менше якщо є overcommit. Завжди уточнюйте у провайдера що саме стоїть за vCPU.
- ❌ "PHP workers = кількість ядер × 2"
-
Популярна формула, але не універсальна. Для CPU-bound навантажень краще workers ≈ кількість ядер. Для I/O-bound (багато запитів до БД) можна більше. Тестуйте під вашим навантаженням.
- ❌ "Один потужний сервер краще за два середніх"
-
Розділення ролей (web, database, cache) на різні сервери часто дає кращу продуктивність і надійність. Кожен сервіс отримує виділені ресурси без конкуренції.
- ❌ "Дефолтні налаштування підходять всім"
-
PHP-FPM, MySQL, Nginx мають консервативні дефолти. Під ваш конкретний CPU та навантаження їх треба тюнити: worker counts, buffer sizes, connection limits.
🚀 Готові обрати правильний сервер?
Гнучкість Cloud (VPS) або потужність виділених серверів — рішення що масштабуються з вашим зростанням.
💻 Cloud (VPS) Хостинг
- Від $19.95/міс — Починайте малим, масштабуйте миттєво
- KVM віртуалізація — Гарантовані ресурси без overselling
- Миттєві апгрейди — Без простою
- NVMe сховище — Швидка продуктивність
- 24/7 підтримка — <10 хв відповідь
🖥️ Виділені Сервери
- Від $200/міс — Сучасні конфігурації
- Кастомні конфігурації — Intel або AMD, найсвіжіші моделі
- Кілька локацій — EU + USA
- 99.9% uptime — Надійність
- DDoS захист — Включено
- Безкоштовна міграція — Ми допоможемо
- Private Cloud підтримка — Proxmox, VMware, OpenStack
💬 Не впевнені який варіант вам необхідний?
💬 Напишіть нам і ми зі всім допоможемо!
Часті запитання
- Hyper-Threading завжди корисний?
-
Для більшості серверних задач — так, дає 20-30% приросту. Але для чисто обчислювальних задач (рендеринг, криптографія) іноді краще вимкнути HT і отримати стабільнішу продуктивність кожного ядра.
- Що важливіше для WordPress: частота чи кількість ядер?
-
Для типового сайту — частота (single-thread performance). PHP однопотоковий, кожен запит виконується в одному ядрі. Для high-traffic сайту з сотнями одночасних запитів — потрібен баланс.
- Як зрозуміти що пора апгрейдити CPU?
-
Ознаки: TTFB постійно зростає, черги PHP-FPM переповнені, CPU usage стабільно вище 70-80%, Steal Time на VPS більше 2%. Якщо оптимізація софту вже зроблена — час апгрейдити залізо.
- AMD чи Intel для сервера?
-
У 2026 році обидва виробники мають відмінні серверні лінійки. AMD EPYC часто дає більше ядер за ті самі гроші. Intel Xeon має трохи кращу single-thread продуктивність в деяких моделях. Для більшості задач різниця мінімальна.
- Чи варто вимикати Hyper-Threading?
-
Для 99% серверних сценаріїв — ні, залиште увімкненим. Вимикають HT тільки для специфічних задач: real-time системи, деякі HPC workloads, або коли потрібна максимально передбачувана латентність.