Как да тествате производителността на сървърите: подборка от няколко open source бенчмарка

Продължаваме серията си от материали, посветени на тестването на производителността на сървърите. Днес ще говорим за два утвърдени бенчмарка, които все още се поддържат и обновяват - NetPerf, HardInfo и ApacheBench.

Как да тествате производителността на сървърите: подборка от няколко open source бенчмарка
Снимка — Петър Балчев — CC BY-SA

NetPerf

Това е инструмент за оценка на пропускната способност на мрежата. Разработен е от инженери на Hewlett-Packard. Инструментът включва се състои от два изпълняеми файла: netserver и netclient. За провеждане на теста, те трябва да бъдат стартирани на различни машини. По подразбиране netperf използва порт 12865, но може да бъде заменен с флага -p. Утилитата работи с TCP и UDP по BSD Sockets, DLPI, Unix Domain Sockets и IPv6.

Днес netperf е част от набора инструменти за бенчмаркинг Flent. Освен това, той се използва от доста голям брой ИТ компании, например Red Hat. Ето как изглежда описанието на услугата 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. Въпреки това, авторът на утилитата - Рик Джоунс (Rick Jones) - твърди, че тя е оформена в най-добрите традиции на open source. Също така отбелязваме, че през последно време обновленията за netperf започнаха да излизат доста рядко. Вероятно това е свързано със зрялостта на продукта.

Netperf има аналози - например, iperf2 и iperf3. Те също така позволяват тестване на пропускната способност на мрежата. Развитието на iperf3 започна след като репозиторият на iperf2 изпадна в упадък. Новата версия е написана от нулата и не е съвместима с предишната реализация, въпреки че съдържа част от нейния код. Интересното е, че след освобождаването на iperf3, работата по iperf2 отново се активизира. В крайна сметка двата инструмента притежават подобна, но в същото време различна функционалност. Например, iperf2 е многопоточен, докато iperf3 е работи само с един поток.

Hardinfo

Това е утилита за събиране на информация за хардуера и операционната система. Тя показва данни за работата на устройствата на: PCI, ISA PnP, USB, IDE, SCSI, а също и на последователни и паралелни портове. Но може да се използва и като бенчмарк и инструмент за мониторинг.

HardInfo предлага множество тестове. Например, CPU Blowfish — оценява производителността на процесора чрез криптографски алгоритми за симетрично шифроване. Има CPU N-Queens — тест от комбинаториката. Системата решава шахматната задача за разположение на N дами на дъска N x N клетки. Тя разполага фигурите така, че нито една от тях да не може да атакува другите. Също така е важно да се отбележи FPU FFT — тест за бързо пресмятане на дискретното преобразуване на Фурие и FPU Raytracing — изчисление на трасировката на лъчи при рендериране на 3D сцена.

Резултатът в повечето тестове се дава в секунди и съответно, колкото по-малък е той — толкова по-добре. Всички отчети се показват във формати HTML и txt.

Първоначално утилитата е разработвана в рамките на проекта BerliOS. Той включва хостинг платформа за приложения с отворен код (като SourceForge) и няколко бази данни за документация и профили на open source разработчици. BerliOS затвори през 2014 година поради недостаточно финансиране. Днес HardInfo се развива с усилията на ентусиасти в отделен репозитории на GitHub.

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

ApacheBench

Инструмент за натоварвателно тестване на HTTP сървъри. ApacheBench (AB) е разработван за тестване на Apache, но може да работи и на всеки друг сървър. Инструментът е предварително инсталиран на много дистрибуции на Linux.

Как да тествате производителността на сървърите: подборка от няколко open source бенчмарка
Снимка — Victor Freitas — Unsplash

Утилитата „бомбардира“ сървърите с голямо количество заявки. За стартиране трябва да се въведе следната команда:

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

Тя ще изпрати сто GET заявки (едновременно ще бъдат предавани максимум десет от тях) към тестовия ресурс. На изхода системата ще покаже средното време за обработка на заявките, общия обем на предадените данни, пропускателната способност и броя на грешките.

Днес около утилитата се е събрало обширно общество. В мрежата редовно се появяват нови ръководства за това как да настроите и използвате ApacheBench.

Нека отбележим, че AB има аналог — Apache jMeter, но с разширени възможности. Например, той позволява генериране на заявки от няколко компютъра, управлявайки процеса от един от тях. В програмата също са реализирани механизми за авторизация на виртуални потребители, поддържат се потребителски сесии. Този инструмент се използва от много ИТ компании, включително облачни доставчици, например Qualys.

Как да тествате производителността на сървърите: подборка от няколко open source бенчмаркаНие в 1cloud предлагаме услуга «Частно облако». Това е наем на виртуална инфраструктура с възможност за бърза кастомизация на парка виртуални сървъри.
Как да тествате производителността на сървърите: подборка от няколко open source бенчмаркаНашето облако е изградена на оборудване Cisco, Dell, NetApp. Оборудването се намира в няколко ЦОД: DataSpace (Москва), SDN/Xelent (Санкт-Петербург), Ahost (Алма-Ата).

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster