ProHoster > блог > адміністраванне > Як пратэставаць прадукцыйнасць сервераў: падборка з некалькіх open source бенчмаркаў
Як пратэставаць прадукцыйнасць сервераў: падборка з некалькіх open source бенчмаркаў
Працягваем нашу серыю матэрыялаў, прысвечаную тэсціраванню прадукцыйнасці сервераў. Сёння пагаворым аб пары правераных часам бенчмарках, якія да гэтага часу падтрымліваюць і абнаўляюць – NetPerf, HardInfo і ApacheBench.
Гэта – прылада для адзнакі прапускной здольнасці сеткі. Яго распрацавалі інжынеры з Hewlett-Packard. Інструмент ўключае два выкананых файла: netserver і netclient. Для правядзення цеста іх трэба запусціць на розных машынах. Па змаўчанні netperf выкарыстоўвае порт 12865, але яго можна замяніць пры дапамозе флага -p. Утыліта працуе з TCP і UDP па BSD Sockets, DLPI, Unix Domain Sockets і IPv6.
Сёння netperf уваходзіць у набор інструментаў для бенчмаркетынгу. Флент. Таксама яго выкарыстоўвае даволі вялікая колькасць ІТ-кампаній, напрыклад Red Hat. Вось так выглядае апісанне сэрвісу netperf у адным з прыкладаў для адзнакі прадукцыйнасці OpenShift:
У афіцыйным рэпазітары сказана, што netperf распаўсюджваецца па спецыяльнай ліцэнзіі Hewlett-Packard. Аднак аўтар утыліты - Рык Джонс (Rick Jones) - сцвярджае, што яна аформлена ў лепшых традыцыях open source. Таксама адзначым, што апошнім часам абнаўленні для netperf сталі выходзіць даволі рэдка. Магчыма, гэта злучана са сталасцю прадукта.
У netperf ёсць аналагі – напрыклад, iperf2 и iperf3. Яны таксама дазваляюць пратэставаць прапускную здольнасць сеткі. Распрацоўку iperf3 пачалі пасля таго, як рэпазітар iperf2 прыйшоў у заняпад. Новая версія напісана з нуля і несумяшчальная з папярэдняй рэалізацыяй, хоць і змяшчае частку яе кода. Што цікава, пасля рэлізу iperf3, праца над iperf2 ізноў закіпела. У выніку два інструменты валодаюць падобнай, але ў той жа час рознай функцыянальнасцю. Напрыклад, iperf2 - шматструменны, а iperf3 - працуе толькі з адным патокам.
Гэта - утыліта для збору інфармацыі аб абсталяванні і аперацыйнай сістэме. Яна адлюстроўвае дадзеныя аб працы прылад на: 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.
Інструмент для нагрузачнага тэсціравання HTTP-сервераў. ApacheBench (AB) распрацоўваўся для праверкі Apache, але ён можа працаваць на любым іншым сэрвэры. Інструмент прадусталяваны на шматлікіх дыстрыбутывах Linux.
Утыліта «бамбардзіруе» серверы вялікай колькасцю запытаў. Для запуску трэба ўвесці наступную каманду:
ab -n 100 -c 10 http://www.example.com/
Яна адправіць сто GET-запытаў (адначасова будуць перададзены максімум дзесяць з іх) да тэставага рэсурсу. На выхадзе сістэма пакажа сярэдні час апрацоўкі запытаў, агульны аб'ём перададзеных даных, прапускную здольнасць і колькасць памылак.
Сёння вакол утыліты сабралася шырокая супольнасць. У сетцы рэгулярна з'яўляюцца свежыя кіраўніцтва аб тым, як наладзіць і выкарыстоўваць ApacheBench.
Адзначым, што ў AB ёсць аналаг. Apache jMeter, але з вялікімі магчымасцямі. Напрыклад, ён дазваляе генераваць запыты з некалькіх кампутараў, кіруючы працэсам з аднаго з іх. Таксама ў праграме рэалізаваны механізмы аўтарызацыі віртуальных карыстальнікаў, падтрымліваюцца карыстацкія сеансы. Гэты інструмент ужываюць шматлікія ІТ-кампаніі, у тым ліку хмарныя правайдэры, напрыклад Якасныя.
Мы ў 1cloud даем паслугу «Прыватнае воблака». Гэта - арэнда віртуальнай інфраструктуры з магчымасцю хуткай кастамізацыі парку віртуальных сервераў.
Наша воблака пабудавана на жалезе Cisco, Dell, NetApp. Абсталяванне стаіць у некалькіх ЦАД: DataSpace (Масква), SDN / Xelent (Санкт-Пецярбург), Ahost (Алма-Ата).