Mga benchmark alang sa mga server sa Linux: usa ka pagpili sa bukas nga mga himan

Nagpadayon kami sa paghisgot bahin sa mga himan alang sa pagsusi sa pasundayag sa CPU sa mga makina sa Linux. Karon sa materyal: temci, uarch-bench, likwid, perf-tools ug llvm-mca.

Dugang nga mga benchmark:

Mga benchmark alang sa mga server sa Linux: usa ka pagpili sa bukas nga mga himan
--ΠžΡ‚ΠΎ - Lukas Blazek - Unsplash

temci

Kini usa ka himan alang sa pagbanabana sa oras sa pagpatuman sa duha ka mga programa. Sa tinuud, gitugotan ka nga itandi ang oras sa pagpatuman sa duha nga mga aplikasyon. Ang tagsulat sa utility usa ka estudyante gikan sa Germany, si Johannes Bechberger, nga nagpalambo niini isip bahin sa iyang undergraduate thesis sa 2016. Karon nga himan giapod-apod sa lisensyado ubos sa GNU General Public License.

Gusto ni Johannes nga maghimo usa ka himan nga magtugot kaniya sa pagsukod sa nahimo sa usa ka sistema sa kompyuter sa usa ka kontrolado nga palibot. Busa, usa sa mga nag-unang bahin sa temci mao ang abilidad sa pagpahimutang sa usa ka palibot sa pagsulay. Pananglitan, mahimo: usba ang mga setting sa tagdumala sa frequency sa CPU, pag-disable hyper threading ug L1 ug L2 caches, i-off ang turbo mode sa Intel processors, ug uban pa. Para sa benchmarking temci naggamit ug mga himan panahon, perf_stat ΠΈ getrusage.

Mao kini ang hitsura sa utility sa unang kaso:

# 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

Base sa mga resulta sa benchmarking, ang sistema makamugna kombenyente nga report nga adunay mga diagram, mga lamesa ug mga graph, nga nagpalahi sa temci gikan sa susama nga mga solusyon.

Taliwala sa mga kakulian sa temci, ang "kabatan-onan" niini nag-una. Tungod niini siya dili tanan suportado hardware ug software configurations. Pananglitan, lisud ang pagdagan sa macOS, ug ang pipila ka mga bahin wala magamit sa usa ka sistema nga nakabase sa ARM. Sa umaabot, ang sitwasyon mahimong mausab, tungod kay ang tagsulat aktibo nga nagpalambo sa proyekto, ug ang gidaghanon sa mga bitoon sa GitHub anam-anam nga nagdugang - dili pa lang dugay nga temci bisan gihisgutan sa mga komento sa Hacker News.

uarch-bench

Usa ka gamit alang sa pagtimbang-timbang sa pagbuhat sa ubos nga lebel nga mga gimbuhaton sa CPU, nga gimugna sa engineer nga si Travis Downs (Travis Downs). Bag-o lang siya nag-blog Mga Hinungdan sa Pagganap sa GitHub Pages, nga naghisgot bahin sa mga himan sa pag-benchmark ug uban pang may kalabotan nga mga butang. Sa kinatibuk-an, ang uarch-bench bag-o lang nagsugod sa pagkapopular, apan kini kasagaran na gihisgutan mga residente sa Hacker News sa thematic threads isip usa ka go-to tool para sa benchmarking.

Ang Uarch-bench nagtugot kanimo sa pagtimbang-timbang sa performance sa memorya, parallel data loading speed ug paglimpyo sa trabaho Mga rehistro sa YMM. Kung unsa ang hitsura sa mga resulta sa benchmarking nga gihimo sa programa makita sa opisyal nga tipiganan sa ubos sa panid.

Angay nga matikdan nga ang uarch-bench, sama sa temci, nagdiskonekta Intel Turbo Boost function (kini awtomatik nga nagdugang sa processor clock speed ubos sa load) aron ang mga resulta sa pagsulay makanunayon.

Sa pagkakaron, ang proyekto anaa sa unang mga yugto sa pag-uswag, mao nga ang uarch-bench walay detalyadong dokumentasyon, ug ang operasyon niini mahimong adunay mga bug - pananglitan, nahibal-an ang mga kalisdanan uban sa paglusad sa Ryzen. Usab, ang mga benchmark lamang alang sa x86 nga mga arkitektura ang gisuportahan. Ang tagsulat nagsaad sa pagdugang sa dugang nga gamit sa umaabot ug nagdapit kanimo sa pag-apil sa kalamboan.

likido

Kini usa ka hugpong sa mga himan alang sa pagtimbang-timbang sa pasundayag sa mga makina sa Linux nga adunay mga processor sa Intel, AMD ug ARMv8. Gibuhat kini ubos sa pagdumala sa German Federal Ministry of Education and Research sa 2017 ug gipagawas sa open source.

Lakip sa mga himan sa likwid, mahimo natong i-highlight ang likwid-powermeter, nga nagpakita sa impormasyon gikan sa mga rehistro sa RAPL mahitungod sa gahum nga gigamit sa sistema, ingon man usab sa likwid-setFrequencies, nga nagtugot kanimo sa pagkontrolar sa frequency sa processor. Makita nimo ang kompleto nga lista pangitaa sa repositoryo.

Ang himan gigamit sa mga inhenyero nga nalambigit sa panukiduki sa HPC. Pananglitan, uban sa likwid mga buhat usa ka grupo sa mga espesyalista gikan sa Regional Computing Center sa Unibersidad sa Erlangen-Nuremberg (RRZE) sa Germany. Aktibo usab siya nga nakigbahin sa pagpauswag sa kini nga hugpong sa mga himan.

Mga benchmark alang sa mga server sa Linux: usa ka pagpili sa bukas nga mga himan
--ΠžΡ‚ΠΎ - kang Clem Onojeghuo - Unsplash

perf-mga himan

Kini nga himan alang sa pag-analisar sa pasundayag sa mga server sa Linux gipaila Brendan Gregg. Usa siya sa mga nag-develop DTrace - usa ka dinamikong pagsubay nga balangkas alang sa pag-debug sa mga aplikasyon sa tinuud nga oras.

perf-tools gibase sa perf_events ug ftrace kernel subsystems. Ang ilang mga utilities nagtugot kanimo sa pag-analisar sa I/O latency (iosnoop), pagsubay sa mga argumento sa tawag sa sistema (unccount, funcslower, funcgraph ug functrace) ug pagkolekta sa mga estadistika sa "hits" sa file cache (cachestat). Sa ulahing kaso, ang sugo ingon niini:

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

Usa ka medyo dako nga komunidad ang naporma palibot sa instrumento (hapit 6 ka libo ka bituon sa GitHub). Ug adunay mga kompanya nga aktibong naggamit sa perf-tools, pananglitan Netflix. Apan ang himan gipauswag ug gibag-o pa (bisan kung ang mga pag-update talagsa ra nga gipagawas kaniadtong karon). Busa, ang mga kasaypanan mahimong mahitabo sa iyang operasyon - ang tagsulat misulat nga usahay perf-tools hinungdan sa kernel kalisang.

llvm-mca

Usa ka utility nga nagtagna kung pila ang gikinahanglan sa code sa makina sa mga kapanguhaan sa kompyuter sa lainlaing mga CPU. Siya nagtimbang-timbang Mga Instruksyon kada Siklo (IPC) ug ang load sa hardware nga namugna sa usa ka partikular nga aplikasyon.

Ang llvm-mca gipresentar sa 2018 isip bahin sa proyekto LLVM, nga nagpalambo sa usa ka unibersal nga sistema alang sa pagtuki, pagbag-o ug pag-optimize sa mga programa. Nahibal-an nga ang mga tagsulat sa llvm-mca giinspirar sa usa ka solusyon alang sa pag-analisar sa performance sa software IACA gikan sa Intel ug nagtinguha sa paghimo og alternatibo. Ug sumala sa mga tiggamit, ang output sa himan (ang ilang layout ug gidaghanon) susama sa IACA - pananglitan makita dinhi. Bisan pa, ang llvm-mca modawat lamang AT&T syntax, mao nga lagmit kinahanglan nimo nga mogamit mga converter aron magamit kini.

Unsa ang among gisulat sa among mga blog ug social network:

Mga benchmark alang sa mga server sa Linux: usa ka pagpili sa bukas nga mga himan β€œMat. Modelo sa Wall Street" o kung giunsa ang pag-optimize sa mga gasto sa panganod

Mga benchmark alang sa mga server sa Linux: usa ka pagpili sa bukas nga mga himan Giunsa pagsiguro ang imong sistema sa Linux: 10 nga mga tip
Mga benchmark alang sa mga server sa Linux: usa ka pagpili sa bukas nga mga himan Pagminus sa mga peligro: kung giunsa dili mawala ang imong data

Mga benchmark alang sa mga server sa Linux: usa ka pagpili sa bukas nga mga himan Mga libro para sa mga nalambigit na sa system administration o nagplano pa lang nga magsugod
Mga benchmark alang sa mga server sa Linux: usa ka pagpili sa bukas nga mga himan Pagpili: lima ka libro ug usa ka kurso sa mga network

Mga benchmark alang sa mga server sa Linux: usa ka pagpili sa bukas nga mga himanKami sa 1cloud.ru nagtanyag usa ka libre nga serbisyo "DNS hosting" Mahimo nimong madumala ang mga rekord sa DNS sa usa ka personal nga account.

Source: www.habr.com

Idugang sa usa ka comment