stress для тестирования процессора

stress — утилита, позволяющая тестировать работу серверов под нагрузкой. Ее можно запускать с различными ключами и передавать значения, определяющие нагрузку. Для cpu stress test это количество ядер CPU, которое нужно загрузить.

 

Стресс тестирование проводится для того, чтобы выяснить способность архитектурного решения справляться с нагрузкой и выбрать наиболее подходящий вариант для конкретного проекта.

 

cpu stress test, нагрузочное тестирование и утилита stress

Утилита stress для нагрузочного тестирования на Debian устанавливается из репозитория

apt-get install stress

 

При ее запуске выполняются различные математические операции, а также сжатие, шифрование и т.п.

 

Далее она будет запускаться на виртуальной машине с 2-мя ядрами CPU. Результаты анализируются при помощи top.

Новая машина с нулевым LA и практически ничего не потребляющим единственным процессом MySQL.

cpu stress test

 

Далее установлена утилита 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%

stress тест

 

При нажатии 1 выводятся все ядра, выделяемые гипервизором. Отображаются 12, фактически доступны 2.

нагрузочное тестирование

 

Дополнительно запущен и бэкгрунде (с & в конце) еще один аналогичный процесс. Сейчас нагружается 2 ядра.

cpu stress тест

 

Если запустить stress -c 4 &, то можно увидеть, что грузятся те же 200% CPU, но нагрузка распределяется в том числе на те ядра, что недоступны. При этом растет steal time. Фактически это означает, что другие VM на мастер сервере начали недополучать ресурсы.

 

Также их не хватает для выполнения операций тестирования на текущей машине.

cpu stress test5

 

Для более разнообразных тестов с таймаутами и формированием отчетов, в том числе cpu stress test, есть утилита stress-ng. Она также включена в репозитории Ubuntu/Debian.

В man по stress-ng имеется подробная информация о доступных ключах.

 

 

Стресс тестирование нужно на этапе проектирования системы. Для виртуальных серверов оно покажет все недостатки, для физических дополнительно выявит возможные проблемы с железом.

Читайте про утилиту top и ее возможности.