Как Протестировать Производительность Сервера: Подборка Нескольких Тестов С Открытым Исходным Кодом

Продолжаем серию материалов, посвященных тестированию производительности серверов.

Сегодня мы поговорим о парочке проверенных временем бенчмарков, которые до сих пор поддерживаются и обновляются — NetPerf, HardInfo и ApacheBench.

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

Фото - Питер Бальцерзак — CC BY-SA



NetPerf

Это инструмент для оценки пропускной способности сети.

Его разработали инженеры Hewlett-Packard. Инструмент включает два исполняемых файла: netserver и netclient. Чтобы запустить тест, их нужно запустить на разных машинах.

По умолчанию netperf использует порт 12865, но его можно изменить с помощью флага -p. Утилита работает с TCP и UDP через сокеты BSD, DLPI, доменные сокеты Unix и IPv6. Сегодня netperf включен в набор инструментов для сравнительного анализа.

Флент .

Его также использует довольно большое количество ИТ-компаний, например Красная шляпа .

Вот как выглядит описание сервиса netperf в одном из примеров оценки производительности OpenShift:

  
   

apiVersion: v1 kind: Service metadata: labels: app-name: netperf name: netperf namespace: your_project spec: ports: - port: 12865 protocol: TCP targetPort: 12865 selector: app-name: netperf sessionAffinity: ClientIP type: ClusterIP

В официальном репозитории сказано, что netperf распространяется по специальной лицензии Hewlett-Packard. Однако автор утилиты Рик Джонс утверждает, что она разработана в лучших традициях открытого исходного кода.

Также отметим, что в последнее время обновления для netperf стали довольно редкими.

Это может быть связано с зрелостью продукта.

у netperf есть аналоги — например, iperf2 И iperf3 .

Они также позволяют вам проверить пропускную способность вашей сети.

Разработка iperf3 началась после того, как репозиторий iperf2 пришел в упадок.

Новая версия написана с нуля и несовместима с предыдущей реализацией, хотя и содержит часть ее кода.

Интересно, что после выхода iperf3 работа над iperf2 снова закипела.

В результате два инструмента иметь похожий, но в то же время разный функционал.

Например, iperf2 является многопоточным, а iperf3 — работает только с одной нитью.



Hardinfo

Это утилита для сбора информации об оборудовании и операционной системе.

Отображает данные о работе устройств на: PCI, ISA PnP, USB, IDE, SCSI, а также последовательных и параллельных портах.

Но его можно использовать в качестве эталона и инструмента мониторинга.

HardInfo предлагает несколько тестов.

Например, CPU Blowfish оценивает производительность процессора, используя криптографические алгоритмы блочного симметричного шифрования.

Есть ЦП N-Queens - тест по комбинаторике.

Система решает шахматную задачу о размещении N ферзей на доске размером N x N клеток.

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

Также стоит отметить FPU FFT — тест на быстрый расчет дискретного преобразования Фурье и FPU Raytracing — расчет трассировки лучей при рендеринге 3D-сцены.

Результат в большинстве тестов выдается в секундах и, соответственно, чем он меньше, тем лучше.

Все отчеты отображаются в форматах HTML и txt.

Изначально утилита разрабатывалась в рамках проекта БерлиОС .

Он включал в себя хостинговую платформу для приложений с открытым исходным кодом (например, ИсточникForge ) и несколько баз данных для документации и профилей разработчиков открытого исходного кода.

BerliOS закрыли в 2014 году из-за недостаточного финансирования.

Сегодня HardInfo развивается усилиями энтузиастов.

в отдельном репозитории на Гитхабе.

Обратите внимание, что в системе иногда возникают ошибки.

Известно, что периодически происходят ошибка сегментации , проблемы с отображение USB-устройств и несколько другие .



ApacheBench

Инструмент для нагрузочного тестирования HTTP-серверов.

ApacheBench (AB) был разработан для тестирования Apache, но его можно запускать на любом другом сервере.

Этот инструмент предустановлен во многих дистрибутивах Linux.

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

Фото - Виктор Фрейтас — Unsplash Утилита бомбардирует серверы большим количеством запросов.

Для запуска необходимо ввести следующую команду:

ab -n 100 -c 10 http://www.example.com/

Он отправит на тестовый ресурс сто GET-запросов (максимум десять из них будут отправлены одновременно).

На выходе система покажет среднее время обработки запроса, общий объем переданных данных, пропускную способность и количество ошибок.

Сегодня вокруг утилиты собралось большое сообщество.

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

Обратите внимание, что у AB есть аналог – Апач jMeter , но с большими возможностями.

Например, он позволяет генерировать запросы с нескольких компьютеров, управляя процессом с одного из них.

В программе также реализованы механизмы авторизации виртуальных пользователей и поддержка пользовательских сессий.

Этот инструмент используют многие ИТ-компании, включая облачные провайдеры, например Квалис .






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

Мы в 1cloud предоставляем услугу «Частное облако» .

Это аренда виртуальной инфраструктуры с возможностью быстрой настройки автопарка.

виртуальные серверы .






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

Наше облако построенный на железе Сиско, Делл, НетАпп.

Оборудование расположено в нескольких дата-центрах: DataSpace (Москва), SDN/Xelent (Санкт-Петербург), Ahost (Алма-Ата).




Теги: #Оптимизация сервера #Разработка мобильных приложений #Администрирование сервера #Разработка веб-сайтов #производительность #бенчмаркинг #1cloud
Вместе с данным постом часто просматривают: