Стресс тест процессора линукс

Стресс-тестирование систем в 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.

Источник

Лучшие инструменты для тестирования производительности в Linux

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

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

По своей сути, если в компании, где идет постоянная разработка веб-продуктов, очень сложный, многообразный back-end да и взаимодействие с серверами обязательно выстроено через SSH, то операционная система Linux в таком случае стает отличным инструментом для проведения комплексного тестирования. Понимание основ Linux – это хорошие знания того, как устроены сервера внутри, как взаимодействуют между собой процессы и так далее.

Отменный тест или комплекс проверок, с помощью которых можно понять насколько правильно функционирует часть программного обеспечения ПК, традиционно именуется бенчмаркингом либо же «стресс-тестированием Linux». После завершения проверки производительности в Linux, QA-специалист может проанализировать результаты функциональности аппаратного обеспечения с иными операционными системами и понять, какую из них следует использовать для последующих проверок.

Комплексные проверки в Linux

Phoronix Test Suite

Утилита Phoronix Test Suite – наиболее популярный пакет для тестов и измерений вычислительной мощности Linux системы. Бытует мнение, что у этого продукта есть много проблем, но мы не будем заострять на этом свое внимание, так как ни одна утилита на все 100% не подходит для всех случаев.

Отметим лишь, что количество тестов, загруженных в ее функционал – достаточно, чтобы провести комплексную проверку. Да и действительно стоящие альтернативы в Интернете очень трудно найти.

Phoronix Test Suite

Phoronix Test Suite предоставляет полноценный доступ к более чем 120 различным тестовым наборам, группам проверок и к 400 профилям испытаний. Пользователь может устанавливать сугубо те, которые ему необходимы.

К примеру, если необходимы тесты для центрального процессора или жесткого диска, потребуется установить только Processor test или HDD tests. Также дополнительно поддерживается группа системных журналов.

Самое главное преимущество продукта в том, что Phoronix test suite – программа с открытым исходным кодом. Продукт поставляется в виде LiveCD, с помощью которого можно запускать проверки прямо с компакт-диска.

С помощью Phoronix Test Suite вы запросто можете качественно проверить общую производительность только что установленной операционной системы, если это так необходимо.

Stress-NG

Уже с самого понятия ясно, что stress-NG – продукт для выполнения тестирования операционной системы Linux. С его помощью можно проанализировать всю функциональность системы на максимальном пределе ее технических возможностей.

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

Чтобы установить продукт в систему, необходимо выполнить простую команду:

Команда установки stress-NG

К слову, в RED Hat и CentOS данная команда прописывается совершенно иначе:

Команда установки stress-NG в RED Hat и CentOS

Как только установка будет завершена, вы можете приступать ко всем запланированным проверкам (тесты процессора, ОЗУ, скорость вывода/ввода, состояние виртуальной памяти и так далее). Продукт обладает большим перечнем удобных настроек.

Можно выбрать определенные параметры и функции, к примеру, какое количество тестов должно стартовать одновременно, количество ядер процессора участвующих в проверке, временной отрезок теста и тому подобное.

Passmark Burnitest

С помощью этого компонента можно выполнить любые проверки производительности ПК на Linux, а также совершать мониторинг за функциональностью всего программного обеспечения. Passmark Burnitest поддерживает параметры Memtest86 и Performance test, которые можно запустить исключительно в ОС Windows.

Пользователь Linux с помощью Passmark Burnitest может протестировать все подсистемы компьютера одновременно. Но вместо того, чтобы проверять исключительно показатели производительности, лучше всего уделять внимание надежности и безопасности.

Рекомендуется использовать компонент в комплексе с другими техническими решениями.

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

Наглядное сравнение сразу двух процессоров может быть достаточно точным. Скорей всего многие помнят то время, когда ЦП Pentium 3 был значительно лучше машин на основе Pentium 2. Ну а 4-ядерная система лучше 2-ядерной.

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

Geekbench

Продукт Geekbench – одна из наиболее распространенных утилит для проведения тестирования операционной системы Linux. В ее состав входит до 10 тестов нагрузки при функционировании над цифрами с плавающей точкой.

В сравнении с OC Windows и MacOS, где продукт обладает графическим интерфейсом, для Linux продукт имеет всего лишь консольный интерфейс.

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

Hardinfo

Утилита может быть установлена в большинстве дистрибутивов системы Linux на основе традиционного менеджера пакетов. Для установки в Ubuntu придется выполнить команду:

Команда установки Hardinfo в Ubuntu

Для Fedora, CentOS и Red Hat:

Команда установки Hardinfo в Fedora, CentOS и Red Hat

Базовое предназначение Hardinfo – демонстрация данных об оборудовании + выполнение тестов для сравнения оборудования с иными системами и подсистемами. Проверки включают целочисленные расчеты и вычисления с плавающей точкой.

Тесты для видеокарт

Наилучший способ протестировать графические возможности вашей системы – это поиграть во что-то очень требовательное к текущим параметрам используемого видеоадаптера. Или же вы можете заручиться помощью одной из нижеперечисленных утилит.

UNIGINE

Утилита UNIGINE поддерживает 2 разновидности тестов – тест Valley и тест Heaven. Каждая проверка демонстрирует различные сценарии.

Первая – это покрытая лесом долина, вторая – пара летающих островков с мостиками. Как Valley, так и Heaven заставляют графику вашего ПК работать на полную мощность.

Такой проверки более чем достаточно, чтобы получить самые главные данные касательно установленной производительности видеоадаптера в системе Linux.

GFXBENCH

Ранее его название было GLBenchmark. Продукт GFXBENCH во всем мире считается наиболее качественным и достоверным тестом для графических проверок внутри операционной системы Linux. В конфигурации программы добавлено два основных набора тестов – проверки высокого уровня и низкоуровневые тесты.

GL Mark 2

Очень продвинутый программный компонент, созданный в компании Lenaro. Продукт GL Mark 2 предлагает клиенту очень большое количество разнообразных тестов, которые в той или иной степени затрагивают графический функционал аппаратного обеспечения вашего компьютера.

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

В больше чем половине дистрибутивов эта проверка устанавливается вместе с ОС, но если по какой-то случайности вы не смогли его обнаружить, установить его можно прямо из терминала (команда будет иметь такой вид):

$ sudo apt-get install glmark2

Unigine Benchmark Products

Ну и наконец можно отметить этот продукт, который обладает существенным набором самых современных тестов. Это целый набор полезных компонентов на базе 3D движка от компании UNIGINE.

Есть как платные версии, применяющие при создании видеоигр, так и совершенно бесплатные версии, которыми можно оперировать в частном порядке. Это соответственно Tropics и Sanctuary.

Тестирование жесткого диска

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

HDPARM

Продукт HDPARM – приложение для командной строки, которое изначально устанавливается в дистрибутивы Linux и очень простое в своем использовании. С помощью этой программы можно провести тестирование не только винчестера, но и оптимизировать базовые параметры его функционирования, к примеру, выключить или включить функцию DMA. Для проверки необходимо знать всего лишь файл устройства вашего HDD.

Чтобы провести тесты на производительность буферизированного ввода, применяйте такую команду:

$ sudo hdparm -t /dev/sda2

Для теста производительности кэшированного чтения сделайте следующее:

$ sudo hdparm -T /dev/sda2

Чтобы получить более точные показатели необходимо запустить команду несколько раз, а затем выбрать наиболее средний показатель.

Простой в использовании продукт, с помощью которого можно проверить работоспособность файловой системы и производительности жесткого диска в отдельности. Установить программу можно с большинства бесплатных репозиториев в понравившемся дистрибутиве.

Для установки в Ubuntu необходимо:

$ sudo apt-get install bonnie++

Касательно CentOS и Red Hat:

$ sudo yum install bonnie++

Сразу же после завершения установки можно провести проверку производительности операционной системы Linux.

В данном случае опция d- наглядно демонстрирует, в каком именно каталоге необходимо проводить проверку, а r- дает ограничение на потребление ОЗУ в пределах 2048Мб.

Продукты для проверки безопасности

Iptables

Специализированный инструмент командной строки клиентского пространства для оптимальной настройки брандмауэра ядра Linux. С его помощью достигается модификация и конфигурация правил для исходящих и транзитных пакетов внутри ядра Linux.

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

cryptsetup

Применяется для разработки и управления определенными зашифрованными дисковыми компонентами LUKS.

Maldet

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

Getcap/setcap

С его помощью можно навсегда забыть о таких вещах как ping и traceroute во флаге прав доступа root.

Итоги

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

Источник

Читайте также:  Поднятие домена windows server 2012 с нуля
Оцените статью