Как провести стресс-тест операционной системы Linux

Как провести стресс-тест операционной системы Linux

Рубрики:

Linux, Утилиты Linux

Метки:

linux, stress, stress-ng

Утилита stress — это инструмент командной строки Linux, предназначенный для создания нагрузки на различные компоненты операционной системы и ПК (процессор, оперативную память, жесткий диск и другие). С ее помощью пользователь может проверить стабильность работы ОС, ее производительность, а также поведение Linux в условиях ограниченных ресурсов.

Кроме того, существует усовершенствованная версия инструмента stressstress-ng. Она обладает значительно расширенным функционалом и поддерживает выполнение более чем 200 различных стресс-тестов (так называемых «стрессоров»).

В этой статье мы расскажем, как установить и использовать утилиты stress и stress-ng в Linux.

Содержание:

  1. Установка stress и stress-ng в Linux
  2. Синтаксис stress и stress-ng
  3. Создание нагрузки на ЦП
  4. Тестирование производительности ОЗУ
  5. Одновременная нагрузка на несколько компонентов ОС
  6. Выводы

Установка stress и stress-ng в Linux

Пакеты утилит stress и stress-ng содержатся в стандартных репозиториях большинства популярных дистрибутивов Linux. Чтобы установить эти инструменты, достаточно выполнить одну команду.

Для Debian / Ubuntu Linux:

 

install stress

Читайте также: Моделирование нагрузки на веб-сервера с помощью siege в Linux.

И:

 

install stress ng

Для RHEL / CentOS / Fedora Linux:

Синтаксис stress и stress-ng

Общий синтаксис команд stress и stress-ng выглядит следующим образом:

 

Где:

  • option — опции, которые расширяют функционал утилиты;
  • argument — аргументы опций.

Чтобы вывести в окно терминала список всех параметров stress или stress-ng, выполните одну из следующих команд:

 

stress help

Читайте также: Как установить утилиту iperf в Linux.

Создание нагрузки на ЦП

Одним из основных способов проверки стабильности работы ОС является создание нагрузки на центральный процессор. Для этого в утилите stress используется опция --cpu, которая запускает потоки, выполняющих функцию sqrt(). Например, следующая команда инициирует 8 потоков с вычислением sqrt(), работающих в течение 10 секунд:

 

stress cpu

На скриншоте выше видно, что средние значения нагрузки на ЦП действительно увеличились.

Такую же операцию можно сделать, используя stress-ng. Поскольку эта команда имеет расширенный функционал, то опция --cpu будет запускать сразу все доступные методы нагрузки на процессор (такие, как sqrt(), exp(), log() и другие). К примеру:

 

stress ng cpu

Если нужно использовать конкретный метод нагрузки на ЦП, то в предыдущую команду следует добавить параметр --cpu-method. Допустим, мы хотим создать нагрузку при помощи алгоритма fft (от англ. Fast Fourier Transform):

 

stress ng cpu fft

Тестирование производительности ОЗУ

Для увеличения активности в оперативной памяти утилита stress применяет функции malloc() и free(). Например, приведенная ниже команда создаст 3 потока виртуальной памяти, которые будут работать на протяжении 10 секунд:

 

stress ram

Подобные действия можно сделать и с командой stress-ng:

 

Читайте также: Мониторинг и анализ производительности с помощью Perf в Linux.

Одновременная нагрузка на несколько компонентов ОС

Работоспособность отдельных компонентов ПК взаимосвязана и часто может зависеть от производительности других подсистем. Поэтому иногда целесообразно выполнять нагрузочное тестирование всех ключевых компонентов операционной системы одновременно.

Например:

 

load many components stress

Давайте детальнее разберем опции из предыдущей команды:

  • --cpu 4 — запускает 4 потока, которые создают нагрузку на центральный процессор;
  • --io 3 — запускает 3 потока для тестирования нагрузки на подсистему дискового ввода-вывода (потоки выполняют операции записи и чтения файлов);
  • --vm 2 — создает 2 потока виртуальной памяти, которые будут выделять, использовать и освобождать память ОЗУ в цикле;
  • --vm-bytes 256M — указывает, что каждый поток виртуальной памяти будет работать с 256 МБ памяти;
  • --timeout 20s — устанавливает время выполнения теста на 20 секунд.

Аналогично попробуем нагрузить все основные компоненты ОС с помощью утилиты stress-ng:

 

load many components stress ng

Выводы

Мы познакомили Вас с базовыми возможностями инструментов stress и stress-ng в Linux. Функциональность этих утилит значительно шире, чем рассмотренная в статье. Рекомендуем ознакомиться с их man-страницами для более полного понимания доступных параметров и режимов работы.

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

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Утилиты Linux

Метки:

linux, stress, stress-ng

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики