Как стать автором
Обновить
64.24
Cloud4Y
#1 Корпоративный облачный провайдер

Оцениваем производительность инфраструктуры с Phoronix Test Suite

Время на прочтение6 мин
Количество просмотров6.1K

Aloha всем хабравчанам! Я Влад, системный администратор Cloud4Y. Хочу рассказать, как и зачем мы используем продукт Phoronix Test Suite, а также каким образом можно точно и легко определить реальную (не заявленную) производительность оборудования, предоставленного провайдером облачных услуг.

Во время выбора площадки для размещения инфраструктуры клиенты часто спрашивают, где у Cloud4Y находятся ЦОДы, какая сетевая инфраструктура, виртуализация, SLA и т. д. Это правильно, но важно обращать внимание и на аппаратный комплекс дата-центра. Как можно оценить его эффективность? Хороший вариант — с помощью Phoronix Test Suite.

Что такое Phoronix Test Suite

Phoronix Test Suite (PTS) — это свободно распространяемое (GNU GPLv3) кроссплаформенное ПО для проведения тестов – бенчмаркинга. PTS умеет проводить тесты в автоматическом режиме и доступен на Windows, Linux, macOS, Solaris и BSD. Phoronix Test Suite комплексно оценивает производительность компонентов системы, так как включает в себя более 600 различных тестов, начиная от производительности процессора и заканчивая тестами приложений (например, Apache или NGINX).

У PTS плотная интеграция с сайтом OpenBenchmarking.org, туда можно выгружать результаты, сохранять их в личной базе данных, делиться конфигурациями тестов. Согласно базе тестов OpenBenchmarking.org, различают 6 типов тестов:

  1. Disk – тестирование дисковой подсистемы. Например, Flexible IO Tester – известный как fio, популярный тестер I/O.

  2. Graphics – тестирование графического адаптера. Например, Unigine Heaven — тест вычисляет среднюю частоту кадров в Heaven для движка Unigine. Этот движок чрезвычайно требователен к видеокарте системы.

  3. Memory – тестирование оперативной памяти. Например, Stream – является самым популярным тестом для проверки производительности оперативной памяти.

  4. Network – тестирование сетевой производительности системы. Например, Loopback TCP Network Performance – тест проверяет, насколько эффективно работает сетевой стек TCP/IP.

  5. Processor – тестирование эффективности процессора. Например, x264 — тест производительности при кодировании образца файла с помощью x264 кодека, запущенного на ЦП (OpenCL отключен).

  6. System – тестирование общей производительности системы. Например, Apache HTTP Server — тест веб-сервера Apache HTTPD с помощью программы на Golang’e «Bombardier».

Важно: хотя phoronix можно использовать на различных ОС, тесты не всегда поддерживают все платформы. Поэтому перед тестированием рекомендую внимательно ознакомиться с выбранным тестом. Проверить совместимость можно двумя способами:

Первый: открыть на сайте OpenBenchmarking.org вкладку Tests и, найдя нужный тест, увидеть список поддерживаемых ОС.

Второй: открыв тест, посмотреть список поддерживаемых ОС.

Теперь, когда мы познакомились с продуктом, можно перейти к работе с ним. Погнали!

Установка Phoronix Test Suite

Рассмотрим установку PTS на операционные системы Linux и Windows. В качестве OC Linux используется Ubuntu 20.04 LTS, OC Windows – Windows Server 2019.

Для установки на Ubuntu 20.04

обновляем систему

sudo apt-get update && sudo apt-get upgrade

устанавливаем необходимые пакеты

sudo apt install php7.4-gd curl git sqlite3 bzip2 php-cli php-xml

скачиваем дистрибутив PTS с официального github phoronix

git clone https://github.com/phoronix-test-suite/phoronix-test-suite

переходим в каталог с phoronix-test-suite и устанавливаем PTS путём запуска скрипта

cd phoronix-test-suite && sudo ./install-sh

Если у вас Windows Server 2019, делаем так:

  • Обновляем систему с помощью Центра обновления Windows.

  • Скачиваем дистрибутив PTS с официального github.

  • Деархивируем скачанный файл в корень диска С. Открываем консоль с правами администратора, переходим в папку с PTS .

cd C:\phoronix-test-suite

Запускаем скрипт phoronix-test-suite.bat, немного подождём, но за напитками пока рано – иногда нужно прожатие next-next-next. Для начала работы программы наберём phoronix-test-suite в командной строке (командная строка должна изменить свой внешний вид).

Тестирование

Установили? Отлично, теперь тестирование. Все команды PTS аналогичны для Windows и Linux дистрибутивов. Мы будем рассматривать работу в командной строке Linux. Тест можно запустить двумя способами, простым и сложным. Сложный путь – сначала необходимо установить тест (установится сам тест + зависимости)

phoronix-test-suite install < имя теста >

после чего запустить тест

phoronix-test-suite run < имя теста >

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

phoronix-test-suite benchmark < имя теста >

после чего Phoronix установит тест, зависимости и запустит тестирование.

Давайте попробуем запустить тест hmmer. Наберём в консоли

phoronix-test-suite benchmark hmmer

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

Phoronix Test Suite предлагает сохранить результаты. Давайте выберем Y. Следующий вопрос о имени файла результатов тестирования, вводим hmmer-test-result. Ещё один вопрос — про имя конфигурации теста. Оно должно быть уникальным, но можно оставить по умолчанию, просто нажав Enter (Phoronix автоматически сформирует имя). Далее вопрос о описании конфигурации – давайте оставим по умолчанию, нажав Enter.

Далее запустится тест. Терпеливо ждём результаты, а пока их нет, давайте познакомимся с полезными командами Phoronix Test Suite:

  • phoronix-test-suite help – покажет все доступные команды.

  • phoronix-test-suite list-all-tests – поможет увидеть все доступные тесты для текущей машины.

  • phoronix-test-suite list-all-tests | grep Processor для Linux, или .\phoronix-test-suite list-all-tests | Select-String -Pattern Processor для Windows — видим все тесты для процессора.

  • phoronix-test-suite list-installed-tests – тесты, которые установлены на машине.

  • phoronix-test-suite list-recommended-tests – список рекомендованных тестов для вашей ОС.

  • phoronix-test-suite info <name_test> — позволит посмотреть техническую информацию о тесте.

  • phoronix-test-suite benchmark <test1> <test2> <test3> — позволит установить (если необходимо) и запустить подряд тесты test1, test2, test3.

А вот и тест завершился, вернёмся к результатам hmmer.

Ещё пара вопросов от Phoronix Test Suite после завершения теста. Хотим увидеть результат теста в консоль? /Y. Хотим загрузить результат на OpenBenchmarking.org? /Y. Хотим добавить к результату техническую информацию о машине? /Y. А с помощью полученной ссылки можно ознакомиться с результатами в браузере.

Слишком много вопросов? От них можно избавиться, добавив в параметры выполнение всех опций теста. Введем в командной строке:

phoronix-test-suite batch-setup

Например, так:

Внимание! Чтобы настройки batch применялись, необходимо производить запуск тестов командой batch-benchmark вместо benchmark, в остальном синтаксис сохраняется. Например, phoronix-test-suite batch-benchmark hmmer.

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

MONITOR=all phoronix-test-suite batch-benchmark hmmer

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

А теперь самое важное — поговорим о результатах.

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

для linux:  ~/.phoronix-test-suite/test-results

для Windows: C:\Users\< User >\.phoronix-test-suite\test-results

Чтобы увидеть сохраненные тесты:

phoronix-test-suite list-results

Чтобы подробно ознакомится с результатами теста

phoronix-test-suite show-result < имя теста >, например

phoronix-test-suite show-result hmmer-test-result

Можно конвертировать файл результатов в один из удобных для форматов: csv, json, pdf и др.

phoronix-test-suite result-file-to-<формат> < имя теста >

Разберёмся, как интерпретировать полученные данные. Наиболее простым вариантом является Excel – им и воспользуемся. Я использовал много разных тестов, так что покажу как выглядит часть моей таблички (зелёный цвет – лучший результат, красный – худший):

Каждый тест при выводе результата указывает, как должно трактоваться числовое значение:

  • Higher Is Better – чем больше значение, тем лучше.

  • Lower Is Better – чем меньше значение, тем лучше.

Результат каждого теста заносился в табличку и впоследствии был проведён анализ. Каждая тестируемая площадка получала в типовом тесте +1 за лучший результат, и -1 за худший, все стартовали с 0. После подсчёта получаем относительное число по типам нагрузки на площадке, на основании которого можно получить представление о производительности тестируемых площадок.

Удобство получаемых данных в том, что мы можем однозначно сказать, какая система лучше. Числовой вывод позволяет однозначно интерпретировать полученные значения. Результаты, полученные с помощью Phoronix Test Suite могут использоваться в качестве метрик, на основании которых производится сравнительные тестирования. Если вам нужно получать важные и актуальные данные о состоянии или изменении текущей инфраструктуры, а также быстрее реагировать на «узкие» места в используемых системах, решать проблемы вовремя, то методика тестирования с помощью Phoronix Test Suite — это простой и удобный путь.

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

Спасибо за внимание.

P.S. А ещё 28 декабря в 15-00 у нас будет вебинар по безопасности в соцсетях. Приглашаем зарегистрироваться.


Что ещё интересного есть в блоге Cloud4Y

→ Айтишный пицца-квест. Итоги

→ Как я случайно заблокировал 10 000 телефонов в Южной Америке

→ Клавиатуры, которые постигла неудача

→ WD-40: средство, которое может почти всё

→ Изучаем своё железо: сброс паролей BIOS на ноутбуках

Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью. Пишем не чаще двух раз в неделю и только по делу.

Теги:
Хабы:
Всего голосов 18: ↑18 и ↓0+18
Комментарии1

Публикации

Информация

Сайт
www.cloud4y.ru
Дата регистрации
Дата основания
2009
Численность
51–100 человек
Местоположение
Россия