Yandex
Обновить настройки cookies

Проверяем производительность Linux-сервера: популярные инструменты для бенчмаркинга

Бенчмаркинг позволяет определить, насколько эффективно работает ваше оборудование. Это может быть полезно, если вы недавно обновили сервер, хотите проверить его после апгрейда или сравнить производительность с другими системами.

Рассмотрим несколько инструментов, которые измеряют производительность процессора Linux, диска и оперативной памяти.

Iometer

Популярный инструмент для проверки производительности дисковой и сетевой подсистем. Его можно использовать как для анализа одного сервера, так и для тестирования целого кластера. Инженеры Intel разработали этот тест производительности Linux системы в 1998 году, а в 2001 году он был передан организации Open Source Development Labs (OSDL) под лицензией Intel Open Source License. С 2003 года проект поддерживается группой энтузиастов и размещается на платформе SourceForge.net.

Утилита Iometer включает в себя два ключевых компонента: генератор нагрузки dynamo и графический интерфейс. При этом графическая оболочка доступна только для Windows, а генератор нагрузки работает на Linux. Он позволяет моделировать нагрузку различных приложений с помощью шаблонов тестирования.

Параметры, которые может оценить Iometer:

  • пропускная способность;
  • Linux ОС производительность - количество операций в секунду;
  • латентность;
  • загрузка процессора.
Инструмент не только вычисляет средние значения, но и выдает минимальные и максимальные показатели для более точного анализа.

Последняя стабильная версия Iometer вышла в 2014 году, интерфейс программы выглядит устаревшим, результаты тестов на современных all-flash массивах не всегда корректны. При этом утилита активно используется такими компаниями, как Broadcom и Dell.

vpsbench

Простой скрипт для тестирования производительности VPS. Распространяется под лицензией MIT, что делает его доступным для широкого круга пользователей.

Утилита предоставляет информацию о ключевых характеристиках Linux производительности системы:

  • число процессорных ядер;
  • частота процессора;
  • объем используемой оперативной памяти.
Для оценки дисковой подсистемы vpsbench выполняет test последовательного и случайного команд чтения и записи.

Хотя инструмент не обновлялся несколько лет, он востребован в сфере облачных провайдеров и IT-компаний.

HammerDB

Мощный инструмент для нагрузочного тестирования баз данных. Его разработкой и поддержкой занимается некоммерческая организация Transaction Processing Performance Council (TPC).

Основной функционал HammerDB:

  • создание тестовой схемы базы данных и ее наполнение;
  • симуляция нагрузки от виртуальных пользователей.
Нагрузочные сценарии включают в себя транзакционные операции и аналитические запросы. HammerDB поддерживает широкий спектр баз данных: Oracle Database, SQL Server, IBM Db2, MySQL, MariaDB, PostgreSQL и Redis.

Утилита пользуется популярностью среди IT-специалистов во всем мире. Ее используют компании в более чем 180 странах, включая технологических гигантов типа Intel, Dell, Lenovo и Red Hat.

7-Zip

Это не только архиватор, но и мощный CPU benchmark Linux. Проверяет скорость сжатия данных с помощью алгоритма LZMA, основанном на словарной схеме сжатия.

Запускается с помощью команды 7z b -mmt1 -md26, которая активирует однопоточное тестирование с использованием словаря объемом 64 МБ. Результаты измерений предоставляются в формате MIPS (million instructions per second), который подходит для сравнения процессоров одной архитектуры. Для CPU разных архитектур этот показатель менее универсален, что можно считать ограничением утилиты. Также 7-Zip можно использовать для проверки оперативной памяти компьютера на наличие ошибок.

DD

Многофункциональная утилита командной строки, основное назначение которой заключается в копировании и преобразовании данных. Можно использовать и для тестирования производительности ввода-вывода (I/O) систем хранения данных.
Дополнительно используется как CPU-бенчмарк, если подключить стороннюю программу, которая будет генерировать ресурсоемкие вычисления.

  • Полезна для грубой оценки server-производительности.
  • Выполняет низкоуровневые операции с дисками. Ошибочное использование может привести к потере данных, поэтому DD в шутку называют "disk destroyer".

temci

Была создана в 2016 году студентом из Германии Йоханнесом Бехбергером в рамках бакалаврской работы. На сегодняшний день распространяется под лицензией GNU General Public License и активно дорабатывается автором.

Главной целью Йоханнеса было создание утилиты, способной тестировать производительность вычислительных систем в тщательно настроенной среде. Это выделяет temci среди других бенчмарков.

Особенности temci:

  • возможность настройки тестовой среды: изменение параметров управления частотой процессора; отключение hyper-threading, кэшей L1 и L2, турборежима на процессорах Intel;
  • использование нескольких инструментов для анализа: time, perf_stat и getrusage;
  • генерация подробных отчетов в виде таблиц, графиков и схем.
Благодаря детализации отчетов утилита полезна не только для инженеров, но и для аналитиков. Но несмотря на достоинства, temci поддерживает не все аппаратные и программные конфигурации. Например, запуск под macOS может вызвать сложности, а на процессорах ARM доступны не все функции. Также утилита требует базовых знаний в настройке тестового окружения.

uarch-bench

Утилита от инженера Тревиса Даунса, находится на стадии активной разработки.

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

  • позволяет измерять производительность чтения и записи; 
  • оценивает, насколько эффективно процессор обрабатывает одновременные запросы;
  • измеряет скорость выполнения операций по очистке YMM-регистров.
Результаты, которые генерирует uarch-bench, можно найти в официальном репозитории на GitHub. На данный момент утилита работает только с архитектурами x86, наблюдаются проблемы с совместимостью, например, запуск на процессорах AMD Ryzen вызывает сложности.

Заключение

Оценка производительности Linux-сервера - задача, которая требует использования надежных инструментов, которые помогают выявить узкие места в производительности и оптимизировать работу. Регулярный мониторинг и тестирование исключают риски сбоев и обеспечивают стабильную работу системы.
08 Jan 2025, 11:29:33