Утилита тестирования Phoronix Test Suite

Как известно, тестирование является неотъемлемой частью оценки производительности и качества как программного обеспечения (ПО), так и оборудования. В настоящее время на рынке ПО для выполнения тестов немало вариантов. Однако среди такого изобилия, как оказывается, не так уж и много по-настоящему универсальных, и что немаловажно, свободных и качественных решений, позволяющих объективно оценить возможности и надёжность оборудования и ПО. И пожалуй, наиболее достойным из таковых решений является утилита Phoronix Test Suite. О ней более подробно будет рассказано в данной статье.

Основные особенности и возможности Phoronix

Утилита Phoronix является кроссплатформенным решением. Она имеет очень широкий набор самых популярных и эффективных тестов, а также готовые комплексные тесты для тестирования отдельных компонент, таких как дисковая или подсистема памяти, GPU, CPU и т. д.

Для тестирования графической подсистемы, а также общей производительности есть возможность воспользоваться игровыми тестами, предусмотренными Phoronix по-умолчанию. Их номенклатура довольно широка: Xonotic, Tesseract, SuperTuxKart и т. д. Также Phoronix поддерживает в качестве игровых тестов запуск некоторых игр в режиме «бенчмарк», установленных через платформу Steam, таких как Dota 2, Portal 2, Team Fortress 2, F1 2017 и другие.

Сама утилита написана на языке PHP. Её бэкенд представляет собой программную обёртку для управления тестами, а также для вывода и представления их результатов. Есть также возможность составления собственных комплексных тестов.

Одной из ключевых особенностей Phoronix является то, что «из коробки» поставляются лишь некоторые, самые популярные тесты. При необходимости утилита самостоятельно скачает и установит необходимый тест. Это сделано для экономии дискового пространства, поскольку некоторые тесты для графической подсистемы например, занимают довольно внушительный объём в файловой системе.

В большинстве Linux-дистрибутивов утилита Phoronix доступна в стандартном репозитории. Соответствующий пакет обычно так и называется: phoronix-test-suite. Конечно же для его корректной установки и работы необходимы некоторые зависимые пакеты, такие как php5, curl и php5-gd.

Утилита также позволяет производить мониторинг температур и частот процессора во время выполнения теста и отображать соответствующие лог-графики. Результаты тестов можно по желанию выгружать на сайт сообщества https://openbenchmarking.org. Это довольно удобно, например, когда необходимо сравнить результаты схожих по конфигурации систем, полученных от других тестеров и оверклокеров по всему миру.

Синтаксис команд Phoronix и её основные опции

Утилита предоставляет доступ к управлению и запуску тестов с помощью команды phoronix-test-suite. Следующие за этой командой специальные подкоманды, собственно и реализуют тестирование. Таким образом, синтаксис утилиты Phoronix следующий:

phoronix-test-suite подкоманда [аргументы]

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

$ phoronix-test-suite

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

  • установка и удаление тестов;
  • запуск тестов;
  • анализ результатов;
  • управление результатами;
  • и т. д.

Некоторые наиболее часто используемые подкоманды Phoronix:

Подкоманда Значение
list-available-tests Вывод списка всех доступных тестов.
list-installed-tests Вывод списка всех установленных тестов.
Remove-installed-test [Test] Удаление указанного в качестве [Test] теста.
list-saved-results Вывод списка сохранённых результатов тестов.
show-result [Test Result] Показ указанных в качестве [Test Result] результатов тестов.
result-file-to-csv [Test Result] Портирование результатов в файл формата CSV.
result-file-to-pdf [Test Result] Портирование результатов в файл формата PDF.
result-file-to-text [Test Result] Портирование результатов в текстовый файл.
remove-result [Test Result] Удаление указанного результата теста.

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

Итак, в качестве примера можно рассмотреть самую распространённую ситуацию: сборка нового компьютера или отдельных комплектующих, которые необходимо (или просто очень интересно) протестировать на предмет производительности и/или быстродействия. Допустим, интересует производительность процессора. Для этого необходимо для начала ознакомиться, какими тестами для CPU располагает Phoronix:

$ phoronix-test-suite list-available-tests

В результате будет выведен довольно длинный список тестов, в котором довольно сложно ориентироваться. Все тесты для процессоров в Phoronix относятся к группе «Processor». Поэтому удобнее будет отсеять все остальные категории и тогда найти нужный будет проще и быстрее:

$ phoronix-test-suite list-available-tests | grep Processor
. . .
pts/build-apache - Timed Apache Compilation Processor
pts/build-eigen - Timed Eigen Compilation Processor
pts/build-firefox - Timed Firefox Compilation Processor
pts/build-gcc - Timed GCC Compilation Processor
pts/build-imagemagick - Timed ImageMagick Compilation Processor
pts/build-linux-kernel - Timed Linux Kernel Compilation Processor
pts/build-llvm - Timed LLVM Compilation Processor
pts/build-mplayer - Timed MPlayer Compilation Processor
pts/build-php - Timed PHP Compilation Processor
pts/build-webkitfltk - Timed WebKitFLTK Compilation Processor
pts/bullet - Bullet Physics Engine Processor
pts/byte - BYTE Unix Benchmark Processor
pts/c-ray - C-Ray Processor
pts/cachebench - CacheBench Processor
pts/clomp - CLOMP Processor
pts/cloverleaf - CloverLeaf Processor
pts/compress-7zip - 7-Zip Compression Processor
. . .

Из представленных результатов можно, к примеру, выбрать тест компиляции ядра Linux. Phoronix конфигурирует тесты таким образом, чтобы максимально задействовать ресурсы аппаратуры для получения максимально объективных результатов. В случае с тестом компиляции ядра будет задействовано максимальное количество ядер (или потоков) процессора. Утилита подобные вещи способна определять автоматически. Теперь для запуска теста нужно выполнить:

$ phoronix-test-suite run build-linux-kernel

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

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

Когда необходимо удалить некоторые тесты, например они более не актуальны и/или занимают лишнее дисковое пространство, то для этого нужно выполнить подкоманду

$ remove-installed-test

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

$ phoronix-test-suite remove-installed-test build-linux-kernel-1.9.1
Are you sure you wish to remove the test pts/build-linux-kernel-1.9.1 (y/N): y
pts/ build-linux-kernel-1.9.1 has been removed
Узнать, какие на данный момент тест установлены, позволяет подкоманда list-installed-tests:
$ phoronix-test-suite list-installed-tests
Phoronix Test Suite v5.2.1
20 Tests Installed

pts/aobench-1.0.1 - AOBench
pts/asmfish-1.1.1 - asmFish
pts/build-linux-kernel-1.9.1 - Timed Linux Kernel Compilation
pts/compress-7zip-1.7.0 - 7-Zip Compression
pts/encode-flac-1.6.0 - FLAC Audio Encoding
pts/encode-mp3-1.7.3 - LAME MP3 Encoding
pts/fhourstones-1.1.2 - Fhourstones
pts/gputest-1.3.2 - GpuTest
pts/mpcbench-1.0.1 - GNU MPC
pts/openssl-1.11.0 - OpenSSL
pts/povray-1.2.1 - POV-Ray
pts/ramspeed-1.4.2 - RAMspeed SMP
pts/stockfish-1.1.1 - Stockfish
pts/supertuxkart-1.5.2 - SuperTuxKart
pts/tesseract-1.1.0 - Tesseract
pts/tinymembench-1.0.2 - Tinymembench
pts/ttsiod-renderer-1.7.0 - TTSIOD 3D Renderer
pts/x264-2.5.0 - x264
pts/xonotic-1.5.1 - Xonotic

Все свои данные и конфигурацию утилита Phoronix хранит, как правило, в домашнем каталоге пользователя в подкаталоге .phoronix-test-suite, например в /home/john/.phoronix-test-suite. Здесь среди всех прочих находятся каталоги installed-tests и test-results для хранения установленных тестов и результатов тестирования соответственно.

Phoronix поддерживает расширение функционала с помощью модулей, для которых существуют каталоги modules и modules-data. Это касается уже более «продвинутого» тестирования, которым занимаются оверклокеры или обзорщики всевозможного компьютерного «железа».

Более подробно о расширении возможностей и о более «продвинутом» использовнии Phoronix можно ознакомиться на страницах официального руководства, распространяемого в электронном виде по адресу https://www.phoronix-test-suite.com/documentation/.

Работа с результатами тестирования

По желанию Phoronix может сохранять результаты тестов в разных форматах: CSV, TXT или PDF. По-умолчанию, если не указан конкретный формат, то результаты сохраняются в формате HTML. Выглядит это следующим образом:

Рис. 1 - Представление результатов тестов Phoronix Test Suite.
Рис. 1 — Представление результатов тестов Phoronix Test Suite.

Для показа результатов конкретных тестов предназначена подкоманда show-result:

$ phoronix-test-suite show-result sansung-memory-benchmark

В результате по-умолчанию в интернет-браузере будет открыта HTML-страница, содержащая все данные и информацию об указанном тесте. Здесь «sansung-memory-benchmark» — имя ранее сохранённых результатов теста.

Получить информацию об имеющихся (ранее сохранённых) результатах тестов позволяет подкоманда list-saved-results:

$ phoronix-test-suite list-saved-results

Phoronix Test Suite v5.2.1
1 Saved Results
Saved Name: samsung-memory-benchmark Title: samsung-memory-benchmark
- Stock at 2400 MHz
- Stock at 2400 MHz, AIM BIOS 7B77v18
- Stock at 2400 MHz, AIM BIOS 7B77v18 New

Здесь важно заметить, что сохранённые тесты можно использовать для добавления в них новых результатов. Для этого при запуске теста необходимо указывать требуемое имя теста, того, в который нужно добавить новые результаты. Так например, для показанного выше теста по тестированию памяти «sansung-memory-benchmark» (с помощью теста Tinymembench), это имя использовалось впоследствии, при добавлении в него новых результатов с описанием «Stock at 2400 MHz, AIM BIOS 7B77v18» и «Stock at 2400 MHz, AIM BIOS 7B77v18 New». При этом в этом тесте уже были ранее полученные результаты, обозначенные как «Stock at 2400 MHz».

Графический интерфейс Phoronix

Для того, чтобы работать с утилитой Phoronix с помощью графического пользовательского интерфейса (GUI), нужно выполнить подкоманду gui:

$ phoronix-test-suite gui

В результате в интернет-браузере будет открыта HTML-страница, показанная на рисунке ниже:

Рис. 2 - Фрагмент главной страницы утилиты Phoronix Test Suite в режиме графического интерфейса.
Рис. 2 — Фрагмент главной страницы утилиты Phoronix Test Suite в режиме графического интерфейса.

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

Рис. 3 - Просмотр установленных в системе тестов Phoronix Test Suite в режиме графического интерфейса.
Рис. 3 — Просмотр установленных в системе тестов Phoronix Test Suite в режиме графического интерфейса.

Разобраться в GUI утилиты Phoronix не представляет особого труда, элементы интерфейса говорят сами за себя.

Заключение

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

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

ИТ Проффи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: