Referentne vrijednosti za Linux poslužitelje: izbor otvorenih alata

Nastavljamo govoriti o alatima za procjenu CPU performansi na Linux strojevima. Danas u materijalu: temci, uarch-bench, likwid, perf-tools i llvm-mca.

Više mjerila:

Referentne vrijednosti za Linux poslužitelje: izbor otvorenih alata
Foto - Lukas Blažek — Neprskati

temci

Ovo je alat za procjenu vremena izvršavanja dva programa. U biti, omogućuje vam usporedbu vremena izvršavanja dviju aplikacija. Autor pomoćnog programa bio je student iz Njemačke, Johannes Bechberger, koji ga je razvio u sklopu svog dodiplomskog rada 2016. godine. Današnji alat distribuira licenciran pod GNU Općom javnom licencom.

Johannes je želio stvoriti alat koji bi mu omogućio mjerenje performansi računalnog sustava u kontroliranom okruženju. Stoga je jedna od glavnih značajki temcija mogućnost postavljanja testnog okruženja. Na primjer, može se: promijenite postavke upravitelja frekvencije procesora, onemogućite hiper-threading i L1 i L2 predmemorije, isključite turbo način rada na Intelovim procesorima, itd. Za benchmarking temci koristi alate vrijeme, perf_stat и getrusage.

Ovako uslužni program izgleda 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 temelju rezultata benchmarkinga sustav generira zgodan izvještaj s dijagramima, tablicama i grafikonima, što razlikuje temci od sličnih rješenja.

Među nedostacima temcija 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 značajke nisu dostupne na sustavu temeljenom na ARM-u. U budućnosti bi se situacija mogla promijeniti, budući da autor aktivno razvija projekt, a broj zvijezda na GitHubu postupno raste - ne tako davno čak i temci raspravljali u komentarima na Hacker News.

uarh-klupa

Uslužni program za procjenu performansi CPU funkcija niske razine, koji je razvio inženjer Travis Downs (Travis Downs). Odnedavno piše blog Izvedba važna na GitHub stranicama, koji govori o alatima za benchmarking i drugim srodnim stvarima. Općenito, uarch-klupa tek počinje dobivati ​​popularnost, ali već je prilično uobičajena spominje stanovnici Hacker Newsa u tematskim temama kao alat za benchmarking.

Uarch-bench omogućuje procjenu performansi memorije, brzine paralelnog učitavanja podataka i čišćenja YMM registri. Možete pronaći kako izgledaju rezultati benchmarkinga koje je generirao program u službenom repozitoriju na dnu stranice.

Vrijedno je napomenuti da uarch-klupa, poput temci, onemogućuje Funkcija Intel Turbo Boost (automatski povećava radni takt procesora pod opterećenjem) kako bi rezultati testa bili dosljedni.

Za sada je projekt 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 s lansiranjem na Ryzenu. Također, podržana su samo mjerila za x86 arhitekture. Autor obećava da će u budućnosti dodati više funkcionalnosti i poziva vas da se pridružite razvoju.

tekućina

Ovo je skup alata za procjenu performansi Linux strojeva s 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.

Od likwid alata možemo istaknuti likwid-powermeter, koji prikazuje informacije iz RAPL registara o snazi ​​koju sustav troši, kao i likwid-setFrequencies, koji vam omogućuje kontrolu frekvencije procesora. Možete vidjeti kompletan popis pronaći u spremištu.

Alat koriste inženjeri uključeni u HPC istraživanja. Na primjer, s likwidom djela skupina stručnjaka iz Regionalnog računalnog centra Sveučilišta Erlangen-Nürnberg (RRZE) u Njemačkoj. Ona također aktivno sudjeluje u razvoju ovog skupa alata.

Referentne vrijednosti za Linux poslužitelje: izbor otvorenih alata
Foto - Clem Onojeghuo — Neprskati

perf-alati

Ovaj alat za analizu performansi Linux poslužitelja podnijeti Brendan Gregg. On je jedan od programera DTrace — okvir dinamičkog praćenja za otklanjanje pogrešaka u aplikacijama u stvarnom vremenu.

perf-tools temelji se na perf_events i ftrace kernel podsustavima. Njihovi uslužni programi omogućuju vam analizu I/O kašnjenja (iosnoop), praćenje argumenata poziva sustava (unccount, funcslower, funcgraph i functrace) i prikupljanje statistike o "pogocima" u predmemoriju 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 (gotovo 6 tisuća zvjezdica na GitHubu). A postoje tvrtke koje se aktivno koriste perf-alatima, na primjer Netflix. Ali alat se dalje razvija i modificira (iako se ažuriranja u posljednje vrijeme objavljuju prilično rijetko). Stoga se mogu pojaviti pogreške u njegovom radu - autor piše da ponekad perf-tools uzrokuje paniku kernela.

llvm-mca

Uslužni program koji predviđa koliko će računalnih resursa zahtijevati strojni kod na različitim procesorima. Ona ocjenjuje Upute po ciklusu (MKP) i opterećenje hardvera koje generira određena aplikacija.

llvm-mca predstavljen je 2018. godine u sklopu projekta LLVM, koja razvija univerzalni sustav za analizu, transformaciju i optimizaciju programa. Poznato je da su autori llvm-mca bili inspirirani rješenjem za analizu performansi softvera IACA iz Intela i nastojao stvoriti alternativu. A prema korisnicima, izlaz alata (njihov izgled i količina) stvarno nalikuje IACA-i - primjer možete pronaći ovdje. Međutim, llvm-mca prihvaća samo AT&T sintaksa, tako da ćete najvjerojatnije morati koristiti pretvarače za rad s njim.

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

Referentne vrijednosti za Linux poslužitelje: izbor otvorenih alata "Mat. Wall Street model" ili kako optimizirati troškove oblaka

Referentne vrijednosti za Linux poslužitelje: izbor otvorenih alata Kako zaštititi svoj Linux sustav: 10 savjeta
Referentne vrijednosti za Linux poslužitelje: izbor otvorenih alata Minimiziranje rizika: kako ne izgubiti svoje podatke

Referentne vrijednosti za Linux poslužitelje: izbor otvorenih alata Knjige za one koji se već bave administracijom sustava ili tek planiraju početi
Referentne vrijednosti za Linux poslužitelje: izbor otvorenih alata Izbor: pet knjiga i jedan tečaj o mrežama

Referentne vrijednosti za Linux poslužitelje: izbor otvorenih alataMi u 1cloud.ru nudimo besplatnu uslugu "DNS hosting" Možete upravljati DNS zapisima u jednom osobnom računu.

Izvor: www.habr.com

Dodajte komentar