MAATRIX / Блог / Как тестировать CPU на VPS с помощью sysbench

Как тестировать CPU на VPS с помощью sysbench

Как тестировать CPU на VPS: sysbench, стабильность и честные цифры
Блог MAATRIX · 2026-07-07

Провайдер обещает «мощные ядра», но что это значит на практике? Ниже — набор команд, которыми вы за 5 минут измерите реальную производительность процессора своего VPS и поймёте, не режут ли вам частоту под нагрузкой.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Зачем вообще мерить CPU

Цифра «2 vCPU» в тарифе почти ничего не говорит о скорости. Одно и то же количество виртуальных ядер на старом Xeon и на AMD EPYC отличается по производительности в разы. Плюс на переподписанных нодах частота «плавает»: в тесте всё хорошо, а под реальной нагрузкой сервер начинает тормозить, потому что сосед по ноде выел общий ресурс.

Тест CPU решает три задачи: измерить производительность одного ядра (важно для PHP, Node.js, баз данных), измерить суммарную производительность всех ядер (важно для сборок, кодирования, параллельных задач) и проверить стабильность частоты под длительной нагрузкой.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS на AMD EPYC

Ставим sysbench

sysbench — стандарт де-факто для быстрых синтетических тестов. Он есть в репозиториях Debian/Ubuntu и CentOS/AlmaLinux.

# Debian / Ubuntu
apt update && apt install -y sysbench

# AlmaLinux / Rocky / CentOS
dnf install -y epel-release && dnf install -y sysbench

sysbench --version

Заодно поставьте утилиты для контроля: htop, lscpu, util-linux. Полезно сразу посмотреть, что за железо под вами.

lscpu | grep -E 'Model name|MHz|CPU\(s\)|Vendor'

Тест одного ядра (single-thread)

Самый показательный тест для веба и БД — скорость одного потока. Запускаем расчёт простых чисел в один поток:

sysbench cpu --cpu-max-prime=20000 --threads=1 run

Смотрим на строку events per second — чем больше, тем быстрее ядро. На современных AMD EPYC вы увидите заметно более высокие значения, чем на бюджетных нодах, — это прямое следствие высокой частоты и свежей архитектуры Zen.

  • events per second — главный показатель скорости ядра;
  • total time — должно быть близко к 10s (длительность по умолчанию);
  • latency avg/max — если max сильно выше avg, ядро «дёргают» соседи.

Тест всех ядер (multi-thread)

Теперь грузим все выделенные ядра. Подставьте число потоков, равное числу vCPU (узнать: nproc).

sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run

В идеале events per second масштабируется почти линейно: 4 ядра дают примерно вчетверо больше, чем одно. Если прироста почти нет — вам продали «общие» ядра, которые делятся между клиентами. На выделенных ядрах MAATRIX (AMD EPYC + NVMe) масштабирование близко к линейному, потому что ресурс закреплён за вашей виртуалкой.

Тест памяти и планировщика

CPU-производительность — это не только арифметика. sysbench умеет мерить пропускную способность памяти и накладные расходы на переключение потоков, что важно для многопоточных приложений и баз данных.

# пропускная способность памяти (последовательная запись)
sysbench memory --memory-block-size=1M \
    --memory-total-size=20G --memory-oper=write run

# нагрузка на планировщик: борьба потоков за мьютексы
sysbench threads --threads=$(nproc) --thread-yields=1000 \
    --thread-locks=8 --time=30 run

В тесте памяти смотрим на transferred (MiB/sec) — на серверных платформах с многоканальной памятью значения заметно выше десктопных. В тесте threads меньшая latency означает, что планировщик и ядра не перегружены соседями и переключения контекста дёшевы.

Проверка стабильности частоты

Короткий тест могут пройти все. Реальная проверка — длительная нагрузка. Гоняем CPU 5 минут и параллельно смотрим частоту.

# окно 1: долгий тест
sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) --time=300 run

# окно 2: следим за частотой в реальном времени
watch -n 2 "grep MHz /proc/cpuinfo"

Если частота во втором окне проседает на 20-40% через минуту-две — это троттлинг или переподписка ноды. На честном хостинге частота держится ровно всё время теста.

Дополнительно проверьте steal time во время долгого прогона — колонка st в vmstat 2. Нулевой steal под полной нагрузкой означает, что ядра действительно ваши, а не делятся с соседями. Ненулевой и растущий — верный признак переподписанной ноды, и никакой апгрейд тарифа тут не поможет.

Частая ошибка: делать выводы по одному короткому прогону. Запустите тест 3-5 раз подряд в разное время суток и сравните — разброс больше 10% говорит о «шумном соседе» на ноде. Ночью shared-ноды выглядят прекрасно, а в дневной пик проваливаются именно тогда, когда к вам идёт трафик.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS на AMD EPYC

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Какое значение events per second считать хорошим?

Абсолютных норм нет — сравнивайте с эталоном. Для single-thread на свежем AMD EPYC ориентир — от 1500-2000 events/s при cpu-max-prime=20000. Главное, чтобы значение было стабильным между прогонами.

sysbench показывает высокие цифры, а сайт тормозит. Почему?

CPU может быть не узким местом. Проверьте диск (fio), сеть (iperf3) и стабильность частоты под длительной нагрузкой — короткий тест её не ловит.

Нагрузит ли тест соседей по ноде?

На вашей выделенной квоте — нет, вы используете свои ядра. Но на переподписанных нодах ваш тест конкурирует с соседями, и результат будет заниженным и нестабильным.