- Как оценить производительность Linux-сервера: открытые инструменты для бенчмаркинга
- Iometer
- vpsbench
- HammerDB
- Бенчмарки для Linux-серверов: 5 открытых инструментов
- Sysbench
- UnixBench
- Phoronix Test Suite
- Vdbench
- IOzone
- Тест производительности Linux
- Что такое Phoronix Test Suite?
- Доступные тесты производительности
- Тесты общей производительности системы (System):
- Тесты производительности процессора (Processor):
- Тесты производительности памяти (Memory):
- Тесты производительности дисковой подсистемы (Disk):
- Тесты производительности видеокарты (Graphics):
- Тест производительности Linux
- 1. Установка Phoronix Test Suite
- 2. Подключение учётной записи
- 3. Просмотр доступных бенчмарков
- 4. Установка тестов
- 5. Запуск тестов
- 6. Просмотр результатов тестов
- 7. Работа с сайтом openbenchmarking.org
- 8. Настройка сетевого доступа для тестов
- 9. Сервер тестирования компьютеров в локальной сети
- Выводы
Как оценить производительность Linux-сервера: открытые инструменты для бенчмаркинга
Мы в 1cloud.ru подготовили подборку инструментов и скриптов для оценки производительности процессоров, СХД и памяти на Linux-машинах: Iometer, DD, vpsbench, HammerDB и 7-Zip.
Другие наши подборки с бенчмарками:
- Sysbench, UnixBench, Phoronix Test Suite, Vdbench и IOzone
- Interbench, Fio, Hdparm, S и Bonnie
Фото — Bureau of Land Management Alaska — CC BY
Iometer
Это — бенчмарк для оценки производительности дисковой и сетевой подсистем. Подходит для работы как с одним сервером, так и целым кластером. Iometer представили инженеры Intel в 1998 году. В 2001-м корпорация передала исходники некоммерческой организации Open Source Development Labs (OSDL) по лицензии Intel Open Source License. С 2003 года поддержкой инструмента занимается группа энтузиастов — проект зарегистрирован на SourceForge.net.
Iometer состоит из генератора нагрузки dynamo и графического интерфейса. Правда, последний доступен только под Windows. Что касается генератора, то он позволяет имитировать нагрузку сторонних приложений — для этого создаются специальные тестовые шаблоны.
Бенчмарки показывают: пропускную способность, операции в секунду, латентность и загрузку процессора. Вычисляются не только средние значения величин, но и мин/макс.
Несмотря на то что последняя стабильная версия инструмента вышла в 2014 году, его до сих пор используют в Broadcom и Dell. Однако возраст системы все же сказывается. Во-первых, её интерфейс устарел и не менялся с 1998 года. Во-вторых, инструмент порой выводит не совсем адекватные результаты на массивах all-flash.
vpsbench
Простой скрипт для оценки производительности VPS. Распространяется по лицензии MIT. Вот пример его работы, приведенный в официальном репозитории на GitHub:
Утилита отображает количество ядер, частоту процессора, объемы задействованной памяти. Для оценки производительности дисков vpsbench выполняет последовательное и произвольное чтение/запись. Несмотря на то что утилита довольно старая (обновление на GitHub сделано около четырех лет назад) ее использует множество облачных провайдеров и ИТ-компаний.
HammerDB
Один из самых популярных открытых бенчмарков для нагрузочного тестирования баз данных. Поддержкой инструмента занимается некоммерческая организация TPC — Transaction Processing Performance Council. Её цель — разработка стандартов для БД-бенчмарков.
HammerDB создает тестовую схему БД, наполняет её данными и симулирует нагрузку нескольких виртуальных пользователей. Нагрузкой могут служить как транзакционные, так и аналитические операции. Поддерживает: Oracle Database, SQL Server, IBM Db2, MySQL, MariaDB, PostgreSQL и Redis.
Вокруг HammerDB сформировалось обширное комьюнити. Утилиту используют компании из 180 стран мира. Среди них: Intel, Dell, Lenovo, Red Hat и многие другие. Если вы хотите изучить возможности утилиты самостоятельно — можете начать с официальных гайдов.
Фото — lost places — CC BY
Этот архиватор имеет встроенный бенчмарк для тестирования скорости процессоров при сжатии определенного количества файлов. Также он подойдет для проверки RAM на ошибки. Для тестов используется алгоритм LZMA (Lempel–Ziv–Markov chain Algorithm). Он основан на схеме сжатия данных по словарю. Например, чтобы запустить бенчмарк с одним потоком и 64-мегабайтным словарем достаточно прописать команду:
Результат программа предоставит в формате MIPS (million instructions per second), что можно назвать недостатком. Этот параметр подходит для сравнения быстродействия процессоров одинаковой архитектуры, но в случае с различающимися архитектурами его применимость ограничена.
Инструмент командной строки, конвертирующий и копирующий файлы. Но его можно использовать для проведения простых I/O-тестов на СХД. Из коробки запускается практически на любой системе GNU/Linux.
На wiki-страничке приведена команда для оценки производительности диска при последовательной записи 1024-байтных блоков:
Также стоит отметить, что DD можно использовать в качестве простого CPU-бенчмарка. Правда, для этого понадобится дополнительная программа, требующая ресурсоемких вычислений. Например, утилита для расчета значений хеш-сумм md5sum.
Команда выше покажет, насколько быстро (Мбайт/с) система обработает длинную числовую последовательность. Хотя эксперты говорят, что эта команда подойдет лишь для грубой оценки производительности. Также важно помнить, что DD позволяет производить низкоуровневые операции на жёстких дисках. Поэтому работать с утилитой нужно осторожно, чтобы не потерять часть данных (название DD иногда в шутку расшифровывают, как disk destroyer).
О чем мы пишем в наших блогах и социальных сетях:
Исследование: Linux — все еще самая популярная ОС в облаке
В Open Invention Network больше трех тысяч лицензиатов — что это значит для открытого ПО
Как обезопасить Linux-систему: 10 советов
Минимизация рисков: как не потерять ваши данные
Книги для тех, кто уже занимается системным администрированием или только планирует начать
Необычные доменные зоны для вашего проекта
Источник
Бенчмарки для 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?
Данный пакет — открытое программное обеспечение, используемое для автоматического тестирования комплектующих системы с помощью огромного набора бенчмарков. С данным ПО тесно связан сайт openbenchmarking.org, позволяющий сохранять и вести свою базу результатов тестов, а также делиться своими достижениями с другими.
С помощью Phoronix Test Suite вы можете найти узкое место в своей конфигурации компьютера, сравнить вашу систему с аналогичными системами других пользователей, оценить общую производительность или производительность конкретных узлов ПК. Для всех этих целей пакет предлагает широкий выбор тестов, разделённый на несколько категорий:
- System — тесты общей производительности системы.
- Processor — тесты производительности процессора.
- Memory — тесты производительности оперативной памяти.
- Graphics — тестирование производительности видеокарты.
- Disk — тесты производительности дисковой подсистемы.
Рассмотрим каждую категорию отдельно, составив список интересных бенчмарков.
Доступные тесты производительности
Тесты общей производительности системы (System):
- PyBench — тест, вызывающий различные функции, реализованные с использованием Python. Позволяет оценить общую производительность системы Linux.
- Blender — тест на основе программного обеспечения с открытым исходным кодом для создания 3D-сцен и 3D-моделей.
- BRL-CAD — бенчмарк на базе кросс-платформенного программного обеспечения для твердотельного моделирования.
- IndigoBench — тест на основе Indigo Renderer (фотореалистичного рендера для GPU и CPU, применяющего методики точного моделирования физики света).
- LuxMark — мультиплатформенный тест OpenGL, основанный на LuxRender. Использует библиотеку OpenCL, содержит несколько различных сцен для рендеринга. LuxRender — система рендеринга для Blender и 3DS Max.
- Ethminer — бенчмарк на основе Ethereum Ethminer (Майнер GPU для различных монет, основанных на алгоритме Ethash).
- V-Ray — бенчмарк на основе рендера V-Ray от Chaos Group.
Тесты производительности процессора (Processor):
- Build-GCC — тест процессора linux, показывающий сколько времени занимает сборка коллекции GNU Compiler Collection. Содержит библиотеки, написанные на следующих языках: C, C++, Objective-C, Fortran, Ada, Go и D.
- Build-PHP — тест даёт оценку быстроте компиляции PHP7.
- Go-benchmark — бенчмарк, вычисляющий производительность процессора в Go для HTTP, JSON и сборки мусора.
- Dacapobench — тесты DaCapo, написанные на Java и тестирующие производительность процессора.
- SciMark2 — бенчмарк SciMark 2.0, оценивающий производительность научных и целочисленных вычислений и разработанный программистами National Institute of Standards and Technology. Содержит несколько подтестов, основанных на различных алгоритмах.
- FFmpeg — тест на основе набора библиотек FFmpeg, позволяющих кодировать/декодировать аудиозаписи и видеозаписи в различные форматы. Тестирует производительность кодирования аудио/видео системой.
- LuxCoreRender — рендер с открытым исходным кодом. Данный бенчмарк оценивает производительность процессора.
- X264 — тест производительности процессора Linux при кодировании x264-видео.
- Povray — бенчмарк на основе программы The Persistence of Vision Raytracer, строящий 3D-сцены на основе трассировки лучей.
- OpenSSL — тест процессора, измеряющий производительность процессора при использовании алгоритма шифрования RSA, 4096-бит, OpenSSL.
Тесты производительности памяти (Memory):
- RAMspeed — тест памяти Linux, измеряющий производительность оперативной памяти.
- SQLite — тест оперативной памяти, измеряющий время, необходимое для выполнения вставки данных в индексированную базу данных.
Тесты производительности дисковой подсистемы (Disk):
- Iozone — тестирует производительность жёсткого диска linux, а также файловой системы.
Тесты производительности видеокарты (Graphics):
- UNIGINE-Heaven — бенчмарк, вычисляющий среднюю частоту кадров в демо UNIGINE Heaven. Данное демо было выпущено в 2009 году.
- UNIGINE-Valley — тест видеокарты linux, вычисляющий среднюю частоту кадров в демо UNIGINE Valley. Исходное ПО было выпущено в 2013 году и использует OpenGL 3.
- UNIGINE-Superposition — тест видеокарты на основе демо UNIGINE Superposition, вышедшего в 2017 году. Исходный тест содержит режим для виртуальной реальности.
- UE4-Atlantis — тест на основе демо на движке Unreal Engine 4. Тест вышел в 2015 году.
Тест производительности Linux
1. Установка Phoronix Test Suite
В репозиториях операционных систем семейства Linux обычно содержится устаревшая версия пакета. Поэтому, в первую очередь скачиваем свежую версию дистрибутива по адресу: https://www.phoronix-test-suite.com/?k=downloads.
Далее предлагаем последовательность установки для операционной системы Ubuntu.
Открываем командный интерпретатор bash и выполняем следующие команды:
sudo apt install gdebi-core
Пакет, позволяющий устанавливать программное обеспечение из пакетов *.deb, установлен. Затем устанавливаем скачанную нами версию тестового программного обеспечения:
sudo gdebi phoronix-test-suite_9.4.0_all.deb
Данную команду надо выполнять из папки, в которой находится скачанный дистрибутив Phoronix Test Suite.
2. Подключение учётной записи
Далее рекомендуем вам на сайте openbenchmarking.org, сохраняющем результаты тестов с использованием Phoronix Test Suite, создать свою учётную запись. После этого подключаем вашу учётную запись с помощью команды:
Вводим свой логин и пароль.
На этом установка Phoronix Test Suite завершена.
3. Просмотр доступных бенчмарков
Посмотреть доступные бенчмарки можно с помощью команды:
sudo phoronix-test-suite list-all-tests
Просмотреть установленные тесты можно с помощью команды:
sudo phoronix-test-suite list-installed-tests
Просмотреть неустановленные тесты можно с помощью команды:
sudo phoronix-test-suite list-not-installed-tests
4. Установка тестов
Устанавливаются нужные вам тесты с помощью команды:
sudo phoronix-test-suite install [ имя теста ]
sudo phoronix-test-suite install build-gcc
В случае некорректной установки выбранного бенчмарка можно использовать для удаления теста команду:
sudo phoronix-test-suite remove-installed-test [ имя теста ]
sudo phoronix-test-suite remove-installed-test build-gcc
Для того, чтобы выявить ошибки в процессе установки, необходимо воспользоваться командой:
sudo ph oronix-test-suite debug-install [ имя теста ]
sudo phoronix-test-suite debug-install build-gcc
5. Запуск тестов
Запуск чтобы запустить конкретный тест производительности linux из состава пакета выполните:
sudo phoronix-test-suite run [ имя теста ]
sudo phoronix-test-suite run pybench
После запуска Phoronix Test Suite спрашивает, сохранить результаты или нет. Выбираем Y. В следующем запросе нужно ввести имя файла результатов теста, например, test-28-02-2020-01. Затем тест запрашивает уникальное имя теста (конфигурации теста). Последним запрашивается описание тестовой конфигурации (можно оставить по умолчанию).
После выполнения теста выводится предложение просмотреть результат в браузере и загрузить результат на сайт openbenchmarking.org.
Результат в браузере выглядит следующим образом
Запуск нескольких тестов одновременно производится командой:
sudo phoronix-test-suite run [ имя теста ] [ имя теста ] [ имя теста ] … [ имя теста ]
sudo phoronix-test-suite run scimark2 pybench
Запуск теста с отслеживанием ошибок производится командой:
sudo phoronix-test-suite debug-run [ имя теста ]
sudo phoronix-test-suite debug-run scimark2
6. Просмотр результатов тестов
Отобразить на экране список сохранённых результатов тестов Linux можно с помощью команды:
sudo phoronix-test-suite list-saved-results
Просмотреть конкретный результат можно с помощью команды:
sudo phoronix-test-suite show-result [ saved name ]
sudo phoronix-test-suite show-result 2002279-FIRE-TEST26009
Удалить результат можно с помощью команды:
sudo phoronix-test-suite remove-result [ saved name ]
sudo phoronix-test-suite remove-result 2002279-FIRE-TEST26009
Переименовать файл, содержащий результаты, можно следующей командой:
sudo phoronix-test-suite rename-result-file [ saved name ]
sudo phoronix-test-suite rename-result-file test-26-02-2020-02
Команда запрашивает новое имя файла:
Сохранить результаты в формате pdf можно с помощью команды:
sudo phoronix-test-suite result-file-to-pdf [ saved name ]
sudo phoronix-test-suite result-file-to-pdf test-28-02-2020-01
Объединить результаты из разных файлов в один можно с помощью команды:
sudo phoronix-test-suite merge-results [ saved name ] [ saved name ] … [ saved name ]
sudo phoronix-test-suite merge-results test-26-02-2020-02 test-28-02-2020-01
При этом имя для объединённого результата программа выбирает сама, отдельные старые результаты тоже сохраняются.
Внимание! При выполнении этой команды ссылка для просмотра результата в браузере у меня получалась нерабочей, но в дальнейшем результат было можно просмотреть с помощью команды
sudo phoronix-test-suite show-result [ saved name ].
7. Работа с сайтом openbenchmarking.org
Вставка результата в базу сайта производится следующим образом:
sudo phoronix-test-suite upload-result [ saved name ]
sudo phoronix-test-suite upload-result test-28-02-2020-01
Загрузить конкретный результат текущего пользователя с сайта на ПК можно с помощью команды:
sudo phoronix-test-suite clone-result [ OpenBenchmarking ID test ]
sudo phoronix-test-suite clone-result 2002279-FIRE-TEST26009
Посмотреть загруженные с данного IP на сайт результаты тестов можно с помощью команды:
sudo phoronix-test-suite openbenchmarking-uploads
Также посмотреть результаты тестов можно непосредственно в браузере на сайте openbenchmarking.org.
Для того, чтобы сформировать выборку тестов, необходимо установить флажки с названием файлов результатов и нажать на ссылку Compare Selected Results.
Результат сформированной выборки будет выглядеть так:
8. Настройка сетевого доступа для тестов
Следующая команда показывает параметры сетевых настроек для пакета:
sudo phoronix-test-suite network-info
Настроить параметры прокси-сервера для доступа к базам тестов в Интернет можно с помощью команды:
sudo phoronix-test-suite network-setup
9. Сервер тестирования компьютеров в локальной сети
Кроме того, пакет Phoronix Test Suite содержит сервер удалённого тестирования Phoromatic, с помощью которого можно организовать централизованное тестирование и хранение результатов тестов в локальной сети. Подробное рассмотрение данного сервера выходит за рамки нашей статьи.
Выводы
В статье мы рассмотрели как оценить производительность Linux и как пользоваться Phoronix Test Suite. Этот пакет содержит огромный выбор тестов на любой вкус. Нами порекомендованы некоторые из них для всестороннего тестирования персонального компьютера. Также были рассмотрены особенности работы с программой в командной оболочке. Было уделено внимание выгрузке результатов на сайт, комбинированию и просмотру результатов.
Теперь вы тоже можете присоединиться к сообществу тестеров Phoronix Test Suite. Делитесь своими результатами тестов в комментариях!
Источник