Як пратэставаць прадукцыйнасць сервераў: падборка з некалькіх open source бенчмаркаў

Працягваем нашу серыю матэрыялаў, прысвечаную тэсціраванню прадукцыйнасці сервераў. Сёння пагаворым аб пары правераных часам бенчмарках, якія да гэтага часу падтрымліваюць і абнаўляюць – NetPerf, HardInfo і ApacheBench.

Як пратэставаць прадукцыйнасць сервераў: падборка з некалькіх open source бенчмаркаў
Фота Peter Balcerzak - CC BY-SA

NetPerf

Гэта – прылада для адзнакі прапускной здольнасці сеткі. Яго распрацавалі інжынеры з Hewlett-Packard. Інструмент ўключае два выкананых файла: netserver і netclient. Для правядзення цеста іх трэба запусціць на розных машынах. Па змаўчанні netperf выкарыстоўвае порт 12865, але яго можна замяніць пры дапамозе флага -p. Утыліта працуе з TCP і UDP па BSD Sockets, DLPI, Unix Domain Sockets і IPv6.

Сёння netperf уваходзіць у набор інструментаў для бенчмаркетынгу. Флент. Таксама яго выкарыстоўвае даволі вялікая колькасць ІТ-кампаній, напрыклад 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.

Першапачаткова ўтыліту распрацоўвалі ў рамках праекту БерліОС. Ён уключаў у сябе хостынг-платформу для прыкладанняў з адкрытым зыходным кодам (накшталт 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, але з вялікімі магчымасцямі. Напрыклад, ён дазваляе генераваць запыты з некалькіх кампутараў, кіруючы працэсам з аднаго з іх. Таксама ў праграме рэалізаваны механізмы аўтарызацыі віртуальных карыстальнікаў, падтрымліваюцца карыстацкія сеансы. Гэты інструмент ужываюць шматлікія ІТ-кампаніі, у тым ліку хмарныя правайдэры, напрыклад Якасныя.

Як пратэставаць прадукцыйнасць сервераў: падборка з некалькіх open source бенчмаркаўМы ў 1cloud даем паслугу «Прыватнае воблака». Гэта - арэнда віртуальнай інфраструктуры з магчымасцю хуткай кастамізацыі парку віртуальных сервераў.
Як пратэставаць прадукцыйнасць сервераў: падборка з некалькіх open source бенчмаркаўНаша воблака пабудавана на жалезе Cisco, Dell, NetApp. Абсталяванне стаіць у некалькіх ЦАД: DataSpace (Масква), SDN / Xelent (Санкт-Пецярбург), Ahost (Алма-Ата).

Крыніца: habr.com

Дадаць каментар