23.06.2025

Инструмент для Стресс-Теста CPU сервера

Что такое инструмент для стресс-теста?

Инструменты стресс-тестирования являются важной частью процесса оптимизации системы, поскольку они позволяют разработчикам и инженерам выявить потенциальные проблемы в своих системах до их развертывания. Следует отметить, что они не имеют прямого отношения к пользовательскому опыту — единственной целью является обеспечение бесперебойной и отказоустойчивой работы для всех вовлеченных сторон, включая клиентов/пользователей! Вот несколько причин, по которым такие инструменты полезны:

В этой инструкции мы рассмотрим один из примеров такого инструмента для тестирования процессора!

Практическое использование

Обычно для того, чтобы оценить, как наша система будет работать в производстве, нам нужно составить план. Разделите нашу систему на несколько частей: программное обеспечение, аппаратное обеспечение и сеть. Все они должны быть подвергнуты бенчмаркингу со средним значением производительности. В этой части инструкции мы рассмотрим оценку процессора сервера на Linux-машине. Которые занимают большую часть продуктовых серверов в мире. Также на системный процесс влияют скорость дисков, оперативная память и т.д.

Первым делом при любых манипуляциях обновляется пакет в системе одной командой, приведенной ниже:

apt update && apt upgrade -y

Скриншот №1 — Обновление пакетов

Мы будем использовать sysbench для интенсивного и экспресс-тестирования нашего сервера без установки сложного программного обеспечения, что может быть полезно для ситуации, когда нам нужно оценить сервер в определенные сроки. И ответьте, как это будет работать? Процесс установки не является сложным:

apt install sysbench

Скриншот №2 — Пакетная установка

Дождитесь окончания процесса, и теперь мы можем использовать утилиту для тестирования. Остановите все бесполезные службы или демоны, которые вы не будете использовать в системе. Синтаксис команды  sysbench [options] [testname], этот инструмент так же может проверять оперативную память, систему ввода-вывода и т. д., но мы рассматриваем раздел CPU. Для теста необходимо использовать команду:

sysbench cpu --cpu-max-prime=30000 run

Скриншот №3 — Тест процессора

На картинке вы можете увидеть различные метрики: скорость, задержку и справедливость потоков. Мы проводим тест на решении 30 000 простых чисел, но вы можете выбрать любой другой подходящий тест. По умолчанию утилита использует один из потоков, но современные программы используют как минимум 2 или более потоков, поэтому нам нужны опции, которые моделируют нагрузку на программное обеспечение с помощью трафика. Для этого мы можем использовать:

sysbench cpu --cpu-max-prime=30000 --threads=4 run

Скриншот №4 — Тест с многопоточностью

Этот тест мы проводим на машине с 1 ядром процессора с возможностью обработки 4 потоков, но что, если мы увеличим мощность? Давайте проведем такой же тест на машине с 4-ядерным процессором и возможностью обрабатывать 16 потоков. Для наглядности эксперимента мы запускаем один и тот же тест:

sysbench cpu --cpu-max-prime=30000 --threads=4 run

Скриншот №5 — Тест с многоядерным процессором

Среднее значение стремительно падает до 6X! Также эту утилиту можно использовать для сравнения или просто для оценки мощности серверного компонента!

 

В этом руководстве мы рассмотрели пример инструмента для стресс-тестирования процессора, сфокусировавшись на sysbench для Linux-машин. В руководстве рассмотрен процесс обновления пакетов, установки sysbench и проведения стресс-тестов ЦП. На практических примерах было показано, как оценить производительность процессора сервера, обращая внимание на влияние различных факторов, таких как количество потоков и ядер процессора. В заключение руководство подчеркивает полезность инструментов стресс-тестирования для сравнения компонентов сервера и оценки мощности системы.