Benchmarki Linux serveriem: atvērtā koda rīku izlase

Turpinām stāstÄ«t par rÄ«kiem CPU veiktspējas novērtēŔanai Linux maŔīnās. Å odienas materiālā: temci, uarch-bench, likwid, perf-tools un llvm-mca.

Vairāk salīdzinājumu:

Benchmarki Linux serveriem: atvērtā koda rīku izlase
Foto — Lukas Blazek — Unsplash

temci

Å is ir instruments divu programmu izpildes laika novērtēŔanai. Faktiski tas ļauj salÄ«dzināt divu lietojumprogrammu izpildes laiku. Instrumenta autors ir students no Vācijas Johaness Bechberger, kurÅ” to izstrādāja kā daļu no bakalaura darba 2016. gadā. Å odien instruments tiek izplatÄ«ts saskaņā ar GNU General Public License.

Johaness vēlējās izveidot instrumentu, kas ļautu izmērÄ«t datorsistēmas veiktspēju kontrolētā vidē. Tāpēc viens no galvenajiem temci raksturlielumiem ir iespēja konfigurēt testa vidi. Piemēram, var: mainÄ«t CPU frekvences pārvaldÄ«tāja iestatÄ«jumus, izslēgt hyper-threading un L1 un L2 keÅ”atmiņas, izslēgt turbo režīmu Intel procesoros un citas lietas. Temci bencēŔanai izmanto rÄ«kus time, perf_stat un getrusage.

Tā izskatās programmas darbs pirmajā gadījumā:

# 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

Pēc bencēŔanas rezultātiem sistēma sagatavo ērti lasāmu atskaiti ar shēmām, tabulām un grafikiem, kas atŔķir temci no lÄ«dzÄ«giem risinājumiem.

No temci trÅ«kumiem var minēt tā "jaunumu". Tāpēc tas neatbalsta visus aparātprogrammatÅ«ras un programmatÅ«ras konfigurācijas. Piemēram, to ir grÅ«ti palaist macOS, un sistēmās ar ARM procesoriem dažas funkcijas nav pieejamas. Nākotnē situācija var mainÄ«ties, jo autors aktÄ«vi attÄ«sta projektu, un zvaigžņu skaits GitHub pakāpeniski pieaug – ne tik sen temci pat apsprieda komentāros Hacker News.

uarch-bench

RÄ«ks, lai novērtētu zemas lÄ«meņa CPU funkciju veiktspēju, ko izstrādājis inženieris Traviss Dauns (Travis Downs). Neseni viņŔ vada savu emuāru Performance Matters uz GitHub Pages, kurā runā par bencēŔanas rÄ«kiem un citām saistÄ«tām tēmām. Kopumā uarch-bench pagaidām tikai sāk iegÅ«t popularitāti, bet jau diezgan bieži minēts Hacker News iedzÄ«votājiem tematiskajos diskusijās kā go-to instruments bencēŔanai.

Uarch-bench ļauj novērtēt atmiņas veiktspēju, paralēlu datu ielādes ātrumu un darbÄ«bu tÄ«rīŔanas laikā. YMM reÄ£istri. Kā izskatās rezultāti, kurus Ä£enerē programma, var atrast oficiālajā repozitorijā lapas apakÅ”daļā.

Vērts atzīmēt, ka uarch-bench, tāpat kā temci, izslēdz Intel Turbo Boost funkciju (tā automātiski palielina procesora pulksteņa frekvenci slodzē), lai rezultāti būtu konsekventi.

LÄ«dz Å”im projekts atrodas agrÄ«nā izstrādes posmā, tāpēc uarch-bench trÅ«kst detalizētas dokumentācijas, un tā darbÄ«bā var rasties kļūdas — piemēram, ir zināmas grÅ«tÄ«bas ar palaiÅ”anu uz Ryzen. AtbalstÄ«ti ir tikai x86 arhitektÅ«ras benchmarks. Autors sola nākotnē pievienot vairāk funkcionalitātes un aicina pievienoties izstrādei.

likwid

Tas ir rÄ«ku kopums Linux maŔīnu veiktspējas novērtēŔanai ar Intel, AMD un ARMv8 procesoriem. Tas tika izveidots Federālās izglÄ«tÄ«bas un pētniecÄ«bas ministrijas Vācijā 2017. gadā un nodots open source.

Starp likwid rÄ«kiem var izcelt likwid-powermeter, kas sniedz informāciju no RAPL reÄ£istriem par sistēmas patērēto jaudu, kā arÄ« likwid-setFrequencies — ļauj kontrolēt procesora frekvenci. Pilnu sarakstu varat atrodēt repozitorijā.

Ar Å”o rÄ«ku strādā inženieri, kas pēta HPC jomu. Piemēram, ar likwid strādā speciālistu grupa no Erlangenas-Nirnbergas reÄ£ionālā datorsistēmu centra (RRZE) Vācijā. Viņi arÄ« aktÄ«vi piedalās Ŕī rÄ«ku kopuma izstrādē.

Benchmarki Linux serveriem: atvērtā koda rīku izlase
Foto — Clem Onojeghuo — Unsplash

perf-tools

Å is rÄ«ks ir paredzēts Linux serveru veiktspējas analÄ«zei prezentēja Brendans Greggs (Brendan Gregg). ViņŔ ir viens no attÄ«stÄ«tājiem DTrace — dinamiskās izsekoÅ”anas sistēmas ietvars reālā laika lietojumprogrammu debuggēŔanai.

Perf-tools pamatā ir perf_events un ftrace kodola apakÅ”sistēmas. To utilÄ«tes ļauj analizēt ievades/izvades kavēŔanos (iosnoop), izsekot sistēmas izsaukumu argumentus (unccount, funcslower, funcgraph un functrace) un savākt statistiku par ā€žtrāpÄ«jumiemā€ failu keÅ”atmiņā (cachestat). Pēdējā gadÄ«jumā komanda izskatās Ŕādi:

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

Ap rÄ«ku ir izveidojusies diezgan plaÅ”a kopiena (gandrÄ«z 6 tÅ«kstoÅ”i zvaigžņu GitHub). Un ir uzņēmumi, kas aktÄ«vi izmanto perf-tools, piemēram, Netflix. Taču instruments tiek pilnveidots un modificēts (lai gan pēdējā laikā atjauninājumi tiek izlaisti diezgan reti). Tādēļ tā darbÄ«bā var rasties kļūdas — autors raksta, ka dažreiz perf-tools izraisa kernel panic.

llvm-mca

RÄ«ks, kas prognozē, cik aprēķinu resursu bÅ«s nepiecieÅ”ams maŔīnakodam uz dažādiem CPU. Tas vērtē Instructions Per Cycle (IPC) un slodzi uz aparatÅ«ru, ko rada konkrēts lietojums.

llvm-mca tika ieviests 2018. gadā projekta LLVM, kas nodarbojas ar universālu programma analÄ«zi, transformāciju un optimizāciju. Ir zināms, ka llvm-mca autori tika iedvesmoti no Intel IACA un centās izveidot tā alternatÄ«vu. Un, saskaņā ar lietotāju teikto, rÄ«ka izejas dati (to formatējums un skaits) patieŔām atgādina IACA — piemērs ir atrodams Å”eit. Tomēr llvm-mca pieņem tikai AT&T sintaksi, tāpēc, strādājot ar to, visticamāk, nāksies izmantot konvertētājus.

Par ko mēs rakstām mūsu blogos un sociālajos tīklos:

Benchmarki Linux serveriem: atvērtā koda rÄ«ku izlase Ā«Mat. models no Wall StreetĀ» vai kā optimizēt izmaksas mākonÄ«

Benchmarki Linux serveriem: atvērtā koda rÄ«ku izlase Kā nodroÅ”ināt Linux sistēmu: 10 padomi
Benchmarki Linux serveriem: atvērtā koda rÄ«ku izlase Riska samazināŔana: kā nepazaudēt datus

Benchmarki Linux serveriem: atvērtā koda rÄ«ku izlase Grāmatas tiem, kas jau nodarbojas ar sistēmu administrēŔanu vai tikai plāno sākt
Benchmarki Linux serveriem: atvērtā koda rīku izlase Izvēle: piecas grāmatas un viens kurss par tīkliem

Benchmarki Linux serveriem: atvērtā koda rÄ«ku izlaseMēs 1cloud.lv piedāvājam bezmaksas pakalpojumu Ā«DNS hostingsĀ». PārvaldÄ«t DNS ierakstus pie mums var vienā personÄ«gajā kabinetā.

Avots: habr.com

Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster