cpu stress test-ы проводятся при нагрузочном тестировании серверов, на которых размещаются веб-приложения.
stress — утилита Linux, позволяющая тестировать работу серверов под нагрузкой. Ее можно запускать с различными ключами и передавать значения, определяющие нагрузку. Для cpu stress test это количество ядер CPU, которое нужно загрузить.
Стресс тестирование проводится для того, чтобы выяснить способность архитектурного решения справляться с нагрузкой и выбрать наиболее подходящий вариант для конкретного проекта.
cpu stress test
Утилита stress для нагрузочного тестирования на Debian устанавливается из репозитория
apt-get install stress
При ее запуске выполняются различные математические операции, а также сжатие, шифрование и т.п.
Далее она будет запускаться на виртуальной машине с 2-мя ядрами CPU. Результаты анализируются при помощи top.
Новая машина с нулевым LA и практически ничего не потребляющим единственным процессом MySQL.
Далее установлена утилита stress и запущена с загрузкой одного ядра
stress -c 1 &
[1] 2194
root@test-server:~# stress: info: [2194] dispatching hogs: 1 cpu, 0 io, 0 vm, 0 hdd
Значение LA выросло, CPU загружен на 100%
При нажатии 1 выводятся все ядра, выделяемые гипервизором. Отображаются 12, фактически доступны 2.
Дополнительно запускаем и бэкграунде (с & в конце) еще один аналогичный процесс. Сейчас нагружается 2 ядра.
Если запустить stress -c 4 &, то можно увидеть, что грузятся те же 200% CPU, но нагрузка распределяется в том числе на те ядра, что недоступны. При этом растет steal time. Фактически это означает, что другие VM на мастер сервере начали недополучать ресурсы.
Также их не хватает для выполнения операций тестирования на текущей машине.
Для более разнообразных тестов с таймаутами и формированием отчетов, в том числе cpu stress test, есть утилита stress-ng. Она также есть в репозиториях Ubuntu/Debian.
В man по stress-ng имеется подробная информация о доступных ключах.
Стресс тестирование нужно на этапе проектирования системы. Для виртуальных серверов оно покажет все недостатки, для физических дополнительно выявит возможные проблемы с железом.
Читайте про утилиту top и ее возможности.