VDS и обычный VPS: как измерить и сравнить производительность CPU
Измерьте реальную производительность CPU сервера с помощью sysbench, steal time и повторяемых тестов и увидите, что меняют выделенные ядра.
Руководства · 1 мин чтения
Два сервера на бумаге могут выглядеть одинаково (4 vCPU, 8 ГБ RAM), но вести себя очень по-разному в зависимости от того, как делится ресурс CPU. В руководстве описан метод измерения, чтобы вы увидели разницу сами.
Разница между VPS и VDS
| Обычный VPS | VDS (выделенные ядра) | |
|---|---|---|
| Ядра CPU | Физические ядра делятся с другими серверами | Ядра закреплены за вами |
| Производительность | Может колебаться в зависимости от нагрузки соседей | Стабильнее и предсказуемее |
| Подходит для | Сайтов, лёгких сервисов, разработки и тестирования | Баз данных, игровых серверов, сборок, постоянно тяжёлых задач |
В наших тарифах семейства Core и Performance используют модель общих ресурсов, а семейство Max Performance — выделенные ресурсы (подробности на странице тарифа).
1. Подготовка
sudo apt update && sudo apt install -y sysbench htop
lscpu | grep -E "Model name|^CPU\(s\)|MHz"
Перед измерением убедитесь, что на сервере не выполняется другая тяжёлая работа (htop).
2. Базовый тест CPU
Сделайте два отдельных замера — на одном ядре и на всех ядрах:
sysbench cpu --cpu-max-prime=20000 --threads=1 run
sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run
В выводе смотрите events per second: чем больше, тем быстрее. Запускайте каждый тест не менее 3 раз и отмечайте разброс результатов.
3. Измерьте стабильность: steal time
Steal time — время, которое виртуальная машина ждёт, потому что хочет процессорное время, а физическое ядро занято другой виртуальной машиной. Если оно высокое, ваш сервер «жалуется» на общий CPU:
vmstat 1 10 # столбец "st"
top # "st" в верхней строке %Cpu
Если под нагрузкой st остаётся около нуля, это признак выделенных ресурсов; если он часто достигает нескольких процентов, CPU общий.
4. Тест при длительной нагрузке
Короткие тесты показывают пиковую производительность, но не стабильность. Дайте нагрузку на 5–10 минут и посмотрите, падает ли производительность:
sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) --time=300 run
# в другом терминале:
vmstat 5
5. Как трактовать результаты
- Результат на одном ядре: важен для игровых серверов, PHP-запросов и однопоточных задач.
- Результат на всех ядрах: важен для сборок, кодирования и параллельных задач.
- Колебания и steal time: объясняют ощущение «иногда тормозит», о котором говорят пользователи.
При сравнении используйте одну и ту же ОС, одно число ядер и одни и те же команды; делайте несколько замеров в разное время.
Что делать с результатом
- Если производительности хватает и колебаний нет, оставайтесь на текущем тарифе.
- Для тяжёлых задач, требующих стабильной производительности, перейдите на тариф с выделенными ядрами: повышение тарифа.
- Для максимальной производительности и полного контроля над оборудованием рассмотрите выделенные серверы.
Начните с Melinhost
Сравните семейства облачных серверов под свои задачи; снимки и смена тарифа из панели упрощают эксперименты.