Benchmarki za strežnike na Linuxu: zbirka odprtokodnih orodij

Nadaljujemo s predstavitvijo orodij za ocenjevanje zmogljivosti CPU na Linux napravah. Danes bomo govorili o: temci, uarch-bench, likwid, perf-tools in llvm-mca.

Več benchmarkov:

Benchmarki za strežnike na Linuxu: zbirka odprtokodnih orodij
Foto — Lukas Blazek — Unsplash

temci

To je orodje za oceno časa izvajanja dveh programov. V osnovi omogoča primerjavo časa izvajanja dveh aplikacij. Avtor orodja je študent iz Nemčije Johannes Bechberger, ki ga je razvil kot del svoje diplomske naloge leta 2016. Danes to orodje se distribuira deluje pod licenco GNU General Public License.

Johannes je želel ustvariti orodje, ki bi omogočalo merjenje zmogljivosti računalniškega sistema v nadzorovanem okolju. Zato je ena glavnih značilnosti temci možnost nastavitve testnega okolja. Na primer, je možno: spremeniti nastavitve upravljalnika frekvence CPU, onemogočiti hyper-threading in predpomnilnike L1 in L2, izklopiti turbo način na procesorjih Intel itd. Za benchmarkiranje temci uporablja orodja time, perf_stat in getrusage.

Tako izgleda delovanje orodja 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 benchmarkiranja sistem oblikuje udobno poročilo s shemami, tabelami in grafikoni, kar temci ločuje od podobnih rešitev.

Med pomanjkljivostmi temci izpostavljamo njegovo "mladost". Zaradi tega ne podpira vseh konfiguracij strojne in programske opreme. Na primer, težko ga je zagnati pod macOS, na sistemih s procesorjem ARM pa nekatere funkcije niso na voljo. V prihodnosti se lahko situacija spremeni, saj avtor aktivno razvija projekt, število zvezdic na GitHubu pa se postopoma povečuje — pred kratkim so temci celo razpravljali v komentarjih na Hacker News.

uarch-bench

Orodje za ocenjevanje zmogljivosti nizkolehkovnih funkcij CPU, ki ga je razvil inženir Travis Downs (Travis Downs). V zadnjem času vodi svoj blog Performance Matters na GitHub Pages, kjer govori o orodjih za benchmarkiranje in drugih povezanih temah. Na splošno uarch-bench šele začinja pridobivati priljubljenost, vendar ga že precej pogosto pominje prebivalci Hacker News omenjajo v tematskih nitih kot orodje za benchmarkiranje.

Uarch-bench omogoča oceno zmogljivosti pomnilnika, hitrost paralelnega nalaganja podatkov in delovanje čiščenja YMM-registerjev. Kako izgledaju rezultati benchmarking-a koje generira program, možete pronaći u službenom repozitoriju na dnu stranice.

Važno je napomenuti da uarch-bench, kao i temci, isključuje funkciju Intel Turbo Boost (koja automatski povećava radnu frekvenciju procesora pod opterećenjem), kako bi rezultati testiranja bili konzistentni.

Trenutno je projekt u ranim fazama razvoja, tako da uarch-bench nema detaljnu dokumentaciju, a u njegovom radu mogu se pojaviti greške — na primjer, poznate su poteškoće s pokretanjem na Ryzen-u. Također su podržani samo benchmark-ovi za arhitekture x86. Autor obećava da će dodati više funkcionalnosti u budućnosti i poziva na sudjelovanje u razvoju.

likwid

Ovo je skup alata za ocjenu performansi Linux mašina sa Intel, AMD i ARMv8 procesorima. Stvoren je pod okriljem Saveznog ministarstva obrazovanja i istraživanja Njemačke 2017. godine i predan je u open source.

Među alatima likwid može se istaknuti likwid-powermeter, koji prikazuje informacije iz RAPL registara o potrošnji snage sistema, kao i likwid-setFrequencies — omogućuje kontrolu radne frekvencije procesora. Potpuni popis možete pronaći u repozitoriju.

Alat koriste inženjeri koji se bave istraživanjima u oblasti HPC. Na primjer, grupa stručnjaka iz Regionalnog računarskog centra Univerziteta Erlangen — Nuremberg (RRZE) u Njemačkoj. Oni takođe aktivno učestvuju u razvoju ovog skupa alata. deluje perf-tools

Benchmarki za strežnike na Linuxu: zbirka odprtokodnih orodij
Foto — Clem Onojeghuo — Unsplash

Ovaj alat za analizu performansi Linux servera

Brendan Gregg. On je jedan od developera представил DTrace — framework-a za dinamičko praćenje aplikacija u realnom vremenu. Na osnovi perf-tools leže pod-sistemi jezgra perf_events i ftrace. Njihove utilite omogućuju analizu latencije ulaza/izlaza (iosnoop), praćenje argumenata poziva sistemskih poziva (unccount, funcslower, funcgraph i functrace) i prikupljanje statistike "pogađanja" u datotečnom cache-u (cachestat). U ovom poslednjem slučaju, komanda izgleda ovako:

Oko alata se formiralo prilično opsežno zajedništvo (

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

gotovo 6.000 zvezda na GitHub-u). I postoje kompanije koje aktivno koriste perf-tools, na primer). In denarjja kompani, ki aktivno uporabljajo perf-tools, na primer Netflix. A vendar, orodje se razvija in prilagaja (čeprav so v zadnjem času posodobitve precej redke). Zato lahko pri njegovem delu pride do napak - avtor pravi, da včasih perf-tools povzroča kernel panic.

llvm-mca

Orodje, ki napoveduje, koliko računalniških virov bo potrebovalo strojno kodo na različnih CPU-jih. Ona ocenjuje Instructions Per Cycle (IPC) in obremenitev strojne opreme, ki jo generira določena aplikacija.

llvm-mca so predstavili leta 2018 kot del projekta LLVM, ki se ukvarja z razvojem univerzalnega sistema za analizo, transformacijo in optimizacijo programov. Znano je, da so avtorji llvm-mca črpali navdih iz rešitve za analizo zmogljivosti programske opreme IACA podjetja Intel in so si prizadevali ustvariti njeno alternativo. Po besedah uporabnikov se izhodišča orodja (njegova oznaka in količina) resnično spominjajo na IACA - primer lahko najdete tukaj. Vendar llvm-mca sprejema samo AT&T-sintakso, zato bo verjetno potrebno uporabiti pretvornike.

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

Benchmarki za strežnike na Linuxu: zbirka odprtokodnih orodij „Mat. model z Wall Streeta“ ali kako optimizirati stroške v oblaku

Benchmarki za strežnike na Linuxu: zbirka odprtokodnih orodij Kako zaščititi Linux-sistem: 10 nasvetov
Benchmarki za strežnike na Linuxu: zbirka odprtokodnih orodij Minimizacija tveganj: kako ne izgubiti vaših podatkov

Benchmarki za strežnike na Linuxu: zbirka odprtokodnih orodij Knjige za tiste, ki se že ukvarjajo z sistemskim upravljanjem ali šele načrtujejo začetek
Benchmarki za strežnike na Linuxu: zbirka odprtokodnih orodij Seznam: pet knjig in en tečaj o omrežju

Benchmarki za strežnike na Linuxu: zbirka odprtokodnih orodijNa 1cloud.ru ponujamo brezplačno storitev „DNS-housing“. Upravljati DNS zapise pri nas je mogoče v enotni osebni pisarni.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster