Linuxi serverite jaoks mõeldud benšmarkid: avatud tööriistade kogu

Jätkame jutustamist CPU jõudluse hindamise tööriistadest Linux-i masinatel. Täna käsitleme: temci, uarch-bench, likwid, perf-tools ja llvm-mca.

Rohkem benšmarke:

Linuxi serverite jaoks mõeldud benšmarkid: avatud tööriistade kogu
Foto — Lukas Blazek — Unsplash

temci

See on tööriist kahe programmi käitusaega hindamiseks. Sisuliselt võimaldab see võrrelda kahe rakenduse täitmise aega. Tööriista autor on Saksamaal õppiv tudeng Johannes Bechberger, kes töötas selle välja oma bakalaureuse lõpetamise projekti raames 2016. aastal. Täna on tööriist levitatakse GNU General Public License'i litsentsi all.

Johannes soovis luua tööriista, mis võimaldaks mõõta arvutisüsteemi jõudlust kontrollitud keskkonnas. Seetõttu on temci üks peamisi omadusi testkeskkonna kohandamise võimalus. Näiteks saab: muuta CPU sageduse juhtimise sääteteid, keelata hyper-threading ja L1 ja L2 vahemä buffered, keelata Intel'i protsessorite turbo režiim jne. Benšmarkimiseks kasutab temci tööriistu time, perf_stat ja getrusage.

Nii näeb tööriista töö välja esimesel juhul:

# 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

Benšmarkimise tulemuste põhjal koostab süsteem mugava aruande skeemide, tabelite ja graafikute abil, mis eristab temci sarnastest lahendustest.

Temci miinusena võib välja tuua selle „nooruslikkuse“. Selle tõttu ei toeta see kõiki riistvara ja tarkvara konfiguratsioone. Näiteks on selle käitamine macOS-is keeruline ning ARM-protsessoriga süsteemis on mõned funktsioonid puuduvad. Tulevikus võib olukord muutuda, kuna autor arendab aktiivselt projekti ja tähede arv GitHubis suureneb järk-järgult – hiljuti arutati temcit isegi kommentaarides Hacker News-is.

uarch-bench

Tööriist CPU madala taseme funktsioonide jõudluse hindamiseks, mille on välja töötanud insener Travis Downs (Travis Downs). Viimasel ajal peab ta oma blogi Performance Matters GitHub Pages-i peal, kus ta räägib benšmarkimise tööriistadest ja nendega seotud asjadest. Üldiselt uarch-bench alles hakkab populaarsust koguma, kuid juba üsna tihti mainitakse Hacker News-i kasutajate poolt teemakohastes säätetes kui go-to tööriist benšmarkimiseks.

Uarch-bench võimaldab hinnata mälu jõudlust, andmete paralleelse laadimise kiirust ja YMM-registreid puhastamise tööd. YMM-register. Kuidas näevad välja programmid, mis genereerivad tulemuslikkuse mõõtmise tulemusi, saad leida ametlikust hoidlast lehe allosas.

Oluline on märkida, et uarch-bench, nagu ka temci, deaktiveerib funktsiooni Intel Turbo Boost (mis automaatselt suurendab protsessori taktsagedust koormuse all), et testimistulemused oleksid järjepidevad.

Praegu on projekt varases arendusjärgus, seega pole uarch-bench'il põhjalikku dokumentatsiooni ning selle töös võivad esineda vead - näiteks, on teada raskusi Ryzeni käivitamisel. Toetatakse ainult x86 arhitektuuride benchmark'e. Autor lubab tulevikus lisada rohkem funktsioone ja kutsub välja arendusse liituma.

likwid

See on Linuxi masinate jõudluse hindamise tööriistade kogum Intel, AMD ja ARMv8 protsessoritega. See loodi Saksamaa föderaalse haridus- ja teadusministeeriumi poolt 2017. aastal ja anti open source'i.

Likwidi tööriistade seas võib välja tuua likwid-powermeteri, mis kuvab RAPL-registeritele põhinevat teavet süsteemi energiatarbimise kohta, samuti likwid-setFrequencies - mis võimaldab kontrollida protsessori sagedust. Täieliku nimekirja leiate hoidlast.

Tööriista kasutavad insenerid, kes tegelevad HPC uurimistöödega. Näiteks kasutatakse likwid'it töötas grupi spetsialistide poolt Erlangeni-Nürnbergi ülikooli piirkondlikus arvutuskeskuses (RRZE) Saksamaal. Samuti osalevad nad aktiivselt selle tööriistade komplekti arendamises.

Linuxi serverite jaoks mõeldud benšmarkid: avatud tööriistade kogu
Foto — Clem Onojeghuo — Unsplash

perf-tools

See on tööriist Linuxi serverite jõudluse analüüsimiseks esitles Brendan Gregg. Ta on üks arendajatest DTrace - dünaamilise jälgimise raamistiku loojatest, mis on mõeldud rakenduste reaalajas tõrkeotsinguks.

Perf-tools põhineb kernel'i perf_events ja ftrace alamsüsteemidel. Nende utiliidid võimaldavad analüüsida sisendi/väljundi viivitust (iosnoop), jälgida süsteemi kutsete argumendid (unccount, funcslower, funcgraph ja functrace) ja koguda statistikat failimälu "tabamuste" kohta (cachestat). Viimases olukorras käsk näeb välja järgmiselt:

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

Tööriista ümber on kujunenud üsna suur kogukond (peaaegu 6 tuhat tähte GitHubis). Ja on ettevõtteid, kes kasutavad aktiivselt perf-tools, näiteks Netflix. Kuid tööriista arendatakse ja kohandatakse pidevalt (kuigi viimase ajal on uuendused ilmunud üsna harva). Seetõttu võivad selle töö protsessis tekkida vead — autor märgib, et mõnikord kutsub perf-tools esile kernel panic'i.

llvm-mca

Tööriist, mis ennustab, kui palju arvutusressursse on vaja masinkoodile erinevatel CPU-del. See estimates Instructions Per Cycle (IPC) ja riistvarakoormust, mille erinevad rakendused genereerivad.

llvm-mca esitati 2018. aastal projekti LLVM, mis tegeleb universaalse analüüsi, transformatsiooni ja optimeerimise süsteemi arendamisega. On teada, et llvm-mca autorid said inspiratsiooni Intel'i tarkvara jõudluse analüüsi lahendusest IACA ja püüdsid luua selle alternatiivi. Ja kasutajate sõnul tõepoolest sarnanevad tööriista väljundite (nende tähistamine ja arv) tulemused IACA-ga — näide can be found here. Kuid llvm-mca tunnustab ainult AT&T süntaksit, seega tuleb selle kasutamiseks tõenäoliselt kasutada konvertereid.

Isikuandmed: avaliku pilve omadused

Linuxi serverite jaoks mõeldud benšmarkid: avatud tööriistade kogu „Mat. mudel Wall Streetilt“ või kuidas optimeerida pilvekulutusi

Linuxi serverite jaoks mõeldud benšmarkid: avatud tööriistade kogu Kuidas Linuxi süsteemi kaitsta: 10 näpunäidet
Linuxi serverite jaoks mõeldud benšmarkid: avatud tööriistade kogu Riskide minimeerimine: kuidas mitte kaotada oma andmeid

Linuxi serverite jaoks mõeldud benšmarkid: avatud tööriistade kogu Raamatud neile, kes juba tegelevad süsteemiadministreerimisega või plaanivad alles alustada
Linuxi serverite jaoks mõeldud benšmarkid: avatud tööriistade kogu Valik: viis raamatut ja üks kursus võrkudest

Linuxi serverite jaoks mõeldud benšmarkid: avatud tööriistade koguMe 1cloud.ru pakume tasuta teenust „DNS-hosting“. Meie juures on võimalik DNS-kirjeid hallata ühtses isiklikus kabinetis.

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster