Merila za servere na Linuxu: izbor alata otvorenog koda

Nastavljamo da pričamo o alatima za procenu performansi procesora na Linux mašinama. Danas u materijalu: temci, uarch-bench, likwid, perf-tools i llvm-mca.

Više mjerila:

Merila za servere na Linuxu: izbor alata otvorenog koda
Foto - Lukas Blazek — Unsplash

temci

Ovo je alat za procjenu vremena izvršavanja dva programa. U suštini, omogućava vam da uporedite vreme izvršenja dve aplikacije. Autor uslužnog programa bio je student iz Njemačke, Johannes Bechberger, koji ga je razvio kao dio svog dodiplomskog rada 2016. godine. Današnji alat distribuira licencirano pod GNU Općom javnom licencom.

Johannes je želeo da stvori alat koji bi mu omogućio da meri performanse računarskog sistema u kontrolisanom okruženju. Stoga je jedna od glavnih karakteristika temci-ja mogućnost postavljanja testnog okruženja. Na primjer, moći: promijenite postavke CPU frekvencije, onemogućite hyper threading i L1 i L2 keš memorije, isključi turbo način rada na Intel procesorima, itd. Za benchmarking temci koristi alate vrijeme, perf_stat и getrusage.

Ovako izgleda uslužni program u prvom slučaju:

# 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 osnovu rezultata benčmarkinga, sistem generiše zgodan izveštaj sa dijagramima, tabelama i grafikonima, po čemu se temci razlikuju od sličnih rješenja.

Među nedostacima temčija ističe se njegova "mladost". Zbog ovoga on nije sve podržano hardverske i softverske konfiguracije. Na primjer, teško ga je pokrenuti na macOS-u, a neke funkcije nisu dostupne na sistemu zasnovanom na ARM-u. U budućnosti se situacija može promijeniti, jer autor aktivno razvija projekat, a broj zvijezda na GitHubu se postepeno povećava - ne tako davno temci čak diskutovano u komentarima na Hacker News.

uarch-klupa

Uslužni program za procjenu performansi niskog nivoa CPU funkcija, koji je razvio inženjer Travis Downs (Travis Downs). Nedavno je blogirao Performanse su važne na GitHub stranicama, koji govori o alatima za benchmarking i drugim srodnim stvarima. Općenito, uarch-klupa tek počinje dobivati ​​popularnost, ali već prilično često spomenuto stanovnici Hacker News-a u tematskim nitima kao alat za benčmarking.

Uarch-bench vam omogućava da procenite performanse memorije, brzinu paralelnog učitavanja podataka i rad čišćenja YMM registri. Kako izgledaju rezultati benchmarkinga koje je generirao program možete pronaći u zvaničnom repozitoriju na dnu stranice.

Vrijedi napomenuti da uarch-klupa, poput temci, prekida veze Intel Turbo Boost funkcija (automatski povećava brzinu procesora pod opterećenjem) tako da rezultati testa budu konzistentni.

Za sada je projekat u ranoj fazi razvoja, tako da uarch-bench nema detaljnu dokumentaciju, a njegov rad može sadržavati greške - npr. poteškoće su poznate sa lansiranjem na Ryzenu. Takođe, podržani su samo benchmarkovi za x86 arhitekture. Autor obećava da će dodati još funkcionalnosti u budućnosti i poziva vas da se pridružite razvoju.

tečnost

Ovo je skup alata za procenu performansi Linux mašina sa Intel, AMD i ARMv8 procesorima. Napravljen je pod pokroviteljstvom njemačkog saveznog ministarstva obrazovanja i istraživanja 2017. godine i pušten u otvoreni kod.

Među likwid alatima možemo izdvojiti likwid-powermeter, koji prikazuje informacije iz RAPL registara o snazi ​​koju sistem troši, kao i likwid-setFrequencies, koji vam omogućava kontrolu frekvencije procesora. Možete vidjeti kompletnu listu pronaći u spremištu.

Alat koriste inženjeri uključeni u HPC istraživanja. Na primjer, sa likwidom radovi grupa stručnjaka iz Regionalnog računarskog centra Univerziteta Erlangen-Nürnberg (RRZE) u Njemačkoj. Ona također aktivno učestvuje u razvoju ovog skupa alata.

Merila za servere na Linuxu: izbor alata otvorenog koda
Foto - Clem Onojeghuo — Unsplash

perf-alati

Ovaj alat za analizu performansi Linux servera uveo Brendan Gregg. On je jedan od programera DTrace — dinamički okvir za praćenje za otklanjanje grešaka u aplikacijama u realnom vremenu.

perf-tools je baziran na podsistemima perf_events i ftrace kernela. Njihovi uslužni programi vam omogućavaju da analizirate kašnjenje I/O (iosnoop), pratite argumente sistemskog poziva (unccount, funcslower, funcgraph i functrace) i prikupljate statistiku o „pogocima“ u kešu datoteka (cachestat). U potonjem slučaju, naredba izgleda ovako:

# ./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

Oko instrumenta se formirala prilično velika zajednica (skoro 6 hiljada zvjezdica na GitHubu). A postoje kompanije koje aktivno koriste perf-alate, na primjer Netflix. Ali alat se dalje razvija i modifikuje (iako su ažuriranja u posljednje vrijeme izdavana prilično rijetko). Stoga se mogu pojaviti greške u njegovom radu - autor piše da perf-tools ponekad izaziva paniku kernela.

llvm-mca

Uslužni program koji predviđa koliko će računarskih resursa biti potrebno mašinskom kodu na različitim CPU-ima. Ona ocjenjuje Upute po ciklusu (IPC) i opterećenje na hardveru koje generiše određena aplikacija.

llvm-mca je predstavljen 2018. godine kao dio projekta LLVM, koja razvija univerzalni sistem za analizu, transformaciju i optimizaciju programa. Poznato je da su autori llvm-mca bili inspirisani rešenjem za analizu performansi softvera IACA iz Intela i nastojao da stvori alternativu. A prema korisnicima, izlaz alata (njihov izgled i količina) zaista podsjeća na IACA - primjer možete pronaći ovdje. Međutim, llvm-mca samo prihvata AT&T sintaksa, tako da ćete najvjerovatnije morati koristiti pretvarače za rad s njim.

O čemu pišemo na našim blogovima i društvenim mrežama:

Merila za servere na Linuxu: izbor alata otvorenog koda „Mat. Wall Street model" ili kako optimizirati troškove oblaka

Merila za servere na Linuxu: izbor alata otvorenog koda Kako osigurati svoj Linux sistem: 10 savjeta
Merila za servere na Linuxu: izbor alata otvorenog koda Minimiziranje rizika: kako ne izgubiti svoje podatke

Merila za servere na Linuxu: izbor alata otvorenog koda Knjige za one koji su već uključeni u sistemsku administraciju ili tek planiraju da počnu
Merila za servere na Linuxu: izbor alata otvorenog koda Izbor: pet knjiga i jedan kurs o mrežama

Merila za servere na Linuxu: izbor alata otvorenog kodaMi na 1cloud.ru nudimo besplatnu uslugu “DNS hosting" Možete upravljati DNS zapisima na jednom ličnom računu.

izvor: www.habr.com

Dodajte komentar