- Стресс-тестирование систем в Linux – утилита stress-ng
- Основные особенности и возможности stress-ng
- Синтаксис stress-ng
- Основные опции stress-ng
- Тестирование процессора
- Тестирование дисковой подсистемы
- Тестирование памяти
- Комплексное тестирование
- Заключение
- Бенчмарки для Linux-серверов: 5 открытых инструментов
- Sysbench
- UnixBench
- Phoronix Test Suite
- Vdbench
- IOzone
- Как оценить производительность ПК с Linux
- Все-в-одном Тесты
- Phoronix Test Suite
- Стресс-нг
- PassMark BurnInTest
- Тесты CPU
- Geekbench
- HARDiNFO
- GPU Benchmarks
- Unigine
- GFXBench
- Тесты накопителей данных
- HDPARM
- Бонни ++
- Как ваш компьютер складывается?
Стресс-тестирование систем в 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-серверов: 5 открытых инструментов
Сегодня мы расскажем об открытых инструментах для оценки производительности процессоров, памяти, файловых систем и систем хранения данных.
В список вошли утилиты, предлагаемые резидентами GitHub и участниками тематических тредов на Reddit, — Sysbench, UnixBench, Phoronix Test Suite, Vdbench и IOzone.
/ Unsplash / Veri Ivanova
Sysbench
Это — утилита для нагрузочного тестирования MySQL-серверов, основанная на проекте LuaJIT, в рамках которого разрабатывается виртуальная машина для языка Lua. Автор инструмента — программист и эксперт по MySQL Алексей Копытов. Проект начинался как хобби, но со временем обрел признание сообщества. Сегодня sysbench используют в своей работе крупные университеты и ИТ-организации вроде IEEE.
Во время конференции SECR-2017 (запись выступления есть на YouTube) Алексей рассказал, что sysbench позволяет оценить производительность базы данных при переносе на новое оборудование, обновлении версии СУБД или резком изменении числа запросов. В общем случае синтаксис команды для проведения теста выглядит следующим образом:
Эта команда определяет тип (cpu, memory, fileio) и параметры нагрузочного теста (количество потоков, число запросов, скорость обработки транзакций). В целом инструмент способен обрабатывать миллионы событий за секунду. Подробнее об архитектуре и внутреннем устройстве sysbench Алексей Копытов рассказал в одном из выпусков подкаста Software Development Podcast.
UnixBench
Набор инструментов для оценки производительности Unix-систем. Его представили инженеры из университета Монаша в 1983 году. С того момента поддержкой инструмента занималось множество людей, например, авторы журнала о микрокомпьютерных технологиях Byte Magazine и участник LKML Дэвид Ниеми (David Niemi). За выход следующей версии инструмента отвечает Энтони Воэлм (Anthony Voellm) из Microsoft.
UnixBench представляет собой набор индивидуальных тестов. Они сопоставляют скорость выполнения кода на машине под управлением Unix с производительностью эталонной системы, в роли которой выступает SPARCstation 20-61. На основе этого сравнения генерируется балл, определяющий производительность.
Среди доступных тестов числятся: Whetstone, который описывает эффективность операций с плавающей точкой, File Copy, оценивающий скорость копирования данных, и несколько 2D и 3D-бенчмарков. Полный список тестов можно найти в репозитории на GitHub. Многие из них используют для оценки производительность виртуальных машин в облаке.
Phoronix Test Suite
Этот комплекс тестов разработан авторами веб-ресурса Phoronix, на котором публикуются новости о дистрибутивах GNU/Linux. Впервые Test Suite представили в 2008 году — тогда он включал 23 различных теста. Позже разработчики запустили облачный сервис OpenBenchmarking.org, на котором пользователи могли публиковать собственные тестовые сценарии. Сегодня на нем представлено около 60 бенчмарк-наборов, в том числе связанных с машинным обучением и технологией ray-tracing.
Наборы специализированных скриптов позволяют протестировать отдельные компоненты системы. С их помощью можно оценить время компиляции ядра и кодирования видеофайлов, скорость сжатия архиваторов и др. Для запуска тестов достаточно написать соответствующую команду в консоли. Например, эта команда инициирует оценку производительности CPU:
Во время тестирования Test Suite самостоятельно контролирует состояние оборудования (температуру CPU и скорость вращения кулеров), защищая систему от перегрева.
/ Unsplash / Jason Chen
Vdbench
Инструмент для генерации I/O-нагрузки на дисковые системы, разработанный Oracle. Он помогает оценить производительность и целостность СХД (о том, как посчитать теоретическую производительность дисковой системы, мы подготовили краткую справку).
Работает решение следующим образом: на реальной системе запускается программа SWAT (Sun StorageTek Workload Analysis Tool), которая создает дамп со всеми обращениями к диску за определённый период. Записываются метка времени, тип операции, адрес и размер блока данных. Далее, используя файл с дампом, vdbench эмулирует нагрузку на любой другой системе.
Список параметров для управления утилитой есть в официальном документе Oracle. Исходный код утилиты можно найти на сайте компании.
IOzone
Консольная утилита для оценки производительности файловых систем. Она определяет скорость чтения, записи и перезаписи файлов. В разработке инструмента приняли участие десятки программистов, но автором его первой версии считается инженер Уильям Норкотт (William Norcott). Разработку поддержали такие компании, как Apple, NetApp и iXsystems.
Для управления потоками и их синхронизации во время тестирования инструмент использует стандарт POSIX Threads. По завершении работы IOzone выдает отчет с результатами или в текстовом формате, или в виде электронной таблицы (Excel). Также инструмент имеет в составе скрипт gengnuplot.sh, который строит по данным таблиц трехмерный график. Примеры таких графиков можно найти в документации к инструменту (стр. 11–17).
IOzone доступен в качестве тестового профайла в уже упомянутом Phoronix Test Suite.
Дополнительное чтение из наших блогов и социальных сетей:
Баг в Linux 5.1 приводил к потере данных — корректирующий патч уже вышел
Есть мнение: технология DANE для браузеров провалилась
Зачем нужен мониторинг?
Резервное копирование файлов: как подстраховаться от потери данных
Как перенести системный жесткий диск в виртуальную машину?
Все говорят об утечках ПД — чем поможет IaaS-провайдер
Короткий ликбез: как устроена ЭЦП
Справочная: как работает закон о персональных данных
Источник
Как оценить производительность ПК с Linux
Тест — это тест или серия тестов, которые определяют, насколько хорошо работает определенная часть компьютерного оборудования.
— и во многих случаях «сравнительный анализ» по существу является синонимом «стресс-тестирования». Раздвинув свое оборудование до предела, вы можете сравнить его измерения с измерениями другого оборудования.
Большинство тестов производительности предназначены для имитации рабочей нагрузки, с которой ПК может столкнуться в реальных условиях. Таким образом, это практически единственный способ получить количественные данные о том, насколько хорошо ваша система может работать — и если ваши показатели не соответствуют вашим требованиям, это признак того, что вы, возможно, захотите обновить некоторые компоненты своего ПК.
Итак, готовы протестировать свой собственный компьютер? Вот некоторые из наиболее полезных тестов, которые доступны пользователям Linux.
Все-в-одном Тесты
Многофункциональные инструменты для тестирования, также известные как наборы для тестирования производительности, представляют собой именно то, на что они похожи: они тестируют и измеряют различные аспекты вашей системы вместо того, чтобы сосредоточиться на одном конкретном аппаратном обеспечении, которое может быть полезно, когда вы не хотите чтобы загромождать вашу систему тремя или четырьмя различными инструментами.
Phoronix Test Suite
Phoronix Test Suite — одно из самых известных универсальных решений для тестирования производительности Linux. Некоторые утверждают, что у него много врожденных проблем — и, конечно, мы не будем говорить, что он идеален во всех отношениях — но для большинства пользователей этого более чем достаточно. Плюс, не существует много достойных альтернатив.
Phoronix имеет доступ к более чем 100 различным наборам тестов (то есть группам отдельных тестов) и более 450 различным профилям тестирования. Вы можете установить только те из них, которые вам нужны, поэтому, если вы заботитесь только о тестах CPU и HDD, вы можете просто установить «Processor_Tests» и «Disk_Tests». Он также поддерживает системные журналы и отчеты.
Лучше всего, Phoronix является бесплатным и открытым исходным кодом. Он также поставляется в виде Live CD под названием PTS Desktop Live.
, который позволяет вам запускать его с CD, DVD или USB-накопителя, чтобы вы могли протестировать оборудование любого компьютера, используя «чистую» операционную систему по требованию.
Стресс-нг
Как вы можете догадаться из его названия, стресс-нг — это настоящий стресс-тест — он очень хорош для того, чтобы довести вашу систему до предела, но, поскольку она может быть настолько сложной, мы не рекомендуем запускать ее очень часто. Некоторые компоненты, особенно процессоры и жесткие диски, будут изнашиваться быстрее при постоянных нагрузках.
Установите стресс-нг в Debian и Ubuntu:
Установите стресс-нг на Fedora, Red Hat и CentOS:
После установки стресс-нг может протестировать все виды ресурсов, включая ваш процессор, оперативную память, ввод-вывод, сеть, виртуальную память и многое другое. Он также легко настраивается — в каждом тесте вы можете указать различные параметры, например, сколько тестовых экземпляров, сколько ядер ЦП, насколько агрессивно тестировать, как долго работать и т. Д.
Охват всех различных команд и параметров выходит за рамки этой статьи, но эта страница вики Ubuntu является хорошей отправной точкой.
PassMark BurnInTest
PassMark поддерживает все виды программного обеспечения для тестирования и мониторинга ПК, включая хорошо известные приложения MemTest86 и PerformanceTest, которые доступны только для пользователей Windows. С другой стороны, приложение BurnInTest поставляется в версии для Linux, и его, безусловно, стоит проверить.
Короче говоря, он может тестировать все основные подсистемы компьютера одновременно. Но вместо того, чтобы тестировать на прямую производительность, он больше фокусируется на стабильности и надежности. Мы рекомендуем сочетать его с некоторыми другими формами тестирования производительности для достижения наилучших результатов.
Он поставляется с 30-дневной бесплатной пробной версией, но стоит 79 долларов после ее окончания.
Тесты CPU
Сравнение двух разных процессоров может быть сложным
, Помните времена, когда вы знали, что Pentium III всегда был лучше, чем Pentium II? Уже не так. Иногда i5 может превзойти i7, и четырехъядерный процессор не всегда лучше двухъядерного.
Из-за этого центральные процессоры получают наибольшую выгоду от сравнительного анализа
— больше, чем любое другое оборудование для ПК. Если вы решили не использовать один из описанных выше наборов «все в одном», вы можете начать работу с одним из этих двух инструментов.
Geekbench
Geekbench является одним из лучших доступных тестов производительности процессора. Он оснащен десятью тестами целочисленной рабочей нагрузки и восемью тестами с плавающей запятой — некоторые из них также доступны в Hardinfo (см. Ниже), но некоторые из них уникальны для Geekbench.
Версии для Windows и Mac поставляются с пользовательскими интерфейсами, но версия для Linux доступна только как исполняемый файл командной строки. Результаты тестов загружаются в сеть, что позволяет просматривать результаты более интуитивно, чем в терминале.
После загрузки Geekbench будет работать в пробном режиме с ограниченными функциями (по сути, неограниченная бесплатная пробная версия), который имеет только 64-битные и OpenCL тесты. Для тестов CUDA, автономного режима и других функций вам потребуется купить Geekbench или Geekbench Pro.
HARDiNFO
Hardinfo можно получить в большинстве дистрибутивов с помощью встроенного менеджера пакетов, но я считаю, что проще всего запустить эту команду в Debian и Ubuntu:
Или выполните эту команду в Fedora, Red Hat и CentOS:
Hardinfo поставляется с шестью различными контрольными тестами, каждый из которых дает оценку, которую можно использовать для точного сравнения с другими системами. Тесты CPU выполняют целочисленные вычисления, в то время как тесты FPU выполняют вычисления с плавающей запятой. При сравнении результатов обязательно сравнивайте одни и те же тесты.
Hardinfo также полезна для быстрого получения системной информации. Просто просмотрите различные страницы на боковой панели, чтобы увидеть детали конфигурации вашего компьютера.
GPU Benchmarks
Чтобы проверить графические возможности вашей системы ненаучным способом, вы можете просто увидеть, может ли ваш ПК работать с играми с интенсивной графикой
, Для получения более количественных результатов, запустите один из этих тестов.
Unigine
У Unigine есть два эталона, которые стоит упомянуть: эталон Valley и эталон Heaven. Каждый из них представляет отдельную сцену (долину, покрытую лесом, и серию летающих островов стимпанк, соответственно), которая заставит ваш графический процессор работать сверхурочно.
Этот графический тест предпочтителен для большинства игроков Linux.
Бесплатные тесты являются интерактивными и более чем достаточны для того, чтобы понять, насколько хорош ваш GPU, но версии Pro необходимы для коммерческого использования и глубокого анализа каждого кадра. Это стоит $ 495 каждый.
GFXBench
Ранее известный как GLBenchmark, GFXBench является меньшим из двух основных графических тестов для систем Linux. Он поставляется с двумя наборами тестов: высокоуровневые тесты (общая производительность) и низкоуровневые тесты (производительность отдельных функций).
Учитывая все обстоятельства, это хорошо для того, что он делает. Так уж получилось, что Unigine — более известная и более используемая опция, так что, вероятно, это лучший выбор для передовых графических процессоров. Опять же, если вы хотите сравнить два графических процессора, которыми вы не владеете, страница результатов GFXBench определенно пригодится.
Тесты накопителей данных
Скорость не всегда имеет первостепенное значение, когда дело доходит до дисков с данными. Например, когда диск используется для хранения резервных копий
Основными проблемами являются долговечность, надежность и производительность. Для повседневной работы вам понадобится быстрый SSD с отличной производительностью.
HDPARM
Hdparm — это утилита командной строки, которая устанавливается в большинстве современных дистрибутивов и удивительно проста в использовании. Он не только может использоваться для проверки производительности диска, но также может изменять настройки для каждого диска (например, включать или выключать DMA). Имейте в виду, что Hdparm может привести к поломке или повреждению дисков при неправильном использовании!
Во-первых, используйте Д.Ф. Команда, чтобы получить список всех дисков в вашей системе. Найдите тот, который вы хотите протестировать — используйте контексты, такие как общее дисковое пространство и место монтирования, если вы не уверены, — а затем используйте его с помощью следующих команд. В моем случае мой диск / DEV / sda2 .
Чтобы проверить буферизованную производительность чтения:
Чтобы проверить производительность чтения в кэше:
Какой бы из них вы ни использовали, выполните команду несколько раз, чтобы получить несколько показаний, а затем усредните их вместе, чтобы получить более точное представление о производительности. Убедитесь, что вы ничего не делаете, что может повлиять на показания, например, передача файлов.
Бонни ++
Bonnie ++ — бесплатная утилита, предназначенная для оценки производительности файловой системы и жесткого диска. Он не входит в большинство дистрибутивов из коробки, но он должен быть доступен в основных репозиториях. Установите на Debian и Ubuntu с помощью:
Или установите на Fedora, Red Hat или CentOS с помощью:
После установки Bonnie ++ проще всего запустить следующую команду:
Это запустит тест в / TMP каталог (таким образом, тестирование производительности диска, на котором / TMP находится с параметром, указывающим, что система имеет 2048 МБ ОЗУ, и тестирование будет выполняться как [Имя пользователя] пользователь, который в моем случае будет jleeso .
Не уверен, сколько ОЗУ в вашей системе? Использовать бесплатно -m команду и посмотрите под общей колонкой для Mem.
В самом конце вы увидите разделенную запятыми строку, полную разных чисел. Это ваши результаты. Вот пример:
Скопируйте его и введите следующую команду:
Теперь откройте /tmp/test.html в своем веб-браузере вы увидите красиво отформатированную таблицу, которая показывает ваши результаты в более удобочитаемом виде.
Как ваш компьютер складывается?
Если ваши аппаратные тесты выглядят хорошо, но ваша система по-прежнему работает медленно, обратите внимание, что есть несколько других факторов, которые могут играть роль в этом. Да, медленное оборудование часто является узким местом
, но вы должны искать в другом месте, прежде чем бросать деньги на обновление.
Например, в Ubuntu есть несколько советов и приемов для ускорения повседневных операций.
(и не-Ubuntu дистрибутивы имеют свои собственные версии). Вы также можете рассмотреть возможность обновления ядра Linux
Так как же выглядят ваши результаты тестов? Вы нашли аппаратное узкое место, которое стоит обновить? Или вы довольны производительностью вашей системы? Дайте нам знать с комментарием внизу!
Источник