Benchmark për serverët në Linux: koleksion i mjeteve të hapura

Vazhdoni të flisni për mjetet për vlerësimin e performancës së CPU në makinat Linux. Sot në material: temci, uarch-bench, likwid, perf-tools dhe llvm-mca.

Më shumë benchmark-e:

Benchmark për serverët në Linux: koleksion i mjeteve të hapura
Foto - Lukas Blazek — Unsplash

temci

Ky është një mjet për vlerësimin e kohës së ekzekutimit të dy programeve. Në thelb, ai lejon të krahasohen kohët e ekzekutimit të dy aplikacioneve. Autor i utilitarit është studenti gjerman Johannes Bechberger, i cili e zhvilloi atë si pjesë e tezës së tij të diplomës në vitin 2016. Sot ky mjet shpërndahet ka licencën GNU General Public License.

Johannes donte të krijonte një mjet që do të lejonte të matet performanca e sistemit informatik në një mjedis të kontrolluar. Prandaj, një nga karakteristikat kryesore të temci është mundësia për të konfiguruar mjedisin e testimit. Për shembull, mund të: të ndryshoni cilësimet e menaxherit të frekuencës së CPU, të çaktivizoni hyper-threading dhe caches L1 dhe L2, të çaktivizoni modin turbo në procesorët Intel etj. Për benchmarkim, temci përdor mjetet time, perf_stat dhe getrusage.

Këtu është si duket funksionimi i utilitarit në rastin e parë:

# 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

Sipas rezultateve të benchmarkimit, sistemi formon një raport të përshtatshëm me skema, tabela dhe grafika, që e dallon temci nga zgjidhjet e ngjashme.

Nga mangësitë e temci, vlen të përmendet "rinia" e tij. Për shkak të kësaj nuk mbështet të gjitha konfigurimet e harduerit dhe softuerit. Për shembull, është e vështirë ta ekzekutosh në macOS, dhe në një sistem me procesor ARM disa funksione nuk janë të disponueshme. Në të ardhmen, situata mund të ndryshojë, pasi autori po e zhvillon aktivisht projektin dhe numri i yjeve në GitHub po rritet gradualisht - së fundmi temci u diskutua në komentet në Hacker News.

uarch-bench

Një mjet për vlerësimin e performancës së funksioneve të ulëta të CPU, i zhvilluar nga inxhinieri Travis Downs. Së fundmi, ai po mban blogun e tijPerformance Mattersnë GitHub Pages, ku flitka për mjetet për benchmarkim dhe gjëra të tjera të lidhura. Në përgjithësi, uarch-bench po fillon të fitojë popullaritet, por tashmë shpesh përmendet nga përdoruesit e Hacker News në thredhje tematike si mjeti go-to për benchmarkim. Uarch-bench lejon vlerësimin e performancës së memories, shpejtësisë së ngarkimit paralel të të dhënave dhe funksionit të pastrimit përmendet të regjistrave YMM

Uarch-bench lejon të vlerësojë performancën e memories, shpejtësinë e ngarkesës paralele të të dhënave dhe punën e pastrimit Regjistrat YMMSi mund të gjeni rezultatet e benchmark-ut të gjeneruara nga programi, në depozitat zyrtare në fund të faqes.

Duhet vënë në dukje se uarch-bench, ashtu si temci, çaktivizon funkcionin Intel Turbo Boost (i cili automatikisht rrit frekuencën e procesorit nën ngarkesë), për t'u siguruar që rezultatet e testimit të jenë konsistente.

Aktualisht, projekti është në faza të hershme të zhvillimit, kështu që uarch-bench nuk ka dokumentacion të detajuar dhe mund të ketë gabime në funksionimin e tij - për shembull, kanë qenë probleme me ekzekutimin në Ryzen. Për më tepër, mbështeten vetëm benchmark-et për arkitekturën x86. Autori premton të shtojë më shumë funksionalitete në të ardhmen dhe fton të bashkohen në zhvillim.

likwid

Ky është një set mjetesh për vlerësimin e performancës së makinave Linux me procesorë Intel, AMD dhe ARMv8. Ai u krijua nën kujdesin e Ministrisë Federale të Arsimit dhe Kërkimeve Shkencore të Gjermanisë në vitin 2017 dhe u kalua në open source.

Mes mjeteve likwid, mund të dallohen likwid-powermeter, i cili jep informacion nga regjistrat RAPL mbi fuqinë e konsumuar nga sistemi, si dhe likwid-setFrequencies - që lejon kontrollin e frekuencës së procesorit. Një listë të plotë mund të gjeni në depozitat.

Ky mjet përdoret nga inxhinierë që merren me studime në fushën e HPC. Për shembull, me likwid po punon një grup specialistësh nga Qendra Rajonale e Llogaritjes së Universitetit të Erlangen - Nuremberg (RRZE) në Gjermani. Po ashtu, ata marrin pjesë aktivisht në zhvillimin e këtij seti mjetesh.

Benchmark për serverët në Linux: koleksion i mjeteve të hapura
Foto - Clem Onojeghuo — Unsplash

perf-tools

Ky është një mjet për analizën e performancës së serverëve Linux paraqiti Brendan Gregg. Ai është një nga zhvilluesit DTrace - framework-ut të gjurmimit dinamik për debugging në kohë reale.

Në thelb të perf-tools janë nën-sistemat e bërthamës perf_events dhe ftrace. Utilitetet e tyre lejojnë analizimin e vonesave të hyrjes/daljes (iosnoop), ndjekjen e argumenteve të thirrjeve në sistem (unccount, funcslower, funcgraph dhe functrace) dhe mbledhjen e statistikave mbi 'goditjet' në cache-n e skedarëve (cachestat). Në këtë rast, urdhri duket kështu:

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

Rreth kĂ«tij mjeti Ă«shtĂ« formuar njĂ« komunitet mjaft i gjerĂ« (gati 6 mijĂ« yje nĂ« GitHub). Dhe ka kompani qĂ« e pĂ«rdorin aktivisht perf-tools, pĂ«r shembull Netflix. Por Ă«shtĂ« njĂ« instrument qĂ« po zhvillohet dhe modifikohet (edhe pse javĂ«t e fundit pĂ«rditĂ«simet po dalin mĂ« rrallĂ«). Prandaj, gjatĂ« funksionimit tĂ« tij mund tĂ« ndodhin gabime — autori shkruan se ndonjĂ«herĂ« perf-tools shkakton kernel panic.

llvm-mca

Një utilitar që parashikon sa burime kompjuterike i nevojiten kodit të makinës në CPU të ndryshme. Ajo vlerëson Instructions Per Cycle (IPC) dhe ngarkesën mbi harduerin që gjeneron një aplikacion i caktuar.

llvm-mca u paraqit nĂ« vitin 2018 si pjesĂ« e projektit LLVM, i cili merret me zhvillimin e njĂ« sistemi tĂ« pĂ«rgjithshĂ«m pĂ«r analiza, transformim dhe optimizim tĂ« programeve. ËshtĂ« e njohur se autorĂ«t e llvm-mca u frymĂ«zuan nga zgjidhja pĂ«r analizimin e performancĂ«s sĂ« softuerit IACA nga Intel dhe synonin tĂ« krijonin njĂ« alternativĂ«. Sipas pĂ«rdoruesve, tĂ« dhĂ«nat e kĂ«tij instrumenti (shkalla e tyre dhe numri) me tĂ« vĂ«rtetĂ« i ngjajnĂ« IACA — njĂ« shembull mund tĂ« gjendet kĂ«tu. MegjithatĂ«, llvm-mca pranon vetĂ«m syntaksĂ«n AT&T, prandaj pĂ«r ta pĂ«rdorur, me siguri do tĂ« duhet tĂ« pĂ«rdoren konvertues.

Për çfarë shkruajmë në bloget dhe rrjetet tona sociale:

Benchmark për serverët në Linux: koleksion i mjeteve të hapura «Modeli matematikor nga Wall Street» ose si të optimizosh shpenzimet për cloud

Benchmark për serverët në Linux: koleksion i mjeteve të hapura Si të sigurohet sistemi Linux: 10 këshilla
Benchmark për serverët në Linux: koleksion i mjeteve të hapura Minimizimi i rreziqeve: si të mos humbasësh të dhënat e tua

Benchmark për serverët në Linux: koleksion i mjeteve të hapura Libra për ata që tashmë po merren me administrimin e sistemeve ose vetëm planifikojnë të fillojnë
Benchmark për serverët në Linux: koleksion i mjeteve të hapura Përzgjedhja: pesë libra dhe një kurs mbi rrjetet

Benchmark për serverët në Linux: koleksion i mjeteve të hapuraNe në 1cloud.ru ofrojmë një shërbim falas të «DNS-hosting». Të menaxhosh DNS-rekordet me ne mund të bëhet në një kabinet të vetëm personal.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster