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

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

Блог MAATRIX · 2026-07-07

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

Зачем вообще мерить 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\napt update && apt install -y sysbench\n\n# AlmaLinux / Rocky / CentOS\ndnf install -y epel-release && dnf install -y sysbench\n\nsysbench --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 умеет мерить пропускную способность памяти и накладные расходы на переключение потоков, что важно для многопоточных приложений и баз данных.', '
# пропускная способность памяти (последовательная запись)\nsysbench memory --memory-block-size=1M \\\n    --memory-total-size=20G --memory-oper=write run\n\n# нагрузка на планировщик: борьба потоков за мьютексы\nsysbench threads --threads=$(nproc) --thread-yields=1000 \\\n    --thread-locks=8 --time=30 run
', 'В тесте памяти смотрим на transferred (MiB/sec) — на серверных платформах с многоканальной памятью значения заметно выше десктопных. В тесте threads меньшая latency означает, что планировщик и ядра не перегружены соседями и переключения контекста дёшевы.']

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

['Короткий тест могут пройти все. Реальная проверка — длительная нагрузка. Гоняем CPU 5 минут и параллельно смотрим частоту.', '
# окно 1: долгий тест\nsysbench cpu --cpu-max-prime=20000 --threads=$(nproc) --time=300 run\n\n# окно 2: следим за частотой в реальном времени\nwatch -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

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

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

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

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

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

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

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