Benchmarkok Linux szerverekhez: nyitott eszközök választéka

Továbbra is beszélünk a CPU teljesítményének értékelésére szolgáló eszközökről Linux gépeken. Ma az anyagban: temci, uarch-bench, likwid, perf-tools és llvm-mca.

További benchmarkok:

Benchmarkok Linux szerverekhez: nyitott eszközök választéka
Фото - Lukas Blazek — Fröcskölés

temci

Ez egy eszköz két program végrehajtási idejének becslésére. Lényegében lehetővé teszi két alkalmazás végrehajtási idejének összehasonlítását. A segédprogram szerzője egy német diák, Johannes Bechberger volt, aki 2016-ban egyetemi diplomamunkája részeként dolgozta ki. A mai eszköz forgalmazza licence a GNU General Public License.

Johannes egy olyan eszközt akart létrehozni, amely lehetővé teszi számára egy számítógépes rendszer teljesítményének mérését ellenőrzött környezetben. Ezért a temci egyik fő jellemzője a tesztkörnyezet beállításának lehetősége. Például, tud: CPU frekvenciakezelő beállításainak módosítása, letiltása hiperszálas és L1 és L2 gyorsítótárak esetén kapcsolja ki a turbó módot az Intel processzorokon stb. A temci eszközöket használ az összehasonlításhoz idő, perf_stat и szoktatás.

Így néz ki a segédprogram az első esetben:

# 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

A benchmarking eredményei alapján a rendszer generál kényelmes jelentés diagramokkal, táblázatokkal és grafikonokkal, ami megkülönbözteti a temcieket a hasonló megoldásoktól.

A temci hiányosságai közül kiemelkedik „fiatalsága”. Emiatt ő nem minden támogatott hardver és szoftver konfigurációk. Például nehéz futni macOS-en, és egyes funkciók nem érhetők el ARM-alapú rendszereken. A jövőben változhat a helyzet, hiszen a szerző aktívan fejleszti a projektet, a GitHubon pedig fokozatosan nő a csillagok száma – nem is olyan régen még temci megbeszéltük a megjegyzésekben a Hacker News-on.

uarch-pad

Travis Downs mérnök által kifejlesztett segédprogram alacsony szintű CPU-funkciók teljesítményének értékelésére.Travis Downs). Mostanában blogol Teljesítmény számít a GitHub oldalakon, ahol benchmarking eszközökről és egyéb kapcsolódó dolgokról beszélnek. Általánosságban elmondható, hogy az uarch-pad még csak most kezd népszerűvé válni, de már meglehetősen gyakori említett a Hacker News lakói a tematikus szálakban a benchmarking eszközeként.

Az Uarch-bench segítségével értékelheti a memória teljesítményét, a párhuzamos adatbetöltési sebességet és a tisztítási munkát YMM regiszterek. Hogy néznek ki a program által generált benchmarking eredmények, megtekinthető a hivatalos adattárban a lap alján.

Érdemes megjegyezni, hogy az uarch-pad, mint a temci, letiltja Intel Turbo Boost funkció (terhelés alatt automatikusan növeli a processzor órajelét), hogy a teszteredmények egységesek legyenek.

A projekt egyelőre a fejlesztés korai szakaszában van, így az uarch-bench nem rendelkezik részletes dokumentációval, és a működése hibákat tartalmazhat - pl. nehézségek ismertek a Ryzen elindításával. Ezenkívül csak az x86-os architektúrák referenciaértékei támogatottak. A szerző azt ígéri, hogy a jövőben további funkciókat ad hozzá, és felkéri Önt, hogy csatlakozzon a fejlesztéshez.

folyékony

Ez egy eszközkészlet az Intel, AMD és ARMv8 processzorokkal rendelkező Linux gépek teljesítményének értékeléséhez. A Német Szövetségi Oktatási és Kutatási Minisztérium égisze alatt hozták létre 2017-ben, és nyílt forráskódúvá adták ki.

A likwid eszközök közül kiemelhetjük a likwid-powermetert, amely a RAPL regiszterekből jelenít meg információkat a rendszer által fogyasztott teljesítményről, valamint a likwid-setFrequenciest, amivel szabályozhatjuk a processzor frekvenciáját. A teljes listát láthatja megtalálja a tárolóban.

Az eszközt a HPC-kutatásban részt vevő mérnökök használják. Például a likwid-del művek a németországi Erlangen-Nürnbergi Egyetem (RRZE) Regionális Számítástechnikai Központjának szakértői csoportja. Ezen eszközkészlet fejlesztésében is aktívan részt vesz.

Benchmarkok Linux szerverekhez: nyitott eszközök választéka
Фото - Clem Onojeghuo — Fröcskölés

perf-eszközök

Ez az eszköz a Linux szerverek teljesítményének elemzésére benyújtott Brendan Gregg. Ő az egyik fejlesztő DTrace – dinamikus nyomkövetési keretrendszer az alkalmazások valós idejű hibakereséséhez.

A perf-tools a perf_events és az ftrace kernel alrendszereken alapul. Segédprogramjaik lehetővé teszik az I/O késleltetés (iosnoop) elemzését, a rendszerhívási argumentumok nyomon követését (unccount, funcslower, funcgraph és functrace), valamint statisztikák gyűjtését a fájlgyorsítótárban (cachestat) a „találatokról”. Az utóbbi esetben a parancs így néz ki:

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

A hangszer körül meglehetősen nagy közösség alakult ki (közel 6 ezer csillag a GitHubon). És vannak olyan cégek, amelyek például aktívan használnak perf-eszközöket Netflix. De az eszközt tovább fejlesztik és módosítják (bár az utóbbi időben meglehetősen ritkán adtak ki frissítéseket). Ezért előfordulhatnak hibák a működésében – írja a szerző, hogy a perf-tools néha kernelpánikot okoz.

llvm-mca

Egy segédprogram, amely megjósolja, hogy a gépi kód hány számítási erőforrást igényel a különböző CPU-kon. Ő értékeli Ciklusonkénti utasítások (IPC) és a hardver terhelése, amelyet egy adott alkalmazás generál.

Az llvm-mca 2018-ban került bemutatásra a projekt részeként LLVM, amely egy univerzális rendszert fejleszt a programok elemzésére, átalakítására és optimalizálására. Ismeretes, hogy az llvm-mca szerzőit a szoftver teljesítményének elemzésére szolgáló megoldás ihlette meg. IACA az Inteltől és alternatívát keresett. És a felhasználók szerint az eszköz kimenete (elrendezésük és mennyiségük) valóban hasonlít az IACA-ra - példa itt található. Az llvm-mca azonban csak azt fogadja el AT&T szintaxis, ezért nagy valószínűséggel konvertereket kell használnia a munkához.

Amiről blogjainkon és közösségi oldalainkon írunk:

Benchmarkok Linux szerverekhez: nyitott eszközök választéka "Mat. Wall Street modell" vagy a felhőköltségek optimalizálása

Benchmarkok Linux szerverekhez: nyitott eszközök választéka Hogyan védje meg Linux rendszerét: 10 tipp
Benchmarkok Linux szerverekhez: nyitott eszközök választéka A kockázatok minimalizálása: hogyan ne veszítse el adatait

Benchmarkok Linux szerverekhez: nyitott eszközök választéka Könyvek azoknak, akik már részt vesznek a rendszeradminisztrációban, vagy csak most tervezik az indulást
Benchmarkok Linux szerverekhez: nyitott eszközök választéka Válogatás: öt könyv és egy kurzus a hálózatokról

Benchmarkok Linux szerverekhez: nyitott eszközök választékaMi az 1cloud.ru ingyenes szolgáltatást kínálunk.DNS hosting" A DNS-rekordokat egyetlen személyes fiókban kezelheti.

Forrás: will.com

Hozzászólás