Benchmarks per i servitori Linux: una selezzione di strumenti aperti

Cuntinuemu à parlà di strumenti per valutà u rendiment di CPU nantu à e macchine Linux. Oghje in u materiale: temci, uarch-bench, likwid, perf-tools è llvm-mca.

Più benchmarks:

Benchmarks per i servitori Linux: una selezzione di strumenti aperti
Фото - Lukas Blazek - Unsplash

temci

Questu hè un strumentu per a stima di u tempu di esecuzione di dui prugrammi. Essenzialmente, vi permette di paragunà u tempu di esecuzione di duie applicazioni. L'autore di l'utilità era un studiente da Germania, Johannes Bechberger, chì hà sviluppatu cum'è parte di a so tesi di liceu in 2016. U strumentu d'oghje distribuitu da licenziatu sottu a Licenza Pubblica Generale GNU.

Johannes vulia creà un strumentu chì li permetterà di misurà u rendiment di un sistema di computing in un ambiente cuntrullatu. Per quessa, una di e caratteristiche principali di temci hè a capacità di stallà un ambiente di prova. Per esempiu, : cambia i paràmetri di u gestore di frequenza di CPU, disattiveghjanu iper threading è cache L1 è L2, disattivate u modalità turbo nantu à i prucessori Intel, etc. Per u benchmarking temci usa arnesi tempu, perf_stat и getrusage.

Eccu ciò chì l'utilità pare in u primu casu:

# 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

Basatu nantu à i risultati di benchmarking, u sistema genera rapportu convenientu cù diagrammi, tavule è grafici, chì distingue temci da suluzioni simili.

Trà i difetti di temci, spicca a so "gioventù". Per via di questu ellu micca tuttu hè sustinutu cunfigurazioni hardware è software. Per esempiu, hè difficiule di eseguisce in macOS, è alcune funzioni ùn sò micca dispunibili nantu à un sistema basatu in ARM. In u futuru, a situazione pò cambià, cum'è l'autore hè attivamente sviluppatu u prugettu, è u numeru di stelle in GitHub cresce gradualmente - micca tantu tempu temci ancu discussatu in i cumenti nantu à Hacker News.

uarch-banc

Una utilità per a valutazione di e prestazioni di funzioni di CPU di pocu livellu, sviluppata da l'ingegnere Travis Downs (Travis Downs). Recentemente hà blogging A prestazione importa nantu à e Pagine GitHub, chì parla di strumenti di benchmarking è altre cose cunnesse. In generale, uarch-bench hè ghjustu cuminciatu à guadagnà pupularità, ma hè digià abbastanza cumuni mintuatu residenti di Hacker News in i fili tematichi cum'è un strumentu per andà per benchmarking.

Uarch-bench permette di valutà u rendiment di memoria, a velocità di carica di dati paralleli è u travagliu di pulizia I registri YMM. Ciò chì i risultati di benchmarking generati da u prugramma si ponu truvà in u repositoriu ufficiale à u fondu di a pagina.

Hè da nutà chì uarch-banch, cum'è temci, disconnects Funzione Intel Turbo Boost (aumenta automaticamente a velocità di u clock di u processore sottu carica) per chì i risultati di a prova sò coerenti.

Per avà, u prugettu hè in i primi fasi di sviluppu, cusì uarch-bench ùn hà micca documentazione dettagliata, è u so funziunamentu pò cuntene bugs - per esempiu, e difficultà sò cunnisciute cù u lanciu nantu à Ryzen. Inoltre, solu i benchmarks per l'architettura x86 sò supportati. L'autore prumette di aghjunghje più funziunalità in u futuru è vi invita à unisce à u sviluppu.

liquidu

Questu hè un inseme di strumenti per evaluà u rendiment di e macchine Linux cù processori Intel, AMD è ARMv8. Hè statu creatu sottu l'auspici di u Ministeru Federale di l'Educazione è a Ricerca Tedesca in 2017 è liberatu in open source.

Trà l'arnesi likwid, pudemu mette in risaltu likwid-powermeter, chì mostra infurmazione da i registri RAPL nantu à a putenza cunsumata da u sistema, è ancu likwid-setFrequencies, chì permette di cuntrullà a freccia di u processatore. Pudete vede a lista cumpleta truvà in u repository.

U strumentu hè utilizatu da ingegneri implicati in a ricerca HPC. Per esempiu, cù likwid opere un gruppu di specialisti da u Centru di Computing Regionale di l'Università di Erlangen-Nuremberg (RRZE) in Germania. Idda pigghia dinù una parte attiva in u sviluppu di stu gruppu di arnesi.

Benchmarks per i servitori Linux: una selezzione di strumenti aperti
Фото - Clem Onojeghuo - Unsplash

strumenti perf

Stu strumentu per analizà u rendiment di i servitori Linux introduttu Brendan Gregg. Hè unu di i sviluppatori DTrace - un framework di traccia dinamica per l'applicazioni di debugging in tempu reale.

perf-tools hè basatu annantu à i sottosistemi perf_events è ftrace kernel. E so utilità vi permettenu di analizà a latenza I / O (iosnoop), seguite l'argumenti di a chjama di u sistema (unccount, funcslower, funcgraph è functrace) è raccoglie statistiche nantu à "hits" in a cache di u schedariu (cachestat). In l'ultimu casu, u cumandimu pare cusì:

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

Una cumunità abbastanza numerosa s'hè furmatu intornu à l'instrumentu (quasi 6 mila stelle nantu à GitHub). E ci sò cumpagnie chì utilizanu attivamente perf-tools, per esempiu Netflix. Ma l'uttellu hè più sviluppatu è mudificatu (ancu se l'aghjurnamenti sò stati liberati pocu raramenti ultimamente). Per quessa, l'errore pò accade in u so funziunamentu - l'autore scrive chì qualchì volta perf-tools causa u panicu di u kernel.

llvm-mca

Una utilità chì predice quante risorse di computer codice macchina richiederà in diverse CPU. Ella valuta Istruzzioni Per Ciclu (CPI) è a carica nantu à u hardware chì una applicazione particulare genera.

llvm-mca hè statu prisentatu in 2018 cum'è parte di u prugettu LLVM, chì sviluppa un sistema universale per analisi, trasfurmazioni è ottimisazione di prugrammi. Hè cunnisciutu chì l'autori di llvm-mca sò stati inspirati da una suluzione per analizà u funziunamentu di u software IACA da Intel è hà cercatu di creà una alternativa. E sicondu l'utilizatori, a pruduzzione di l'uttellu (u so layout è a quantità) s'assumiglia veramente IACA - esempiu pò esse trovu quì. Tuttavia, llvm-mca accetta solu sintassi AT&T, cusì vi sarà più prubabile à aduprà converters à travaglià cun ellu.

Ciò chì scrivemu nantu à i nostri blog è e rete suciale:

Benchmarks per i servitori Linux: una selezzione di strumenti aperti "Mat. U mudellu Wall Street" o cumu ottimisà i costi di nuvola

Benchmarks per i servitori Linux: una selezzione di strumenti aperti Cumu assicurà u vostru sistema Linux: 10 cunsiglii
Benchmarks per i servitori Linux: una selezzione di strumenti aperti Minimizing risichi: cumu ùn perde i vostri dati

Benchmarks per i servitori Linux: una selezzione di strumenti aperti Libri per quelli chì sò digià implicati in l'amministrazione di u sistema o sò solu di pianificà per inizià
Benchmarks per i servitori Linux: una selezzione di strumenti aperti Selezzione : cinque libri è un corsu nantu à e rete

Benchmarks per i servitori Linux: una selezzione di strumenti apertiAvemu à 1cloud.ru offre un serviziu gratuitu "hosting DNS" Pudete gestisce i registri DNS in un unicu contu persunale.

Source: www.habr.com

Add a comment