Утилита тестирования 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:
Подкоманда | Значение |
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 относятся к группе «Processor». Поэтому удобнее будет отсеять все остальные категории и тогда найти нужный будет проще и быстрее:
Из представленных результатов можно, к примеру, выбрать тест компиляции ядра Linux. Phoronix конфигурирует тесты таким образом, чтобы максимально задействовать ресурсы аппаратуры для получения максимально объективных результатов. В случае с тестом компиляции ядра будет задействовано максимальное количество ядер (или потоков) процессора. Утилита подобные вещи способна определять автоматически. Теперь для запуска теста нужно выполнить:
Следует ещё раз отметить, что если запускаемый тест не был установлен, то Phoronix сделает это автоматически перед его запуском. В этом случае необходимо внимательно следовать выдаваемым инструкциям, поскольку в ходе установки теста может потребоваться установка дополнительных пакетов зависимостей.
Также во время запуска теста утилита попросит ввести наименование и описание проводимого теста. По его окончании также будет предложено сразу же ознакомиться с результатами в интернет-браузере, а также загрузить их на сайт сообщества.
Когда необходимо удалить некоторые тесты, например они более не актуальны и/или занимают лишнее дисковое пространство, то для этого нужно выполнить подкоманду
Для уже рассмотренного теста по компиляции ядра Linux это будет выглядеть следующим образом:
Все свои данные и конфигурацию утилита 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.
Для показа результатов конкретных тестов предназначена подкоманда show-result:
В результате по-умолчанию в интернет-браузере будет открыта HTML-страница, содержащая все данные и информацию об указанном тесте. Здесь «sansung-memory-benchmark» — имя ранее сохранённых результатов теста.
Получить информацию об имеющихся (ранее сохранённых) результатах тестов позволяет подкоманда list-saved-results:
Здесь важно заметить, что сохранённые тесты можно использовать для добавления в них новых результатов. Для этого при запуске теста необходимо указывать требуемое имя теста, того, в который нужно добавить новые результаты. Так например, для показанного выше теста по тестированию памяти «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:
В результате в интернет-браузере будет открыта HTML-страница, показанная на рисунке ниже:
Рис. 2 — Фрагмент главной страницы утилиты Phoronix Test Suite в режиме графического интерфейса.
При работе с GUI доступны практически все функции, что и для командной строки. Особенностью является наличие мониторинга некоторых характеристик системы, таких как частоты процессора, температуры и т. д.
Рис. 3 — Просмотр установленных в системе тестов Phoronix Test Suite в режиме графического интерфейса.
Разобраться в GUI утилиты Phoronix не представляет особого труда, элементы интерфейса говорят сами за себя.
Заключение
В заключение необходимо отметить, что утилита тестирования Phoronix – это действительно самый мощный и универсальный инструмент тестирования как оборудования, так и системы в целом. Активная поддержка и развитие данного проекта делают его очень перспективным. Кроме всего прочего, проект Phoronix Test Suite давно оброс многочисленным сообществом, члены которого, благодаря возможности автоматической публикации результатов тестирования, обмениваются между собой как самими результатами тестирования, обмениваются между собой как самими результатами тестирования, так и собственными достижениями в оверклокинге.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Phoronix test suite windows
Phoronix Test Suite 10.4.0m1
The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available for Linux, Solaris, macOS, Windows, and BSD operating systems. The Phoronix Test Suite allows for carrying out tests in a fully automated manner from test installation to execution and reporting. All tests are meant to be easily reproducible, easy-to-use, and support fully automated execution. The Phoronix Test Suite is open-source under the GNU GPLv3 license and is developed by Phoronix Media in cooperation with partners.
The Phoronix Test Suite itself is an open-source framework for conducting automated tests along with reporting of test results, detection of installed system software/hardware, and other features. Modules for the Phoronix Test Suite also allow for integration with git-bisect and other revision control systems for per-commit regression testing, system sensor monitoring, and other extras.
This framework is designed to be an extensible architecture so that new test profiles and suites can be easily added to represent performance benchmarks, unit tests, and other quantitative and qualitative (e.g. image quality comparison) measurements. Available through OpenBenchmarking.org, a collaborative storage platform developed in conjunction with the Phoronix Test Suite, are more than 200 individual test profiles and more than 60 test suites available by default from the Phoronix Test Suite. Independent users are also able to upload their test results, profiles, and suites to OpenBenchmarking.org. A test profile is a single test that can be executed by the Phoronix Test Suite — with a series of options possible within every test — and a test suite is a seamless collection of test profiles and/or additional test suites. A test profile consists of a set of Bash/shell scripts and XML files while a test suite is a single XML file.
OpenBenchmarking.org also allows for conducting side-by-side result comparisons, a central location for storing and sharing test results, and collaborating over test data. Phoromatic is a complementary platform to OpenBenchmarking.org and the Phoronix Test Suite for interfacing with Phoronix Test Suite client(s) to automatically execute test runs on a timed, per-commit, or other trigger-driven basis. Phoromatic is designed for enterprise and allows for the easy management of multiple networked systems running Phoronix Test Suite clients via a single web-based interface.
Professional support and custom engineering for the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org is available by contacting https://www.phoronix-test-suite.com/.
Full details on the Phoronix Test Suite setup and usage is available from the included HTML/PDF documentation within the phoronix-test-suite package and from the Phoronix Test Suite website.
The Phoronix Test Suite is supported on Linux, *BSD, Solaris, macOS, and Windows systems. However, the most full-featured and well supported operating system for conducting the tests is Linux with some non-basic functionality not being available under all platforms. The Phoronix Test Suite software/framework is compatible with all major CPU architectures (e.g. i686, x86_64, ARM, RISC-V, PowerPC), but not all of the test profiles/suites are compatible with all architectures.
The Phoronix Test Suite can be installed for system-wide usage or run locally without installation from the extracted tar.gz/zip package. The only hard dependency on the Phoronix Test Suite is having command-line support for PHP (PHP 5.3+) installed. A complete PHP stack (e.g. with web server) is not needed, but merely the PHP command-line support, which is widely available from operating system package managers under the name php , php7-cli , php5-cli , or php7 .
The process to download, install/setup, execute, and report the results of a benchmark can be as simple as a command such as phoronix-test-suite benchmark smallpt to run a simple CPU test profile. If wishing to simply install a test, it’s a matter of running phoronix-test-suite install and to run it’s phoronix-test-suite run . There’s also a batch mode for non-interactive benchmarking by first running phoronix-test-suite batch-setup and then using the batch-run sub-command rather than run .
Viewing installed system hardware and software is available via phoronix-test-suite system-info .
Facilitating a result comparison from OpenBenchmarking.org can be done by running, for example, phoronix-test-suite benchmark 1204293-BY-PHORONIX357 if wishing to compare the results of the https://openbenchmarking.org/result/1204293-BY-PHORONIX357 result file.
Additional information is available from the Phoronix Test Suite website https://www.phoronix-test-suite.com/ and the material bundled within the phoronix-test-suite/documentation/ directory or via https://www.phoronix-test-suite.com/documentation/. A man page is also bundled with the phoronix-test-suite software.
About
The Phoronix Test Suite open-source, cross-platform automated testing/benchmarking software.