Merila uspešnosti za strežnike Linux: izbor odprtih orodij

Še naprej govorimo o orodjih za ocenjevanje zmogljivosti procesorja na strojih Linux. Danes v gradivu: temci, uarch-bench, likwid, perf-tools in llvm-mca.

Več meril uspešnosti:

Merila uspešnosti za strežnike Linux: izbor odprtih orodij
Foto - Lukas Blažek — unsplash

temci

To je orodje za ocenjevanje časa izvajanja dveh programov. V bistvu vam omogoča primerjavo časa izvajanja dveh aplikacij. Avtor pripomočka je bil študent iz Nemčije Johannes Bechberger, ki ga je leta 2016 razvil kot del svoje dodiplomske naloge. Današnje orodje distributer licenciran pod splošno javno licenco GNU.

Johannes je želel ustvariti orodje, ki bi mu omogočilo merjenje zmogljivosti računalniškega sistema v nadzorovanem okolju. Zato je ena od glavnih značilnosti temci zmožnost nastavitve testnega okolja. na primer eno lahko: spremeni nastavitve upravljalnika frekvence procesorja, onemogoči hiper-nitnost ter predpomnilnike L1 in L2, izklopite turbo način na procesorjih Intel itd. Za primerjalno analizo temci uporablja orodja čas, perf_stat и getrusage.

Tako izgleda pripomoček v prvem primeru:

# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times                [####################################]  100%
Report for single runs
sleep 0.1            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      100.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1800k, deviation = 3.86455%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

sleep 0.2            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      200.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1968k, deviation = 3.82530%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

Na podlagi rezultatov primerjalne analize sistem ustvari priročno poročilo z diagrami, tabelami in grafi, kar razlikuje temci od podobnih rešitev.

Med pomanjkljivostmi temci izstopa njegova "mladost". Zaradi tega on ni vse podprto konfiguracije strojne in programske opreme. Na primer, težko ga je izvajati v sistemu macOS in nekatere funkcije niso na voljo v sistemu, ki temelji na ARM. V prihodnosti se lahko situacija spremeni, saj avtor aktivno razvija projekt, število zvezdic na GitHubu pa postopoma narašča - ne tako dolgo nazaj temci celo razpravljali v komentarjih na Hacker News.

uarch-klop

Pripomoček za ocenjevanje zmogljivosti nizkonivojskih funkcij CPU, ki ga je razvil inženir Travis Downs (Travis Downs). Nedavno piše blog Zadeve glede uspešnosti na GitHub Pages, ki govori o orodjih za primerjalno analizo in drugih povezanih stvareh. Na splošno uarch-bench šele začenja pridobivati ​​​​priljubljenost, vendar je že precej pogost omenjeno prebivalci Hacker News v tematskih nitih kot orodje za primerjalno analizo.

Uarch-bench vam omogoča, da ocenite zmogljivost pomnilnika, hitrost vzporednega nalaganja podatkov in čiščenje registri YMM. Kako izgledajo rezultati primerjalne analize, ki jih ustvari program, lahko najdete v uradnem repozitoriju na dnu strani.

Omeniti velja, da uarch-klop, tako kot temci, onemogoči Funkcija Intel Turbo Boost (samodejno poveča takt procesorja pod obremenitvijo), tako da so rezultati testa skladni.

Za zdaj je projekt v zgodnji fazi razvoja, zato uarch-bench nima podrobne dokumentacije, njegovo delovanje pa lahko vsebuje hrošče - npr. težave se poznajo z lansiranjem na Ryzen. Poleg tega so podprta samo merila uspešnosti za arhitekture x86. Avtor obljublja, da bo v prihodnosti dodal več funkcionalnosti in vas vabi, da se pridružite razvoju.

tekočina

To je nabor orodij za ocenjevanje zmogljivosti naprav Linux s procesorji Intel, AMD in ARMv8. Nastala je pod okriljem nemškega zveznega ministrstva za izobraževanje in raziskave leta 2017 in objavljena v odprtokodni obliki.

Med orodji likwid lahko izpostavimo likwid-powermeter, ki prikazuje informacije iz registrov RAPL o porabi energije sistema, kot tudi likwid-setFrequencies, ki vam omogoča nadzor frekvence procesorja. Celoten seznam si lahko ogledate poiščite v skladišču.

Orodje uporabljajo inženirji, ki se ukvarjajo z raziskavami HPC. Na primer z likwidom Dela skupina strokovnjakov iz Regionalnega računalniškega centra Univerze Erlangen-Nürnberg (RRZE) v Nemčiji. Aktivno sodeluje tudi pri razvoju tega nabora orodij.

Merila uspešnosti za strežnike Linux: izbor odprtih orodij
Foto - Clem Onojeghuo — unsplash

perf-orodja

To orodje za analizo zmogljivosti strežnikov Linux uveden Brendan Gregg. Je eden od razvijalcev DTrace — ogrodje dinamičnega sledenja za odpravljanje napak v aplikacijah v realnem času.

perf-tools temelji na podsistemih jedra perf_events in ftrace. Njihovi pripomočki vam omogočajo analizo V/I zakasnitve (iosnoop), sledenje argumentom sistemskega klica (unccount, funcslower, funcgraph in functrace) in zbiranje statističnih podatkov o "zadetkih" v predpomnilniku datotek (cachestat). V slednjem primeru je ukaz videti takole:

# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9

Okoli inštrumenta se je oblikovala precej velika skupnost (skoraj 6 tisoč zvezdic na GitHubu). In obstajajo podjetja, ki na primer aktivno uporabljajo perf-orodja Netflix. Toda orodje se še naprej razvija in spreminja (čeprav so bile posodobitve v zadnjem času izdane zelo redko). Zato lahko pride do napak pri njegovem delovanju - avtor piše, da včasih perf-tools povzroči paniko jedra.

llvm-mca

Pripomoček, ki predvidi, koliko računalniških virov bo zahtevala strojna koda na različnih procesorjih. Ona ocenjuje Navodila na cikel (IPC) in obremenitev strojne opreme, ki jo ustvari določena aplikacija.

llvm-mca je bil predstavljen leta 2018 v okviru projekta LLVM, ki razvija univerzalni sistem za analizo, transformacijo in optimizacijo programov. Znano je, da je avtorje llvm-mca navdihnila rešitev za analizo zmogljivosti programske opreme. IACA podjetja Intel in skušal ustvariti alternativo. Po mnenju uporabnikov je rezultat orodja (njihova postavitev in količina) res podoben IACA – primer najdete tukaj. Vendar llvm-mca sprejema samo sintaksa AT&T, zato boste najverjetneje morali uporabiti pretvornike za delo z njim.

O čem pišemo na naših blogih in družbenih omrežjih:

Merila uspešnosti za strežnike Linux: izbor odprtih orodij "Mat. Model Wall Streeta« ali kako optimizirati stroške v oblaku

Merila uspešnosti za strežnike Linux: izbor odprtih orodij Kako zaščititi svoj sistem Linux: 10 nasvetov
Merila uspešnosti za strežnike Linux: izbor odprtih orodij Zmanjšanje tveganj: kako preprečiti izgubo podatkov

Merila uspešnosti za strežnike Linux: izbor odprtih orodij Knjige za tiste, ki se že ukvarjajo s sistemsko administracijo ali šele nameravajo začeti
Merila uspešnosti za strežnike Linux: izbor odprtih orodij Izbor: pet knjig in en tečaj o omrežjih

Merila uspešnosti za strežnike Linux: izbor odprtih orodijMi na 1cloud.ru ponujamo brezplačno storitev "DNS gostovanje" Zapise DNS lahko upravljate v enem osebnem računu.

Vir: www.habr.com

Dodaj komentar