- Стресс-тестирование систем в Linux – утилита stress-ng
- Основные особенности и возможности stress-ng
- Синтаксис stress-ng
- Основные опции stress-ng
- Тестирование процессора
- Тестирование дисковой подсистемы
- Тестирование памяти
- Комплексное тестирование
- Заключение
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Как провести стресс-тестирование вашей системы Linux
- Создаем циклы своими руками
- Специализированные инструменты для добавления нагрузки
- Программы для тестирования Linux
- Программы для тестирования Linux
- 1. Phoronix Test Suite
- 2. Sysbench
- 3. GeekBench
- 4. Hardinfo
- 5. Passmark PerformanceTest
- 6. UnixBench
- 7. Unigine (Heaven, Valley, Superposition)
- 8. GFXBench 4.0
- 9. hyperfine
- 10. IOzone
- 11. Bonnie++
- 12. KDiskMark
- 13. Linpack Xtreme
- Выводы
Стресс-тестирование систем в 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.
Источник
ИТ База знаний
Курс по 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 — это лишь один из множества инструментов для добавления нагрузки в систему.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Источник
Программы для тестирования Linux
Тестирование компьютера позволяет определить его производительность и сравнить результаты с другими системами. Для Linux существует немало программ для оценки производительности процессора, оперативной памяти, накопителя и графической подсистемы.
Мы рассмотрим наиболее интересные программы для тестирования Linux. Особое внимание уделим тем программам, которые имеют онлайн-базы с результатами актуальных систем, ведь без этого крайне сложно интерпретировать полученные данные.
Программы для тестирования Linux
1. Phoronix Test Suite
Phoronix Test Suite – это один из самых популярных инструментов, позволяющих выполнить тест производительности Linux. В его состав входят не только собственные тесты, но и скрипты для запуска сотен сторонних тестов. Иными словами, для тестирования вам достаточно только этого пакета. С помощью этой программы можно выполнить тест производительности Linux для любого компонента системы, будь то память, диск или процессор.
К сожалению, утилита сильно перегружена и пользоваться ей довольно сложно. Работать с несколькими сотнями строк текста в терминале неудобно, а графический интерфейс для последней версии пакета так и не был написан. Частично поможет веб-интерфейс, с его помощью можно ознакомиться с тестами, но для их запуска придётся вернуться к терминалу.
В любом случае, этот пакет нельзя обходить стороной. Выбрав интерактивный режим, вы можете вывести список доступных тестов и запустить необходимые. Имеются тесты для всех узлов системы: процессора, памяти, графики, накопителя, сети и самой операционной системы. Установочный пакет можно скачать с официального сайта. А для получения более подробной информации о работе с Phoronix Test Suite можете обратиться к нашей статье.
2. Sysbench
Sysbench, как и предыдущий пакет тестов, позволяет оценить производительность Linux при использовании различных компонентов системы. Однако, основным тестом можно считать проверку работы в качестве базы данных. Обширной базы с результатами вы не найдёте, но на Openbenchmarking вы хотя бы примерно можете оценить производительность вашего сервера.
Для установки Sysbench воспользуйтесь командой:
sudo apt install sysbench
3. GeekBench
GeekBench – это один из самых популярных тестов производительности в мире компьютеров. Он был портирован не только на Linux и macOS, но ещё и на Android с iOS, так что имеется возможность сравнить производительность разных платформ. В состав приложения входит множество тестов. Надо понимать, что некоторые из них задействуют аппаратные блоки процессора, вроде того же AES-шифрования. В связи с этим уместно сравнивать результаты процессоров в одном поколении.
Что примечательно, хоть приложение и не имеет графической оболочки для Linux, результаты, как и на других платформах, отображаются на сайте. Там же вы можете сравнить результаты вашей системы со множеством других, в том числе на основе мобильных процессоров ARM. Имеется возможность сравнить системы напрямую, добавив их в список сравнения.
Скачать GeekBench можно с официального сайта.
4. Hardinfo
Hardinfo – это не только набор тестов, но ещё и утилита для сбора информации о системе. К сожалению, её база данных на текущий момент уже устарела. Комплектующие последних лет могут отображаться некорректно или же вовсе пройти незамеченными.
Если говорить о тестах, то они предназначены для оценки различных блоков процессорных ядер, будь то целочисленные вычисления или с плавающей запятой. Для оценки производительности имеется небольшая база результатов, которая, как было сказано ранее, устарела. Вы можете сравнить свой процессор с Core i7 первого поколения и более ранними процессорами.
Для установки Hardinfo используйте команду:
sudo apt install hardinfo
5. Passmark PerformanceTest
Passmark PerformanceTest – это ещё один популярный тест производительности Linux. Он позволяет оценить производительность как процессора, так и оперативной памяти. Что примечательно, на сайте программы имеется рейтинг процессоров. С его помощью вы можете узнать на каком месте расположился ваш процессор, а также найти именно вашу модель и узнать, насколько близкий результат получила ваша система. Это особенно актуально для мобильных процессоров, ведь на конечный результат влияет множество факторов, а не только используемый процессор. Скачать Passmark PerformanceTest можно с официального сайта. Перед установкой не забудьте решить зависимости:
sudo apt install libncurses5 libncurses5:i386
6. UnixBench
UnixBench – это неплохой комплексный пакет позволяющий оценить производительность Linux. Проверку проходит не только процессор, но ещё и оперативная память, а также сама операционная система. К сожалению, разработчики не стали собирать результаты в единую базу, поэтому сравнить производительность с другими компьютерами у вас едва ли получится. Также стоит предупредить о том, что по умолчанию тесты проводятся многократно, а полное тестирование занимает более получаса.
Для установки UnixBench используйте команду:
sudo snap install unixbench
7. Unigine (Heaven, Valley, Superposition)
Перейдём к программам для тестирования графической подсистемы. Тесты Unigine, на основе OpenGL и Vulkan, давно зарекомендовали себя не только на Windows, но и на Linux. Heaven и Valley подойдут для тестирования старых видеокарт и интегрированной графики, в основном ввиду своего почтенного возраста. Относительно свежий Superposition предъявляет серьёзные требования к системе. Этот тест можно использовать не только для оценки производительности, но ещё и в качестве продолжительной нагрузки для стресс-теста, но эта опция станет доступна после приобретения продвинутой версии теста.
Скачать тесты Unigine можно с официального сайта.
8. GFXBench 4.0
GFXBench 4.0 – это кроссплатформенный тест на основе OpenGL, позволяющий выполнить тестирование Linux. Он рассчитан на запуск на относительно слабых смартфонах, поэтому на компьютере с ним справится даже самая простая видеокарта. По этой же причине тест не способен продемонстрировать все возможности графической системы. В пакет входит несколько тестовых сцен, а также тесты для проверки скорости текстурирования, вычислений и так далее.
Не так давно вышла 5 версия GFXBench, но в этот раз разработчики не стали выпускать версию для Linux. Но это не помешает вам сравнить свою систему с сотнями других, протестированных в 4 версии теста. Результаты можно найти в обширной базе на сайте. Скачать GFXBench 4.0 можно с официального сайта.
9. hyperfine
Небольшой benchmark для Linux — hyperfine интересен тем, что тестирует не что-то абстрактное, а замеряет скорость выполнения различных команд, которые вы ему и задаёте. Таким образом вы можете сравнить непосредственно два дистрибутива и выяснить, какой из них более отзывчивый. Во избежание погрешности, тест позволяет провести «холостые» запуски, чтобы система прогрузила все необходимые файлы для выполнения команды. Скачать hyperfine можно со страницы GitHub.
10. IOzone
IOzone – это тест дисковой подсистемы. Он проверяет скорость записи и чтения накопителя с разным размером блоков. Результат можно сохранить в виде таблицы, но на его анализ потребуется время. На сайте разработчика всё выглядит красиво, нам демонстрируют красивые графики. На деле же вы получите только кучу чисел, с которыми вам ещё предстоит что-то сделать.
Для установки IOzone используйте команду:
sudo apt install iozone3
11. Bonnie++
Bonnie++ – это ещё один тест дисковой системы Linux. В этот раз результаты выводятся в более понятном виде. Но и тут не обошлось без проблем. Он категорически не подходит для тестирования накопителей SSD. Если один из тестов прошёл слишком быстро, то вместо результата вы увидите +++. С жёсткими дисками эта особенность тоже прослеживается, но не так явно.
Иными словами, Bonnie++ подходит для тестирования старых систем с медленными жёсткими дисками. Помимо скоростных показателей, вы получите значения задержек и загрузки процессора. Для установки Bonnie++ используйте команду:
sudo apt install bonnie++
12. KDiskMark
Многие пользователи Windows привыкли использовать CrystalDiskMark для определения скоростных показателей накопителя. К счастью, для Linux есть аналогичная программа под названием KDiskMark. Она практически полностью повторяет функциональность именитого собрата.
Вы можете настраивать очередь и количество потоков у каждого из четырёх тестов. Также имеется возможность выбрать объём задачи. Результаты отображаются аналогичным с CrystalDiskMark образом. При желании вы можете навести курсор на значение и увидеть подробную информацию, количество операций в секунду (IOPS) и задержку в микросекундах.
Программа доступна в виде Snap-пакета:
sudo snap install kdiskmark
Но лучше перейти на страницу GitHub, чтобы получить последнюю версию KDiskMark. Разработчиком выступает наш соотечественник, так что решить возникшие проблемы будет совсем несложно.
13. Linpack Xtreme
Закончим нашу подборку популярным тестом. Linpack Xtreme способен создать серьёзную нагрузку на центральный процессор, при этом оперативная память также не будет простаивать. С помощью этого теста вы можете выполнить стресс тест Linux и проверить стабильность системы после комплексного разгона процессора и оперативной памяти. Результаты отображаются в привычных единицах измерения – Gflops, используемых для оценки производительности суперкомпьютеров.
Скачать программу можно с сайта TechPowerUp. Обратите внимание на то, что доступно несколько версий программы, если вы являетесь владельцем процессора Ryzen 3000 и выше, то для него есть оптимизированный тест.
Выводы
В общем случае вам достаточно установить Phoronix Test Suite, через него доступен запуск практически любого теста на Linux. Но, помимо этого, мы рассмотрели ещё и наиболее интересные программы для тестирования в среде Linux.
К сожалению, как вы могли заметить, большая часть тестов не имеет графического интерфейса, так что в этом плане Linux проигрывает Windows. Но оценить производительность компьютера всё-таки получится. Советуем выбрать GeekBench, Passmark PerfomanceTest, Unigine и GFXBench. Все эти программы позволяют сравнить производительность вашего компьютера с другими, так как на их сайтах вы можете найти обширные базы с результатами.
Также стоит отметить тот факт, что мы не стали рассматривать узкоспециализированные тесты для решения определённой задачи: архивация, декодирование, компиляция и так далее. А какими программами для тестирования компьютера пользуетесь вы? Делитесь своим мнением в комментариях.
Источник