Linux стресс тест системы

Стресс-тестирование систем в Linux – утилита stress-ng

Для организации и проведения нагрузочного стресс-тестирования в Linux-системах существует утилита stress-ng. С помощью неё несложно сгенерировать реальную рабочую нагрузку на тестируемые подсистемы и, соответственно, оценить её возможности. Утилита, традиционно для Linux, предоставляет для работы интерфейс командной строки. Однако, это ни в коей мере не делает её неудобной. Со своими задачами она справляется на «отлично». В данной статье приведены инструкции, отражающие основы работы с утилитой stress-ng для некоторых самых распространённых ситуаций в стресс-тестировании систем на основе Linux.

Основные особенности и возможности stress-ng

Возможности, которыми обладает утилита stress-ng, довольно широки. Об этом свидетельствует огромное количество всевозможных опций, которыми её наделили разработчики.
Но ключевой особенностью stress-ng является то, что это полноценный инструмент со встроенными тестами. В отличие от многих других аналогов, при выполнении теста не производится обращений к сторонним и/или внешним ресурсам. Таким образом, stress-ng абсолютно самодостаточна. Практически в любом дистрибутиве Linux она доступна в стандартном репозитории и устанавливается с помощью системы управления пакетами (СУП) дистрибутива. Например, в Ubuntu:

Кроме всего прочего, stress-ng в своём составе очень качественные тесты для тестирования процессоров, в совокупности позволяющие наиболее полно сгенерировать нагрузку на CPU, используя такие методы как целочисленные и с плавающей запятой, битовые операции, комплексные вычисления и т. д.

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

Как уже было отмечено, stress-ng имеет настолько огромный набор опций, что в рамках данной статьи целесообразнее остановиться лишь на основных, позволяющих протестировать все основные подсистемы: CPU, виртуальную память, а также дисковую подсистему.
Синтаксис stress-ng довольно прост:

Задаёт конкретный метод тестирования виртуальной памяти. По-умолчанию выполняются все доступные для данной категории тесты, последовательно друг за другом. Подробнее в официальном руководстве по команде man stress-ng.

—vm-method mЗадаёт конкретный метод тестирования виртуальной памяти. По-умолчанию выполняются все доступные для данной категории тесты, последовательно друг за другом. Подробнее в официальном руководстве по команде man stress-ng.

Основные опции stress-ng

В таблице ниже указаны основные опции утилиты

Опция Значение
—class name Задаёт тип теста. В качестве name указывается например cpu, memory, vm, io и другие.
—metrics Указывает, что по завершению теста должна быть выведена статистика основных метрик, отражающих поведение системы во время теста.
—metrics-brief То же, что и —metrics, но выводит ненулевые метрики.
—cpu-method method Задаёт метод генерации нагрузки для процессора. По-умолчанию выполняются все доступные для данной категории тесты, последовательно друг за другом. Более подробно об этой опции можно узнать, выполнив команду man stress-ng.
—cpu N Запускает для стресс-теста процессора N стрессоров для каждого его потока.
—cpu-ops N Указывает, через какое количество bogo-операций необходимо остановить тест CPU.
—hdd-ops N Указывает, через какое количество bogo-операций необходимо остановить тест жёстких дисков.
—hdd-bytes N Записывает N байт для каждого процесса работы с жёстким диском. По-умолчанию равно 1 Гб.
—vm N Запускает для стресс-теста виртуальной памяти N стрессоров.
—vm-bytes N Размещает N байт для каждого процесса работы с памятью. По-умолчанию равно 256 Мб. Объём также может быть указан в процентах от общего объёма виртуальной памяти в системе. Значения можно задавать в бфйтах, килобайтах, мегабайтах и гигабайтах, используя суффиксы b, k, m и g соответственно.
—sequential N Задает N количество потоков для выполнения тестов, если N не указано или равно 0, то количество потоков равно числу процессоров.

Для удобства и быстрого составления необходимых тестов рекомендуется пользоваться также некоторыми вспомогательными опциями, например:

  • что бы запустить несколько экземпляров каждого стресс-теста используется опция —all N, где N – необходимое количество экземпляров;
  • для установки таймаута, т. е. времени продолжительности стресс-теста используется опция —timeout.

Тестирование процессора

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

В данном тесте задействованы 16 потоков для тестирования 16-поточного процессора. Вывод результатов может быть следующим:

Естественно количество потоков следует задавать в соответствии со спецификацией используемого процессора.

Тестирование дисковой подсистемы

Для проведения стресс-тестирования накопителей, таких как жёсткие диски можно для начала провести низкоуровневый тест ввода вывода

Вывод команды будет следующим

Еще один стресс-тест дисков можно выполнить командой

В данном случае будет запущено 5 стрессоров для жёстких дисков, которые будут остановлены по завершении 100 тыс. bogo-операций.

Во время тестирования можно смотреть загрузку командой iostat

Тестирование памяти

Что бы провести стресс-тест памяти используйте команду

После окончания мы получим результат проверки приблизительно следующего вида

Комплексное тестирование

Если необходимо провести комплексное стресс-тестирование, можно задействовать работу нескольких основных подсистем вместе одной командой:

Эта команда запустит тест для CPU в 8 потоков, тест виртуальной памяти с размещением в ней одного гигабайта данных, а также 4 стрессора для тестирования операций ввода/вывода.

Что бы запустить тестирование всего «железа», используется команда

Эта команда запустит все тесты. После выполнения результат будет выведен в консоль. Во время выполнения команды лучше компьютер не трогать

Заключение

В заключение стоит ещё раз отметить, что утилита stress-ng по своим возможностям очень универсальна и позволяет качественно протестировать любую систему. Приведенные выше примеры охватывают наиболее распространённые ситуации по нагрузочному тестированию Linux-систем. Для проведения специфичных или более сложных тестов рекомендуется обращаться к официальному руководству по использованию утилиты, доступному по команде man stress-ng.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

GtkStressTesting

GtkStressTesting — утилита для стресс-тестирования компонентов компьютера.

Возможности

Программа предназначена для выполнения нагрузочного тестирования и мониторинга состояния компонентов компьютера.

  • Стресс-тесты для процессора.
  • Стресс-тесты для оперативной памяти.
  • Одно- и многоядерные бенчмарки.
  • Отображение информации:
    • Состояние и модель процессора.
    • Состояние кэша процессора.
    • Информация о материнской плате.
    • Состояние и модель оперативной памяти.
    • Использование памяти.
    • Нагрузка на процессор.
    • Тайминги.
    • И некоторая другая информация.

Установка

Установка через Flatpak

Установка в ArchLinux (Manjaro)

Установка в Fedora

Разработка

Сайт (скачать бесплатно):

Обзоры программы от пользователей

Ранее встречал только консольную утилиту для создания нагрузки на процессор, что несёт никакую информативность и управление. Не давно встретил аналогичную программу, которая может создавать искусственную нагрузку на процессор для проверки стабильности, отслеживания температур, напряжений и прочей важной информации, и тут же смотреть на показания датчиков, не прибегая к помощи сторонних утилит. Это аналог теста стабильности АИДА.

Настройки позволяют только выбрать частоту обновления показаний. Графиков и потребляемой мощности в Вт тоже пока нет. Частота обновлений на сайте радует новыми версиями, примерно раз в 1-2 месяца.

Программа подойдёт для стресс-тестов на стабильность, контроля температуры при смене термопасты и прочих разгонных экспериментов.

GtkStressTesting позволяет через GUI:
1. В левой половине:

1.1. Создать различные виды нагрузок на процессор. Время стресс-теста тоже регулируется;
1.2. Узнать информацию о процессоре;
1.2.1. Имя модели и спецификацию;
1.2.2. Версию микрокода;
1.2.3. Сокет;
1.2.4. Число ядер/потоков
1.2.5. Семейство, модель, степпинг;
1.2.6. Поддерживаемые инструкции;
1.3. Узнать информацию о кэше;
1.4. Узнать информацию о материнской плате:
1.4.1. Производитель;
1.4.2. Модель
1.4.3. Версию и производителя БИОСа
1.5. Узнать информацию об ОЗУ в каждом слоте
1.5.1. Объём;
1.5.2. Частоту;
1.5.3. Сборщика
1.5.4. Точное название модели (пример KHX2666C16/8G)

2. В правой половине:

2.1. Использование ЦП по потокам;
2.2. Среднюю нагрузку;
2.3. Использование памяти;
2.4. Среднюю/Минимальную/Максимальную частоты на каждое ядро;
2.5. Показания датчиков (Текущее/Мин/Макс):
2.5.1. Напряжение;
2.5.2. Температура;
2.5.3. Сила тока.

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

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

4 минуты чтения

Повышение нагрузки на серверы Linux может быть хорошей идеей, если вы хотите увидеть, насколько хорошо они работают, когда они загружены. В этой статье мы рассмотрим некоторые инструменты, которые помогут вам нагрузить сервер и оценить результаты.

Для чего вам необходимо подвергать свою систему Linux нагрузке? Потому что иногда вам может потребоваться узнать, как система будет вести себя, когда она находится под большим давлением из-за большого количества запущенных процессов, интенсивного сетевого трафика, чрезмерного использования памяти и т. д. Этот вид тестирования позволяет убедиться, что система готова к использованию.

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

Если вам нужно спрогнозировать, сколько времени потребуется приложениям для ответа и какие процессы могут выйти из строя или работать медленно под большой нагрузкой, проведение стресс-тестирования заранее является очень хорошей идеей.

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

Создаем циклы своими руками

Данный первый метод предполагает запуск некоторых циклов в командной строке и наблюдение за тем, как они влияют на систему. Этот метод нагружает ЦП, значительно увеличивая нагрузку. Результаты можно легко увидеть с помощью команды uptime или аналогичных команд.

В приведенной ниже примере мы начинаем четыре бесконечных цикла. Вы можете увеличить количество циклов, добавляя цифры или используя выражение bash , например <1..6>вместо «1 2 3 4».

В примере выше, команда, запускает четыре бесконечных цикла в фоновом режиме.

В этом случае были запущены задания 1-4. Отображаются как номера заданий, так и идентификаторы процессов.

Чтобы увидеть влияние на средние значения нагрузки, используйте команду, подобную показанной ниже. В этом случае команда uptime запускается каждые 30 секунд:

Если вы собираетесь периодически запускать подобные тесты, вы можете поместить команду цикла в скрипт:

В выходных данных вы можете увидеть, как средние значения нагрузки увеличиваются, а затем снова начинают снижаться после завершения циклов.

Поскольку показанные нагрузки представляют собой средние значения за 1, 5 и 15 минут, потребуется некоторое время, чтобы значения вернулись к нормальным для системы значениям.

Чтобы остановить циклы, выполните команду kill , подобную приведенной ниже — при условии, что номера заданий равны 1-4, как было показано ранее в этой статье. Если вы не уверены, используйте команду jobs , чтобы проверить ID.

Специализированные инструменты для добавления нагрузки

Другой способ создать системный стресс — это использовать инструмент, специально созданный для того, чтобы нагружать систему за вас. Один из них называется stress и может воздействовать на систему разными способами. Стресс-инструмент — это генератор рабочей нагрузки, который обеспечивает стресс-тесты ЦП, памяти и I/O.

С параметром —cpu команда stress использует функцию извлечения квадратного корня, чтобы заставить ЦП усердно работать. Чем больше указано количество ЦП, тем быстрее будет нарастать нагрузка.

Второй сценарий watch-it (watch-it-2) может использоваться для оценки влияния на использование системной памяти. Обратите внимание, что он использует команду free , чтобы увидеть эффект стресса.

Начало и наблюдение за стрессом:

Чем больше ЦП указано в командной строке, тем быстрее будет нарастать нагрузка.

Команда stress также может вызвать нагрузку на систему, добавив I/O и загрузку памяти с помощью параметров —io (input/output) и —vm (memory).

В следующем примере выполняется команда для добавления нагрузки на память, а затем запускается сценарий watch-it-2 :

Другой вариант для стресса — использовать параметр —io , чтобы добавить в систему действия по вводу/выводу. В этом случае вы должны использовать такую команду:

После чего вы можете наблюдать за стрессовым I/O с помощью iotop . Обратите внимание, что iotop требует привилегий root .

stress — это лишь один из множества инструментов для добавления нагрузки в систему.

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

Источник

Читайте также:  How to open appimage linux
Оцените статью