A benchmarking a teljesítmény mérése és az eredmények összehasonlítása egy másik rendszer eredményeivel, vagy egy széles körben elfogadott standarddal egy egységes eljáráson keresztül. A rendszerteljesítmény értékelésének ez az egységes módszere segíthet megválaszolni azokat a kérdéseket, hogy a rendszer úgy működik, ahogy kell, milyen kernel verziót érdemes használni az optimális teljesítmény eléréséhez, stb.
Számos eszköz használható a rendszer teljesítményének meghatározására, az alábbiakban felsorolunk pár elérhető grafikus és konzolos eszközt.
Hardinfo és teljesítményteszt
Információkat gyűjthet a rendszer hardveréről és operációs rendszeréről, benchmarkokat végezhet, és nyomtatható jelentéseket készíthet akár HTML-ben, akár egyszerű szöveges formátumban. A HardInfo CPU és FPU benchmarkokat hajt végre, és nagyon tiszta GTK-alapú felülettel rendelkezik.
Processzor, memória
Egy esztétikailag tetszetős és hasznos átkok stílusú interfész, amely a CPU-frekvencia, a kihasználtság, a hőmérséklet, az energiafogyasztás grafikonját mutatja, és beépített stressz-tesztelővel rendelkezik.
Tárolóeszközök, fájlrendszer
Egy Qt alapú HDD és SSD benchmark eszköz, nagyon barátságos grafikus felhasználói felülettel. A program előbeállításaival és hatékony grafikus felhasználói felületével Flexible I/O tesztelőt hív meg, és kezeli a kimenetet, hogy könnyen megtekinthető és értelmezhető, átfogó benchmark eredményt biztosítson.
Egy Gtk alapú grafikus benchmark, amely min/max/átlag olvasást hozzáférési időt is méri. A mérési módszer független a partíciók igazítástól!
Phoronix Test Suite
A Phoronix Test Suite a rendelkezésre álló legátfogóbb tesztelési és benchmarking platform, amely bővíthető keretrendszert biztosít, amelyhez új tesztek egyszerűen hozzáadhatók. A szoftvert úgy tervezték, hogy mind a minőségi, mind a mennyiségi benchmarkokat hatékonyan, tiszta, reprodukálható és könnyen használható módon hajtsa végre.
A Phoronix Test Suite a Phoronix.com által 2004 óta kifejlesztett kiterjedt tesztelési és belső eszközökön, valamint a vezető első szintű számítógépes hardver- és szoftvergyártók támogatásán alapul. Ez a szoftver nyílt forráskódú, és a GNU GPLv3 licenc alatt áll.
Az eredetileg automatizált Linux tesztelésre kifejlesztett Phoronix Test Suite azóta az OpenSolaris, az Apple macOS, a Microsoft Windows és a BSD operációs rendszerek támogatásával bővült. A Phoronix Test Suite egy könnyű feldolgozó magból (pts-core) áll, és mindegyik benchmark egy XML-alapú profilból és kapcsolódó erőforrás-szkriptekből áll. A folyamat a benchmark telepítésétől a tényleges benchmarkingon át a fontos hardver- és szoftverkomponensek elemzéséig erősen automatizált és teljesen megismételhető, csak a műveletek megerősítését kéri a felhasználóktól.
A Phoronix Test Suite együttműködik az OpenBenchmarking.org-gal, mint együttműködési webes platformmal a teszteredmények központi tárolására, a tesztprofilok és -eredmények megosztására, a fejlett elemzési szolgáltatásokra és egyéb funkciókra. A Phoromatic egy olyan vállalati komponens, amely több rendszerben, távoli felügyeleti képességekkel is levezényli a tesztvégrehajtást.
Grafikai tesztek
További, de olvasásra szoruló részletekért kattints ide ...
Basemark GPU
A Basemark GPU egy kiértékelő eszköz a grafikus API (OpenGL 4.5, OpenGL ES 3.1, Vulkan és Microsoft DirectX 12) teljesítményének elemzésére és mérésére mobil és asztali platformokon. A Basemark GPU mind az asztali, mind a mobil platformokat célozza meg, mivel kiváló minőségű és közepes minőségű módokat is biztosít. A Kiváló minőségű mód a legmodernebb asztali munkaterheléseket kezeli, míg a Közepes minőség mód az egyenértékű mobil munkaterheléseket.
Ha AMD GPU-t használ, és egyszerre több vulkán implementáció van telepítve, a Teszt oldalon külön GPU-ként láthatja őket a Graphics Device legördülő listában.
Blender-benchmark
A Blender-benchmark információkat gyűjt a rendszerről, például operációs rendszerről, RAM-ról, grafikus kártyákról, CPU-modellről, valamint információkat a rendszer teljesítményéről a benchmark végrehajtása során. Ezt követően a felhasználó megoszthatja az eredményt online a Blender Open Data platformon, vagy helyileg mentheti az adatokat.
GFXBench
A GFXBench egy csúcskategóriás grafikus benchmark, amely a mobil és asztali számítógépek teljesítményét méri a következő generációs grafikus funkciókkal minden platformon. A GFXBench igazi cross-API-benchmarkként támogatja az összes iparági szabvány és gyártó-specifikus API-t, beleértve az OpenGL-t, az OpenGL ES-t, a Vulkan-t, a Metal-t, a DirectX/Direct3D-t és a DX12-t.
A Vulkan API tesztek jelenleg fejlesztés alatt állnak, és csak vállalati partnereik számára érhetők el.
glmark2
A glmark2 egy OpenGL 2.0 és ES 2.0 benchmark.
glxgears / glxspheres64
Egy népszerű OpenGL-teszt, amely nagyon egyszerű OpenGL-teljesítményt jelenít meg, és kiadja a képkockasebességet. Bár a glxgears hasznos lehet a grafikus illesztőprogram közvetlen megjelenítési képességeinek tesztjeként, ez egy elavult eszköz, amely nem reprezentálja a GNU/Linux grafika jelenlegi állapotát és az OpenGL általános lehetőségeit. A glxgears csak egy kis részét teszteli a játékban használható OpenGL-képességeknek. A glxgearsben észlelt teljesítménynövekedés nem feltétlenül valósul meg az adott játékban.
- Glxgears – a glixinfo csomag része
- GlxSpehere – a virtualgl csomag része
GpuTest
A GpuTest egy többplatformos (Windows, Linux és Max OS X) GPU stresszteszt és OpenGL benchmark. A GpuTest számos GPU-tesztet tartalmaz, köztük néhány népszerű Windows-tesztet (FurMark vagy TessMark).
intel-gpu-tools
Az intel-gpu-tools néhány kiváló információt nyújt az integrált GPU-ról. Ez nagyon hasznos lehet a GPU-gyorsítási problémák diagnosztizálásában.
MangoHud
A MangoHud egy Vulkan és OpenGL átfedés a rendszer teljesítményének az alkalmazásokon belüli nyomon követésére és a mérőszámok rögzítésére a teljesítményértékeléshez
Unigine motor
Unigine corp. számos modern OpenGL benchmarkot készített a grafikus motorja alapján, olyan funkciókkal, mint:
- Pixelenkénti dinamikus világítás
- Normál és parallaxis okklúziós térképezés
- 64 bites HDR renderelés
- Volumetrikus köd és fény
- Erőteljes részecskerendszerek: tűz, füst, robbanások
- Bővíthető árnyékolókészlet (GLSL / HLSL)
- Utófeldolgozás: mélységélesség, fénytörés, ragyogás, elmosódás, színkorrekció és még sok más.
A Unigine benchmarkokat a közelmúltban azok is használják, akik túlhúzni akarják rendszereiket. A mennyországot különösen az overclockok kezdeti stabilitásának tesztelésére használták.
vkmark
A vkmark egy bővíthető Vulkan benchmarking csomag célzott, konfigurálható jelenetekkel.
Paranccsoros eszközök
További, de olvasásra szoruló részletekért kattints ide ...
Rendszerindítás
systemd-analyze a Systemd csomag része. Segítségével grafikus módon jeleníthetjuk meg az indítási szakaszokat és azok időtartamát. Kiszűrhető a lassú, vagy hibás folyamat…
0 1 2 | systemd-analyze plot > boot.svg |
7z
A 7z benchmark parancs használható a CPU-sebesség mérésére MIPS-ben, valamint a RAM hibaellenőrzésére is. Csak telepítse a p7zip-et , és futtassa az alábbi parancsot
0 1 2 | 7z b |
time
A time parancs időzítési statisztikát biztosít a futtatott parancsról azáltal, hogy megjeleníti a meghívás és a befejezés között eltelt időt.
0 1 2 | time tar -zxvf archívum.tar.gz |
Bonnie++
Egy ingyenes szoftveres fájlrendszer-benchmarking eszköz Unix-szerű operációs rendszerekhez , amelyet Russell Coker fejlesztett ki. A Bonnie++ egy benchmark programcsomag, amely számos egyszerű merevlemez- és fájlrendszer-teljesítmény-teszt elvégzésére szolgál.
dd
A segédprogramja az olvasási és írási sebesség mérésére is lehetőséget kínál. A dd parancs benchmarking használatának az az előnye, hogy egyszerűen használható a könnyen értelmezhető eredménykimenettel . A hátránya azonban, hogy csak a szekvenciális olvasási és írási sebességet tudja mérni, és nem támogatja a véletlen hozzáférésű mérőszámokat.
A dd segédprogram a coreutils csomag része , ezért alapértelmezés szerint elérhető. A használatához az alábbi példák nyújtanak segítséget:
Szekvenciális írási sebesség tesztelése
Az írási sebesség teszteléséhez futtathatjuk a dd parancsot, és a bemeneti fájlt a /dev/zero értékre állíthatjuk . Ezután a /dev/zero fájlból a /tmp/tempfile- ba írjuk a nullák folyamát :
0 1 2 3 4 5 6 | dd if=/dev/zero of=/tmp/tempfile bs=1M count=1024 conv=fdatasync 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.42868 s, 442 MB/s Másolat |
A teszthez a blokkméretet 1 megabájtra állítottuk, és 1024 ilyen blokkszámot fogunk írni. Ezenkívül átadjuk a conv=fdatasync
paramétereket a parancsnak, hogy biztosítsuk, hogy a lemez fizikailag kerüljön a lemezre, nem pedig a pufferbe a befejezéskor .
Szekvenciális olvasási sebesség tesztelése
Ugyanazt a fájlt használva, amelyet az írási sebesség tesztelésekor írtunk, tesztelhetjük a szekvenciális olvasási sebességet is. Azonban először ki kell törölnünk a puffer-gyorsítótárat :
0 1 2 | echo 3 > /proc/sys/vm/drop_caches |
A puffer törlése biztosítja, hogy a későbbiekben elvégzendő olvasási teszt a fájlt olvassa be a lemezről, nem pedig a puffert .
Miután kiürítettük a puffer gyorsítótárat, ismét lefuttathatjuk az olvasási sebesség tesztjét a dd paranccsal. A szekvenciális olvasási sebesség teszthez a /tmp/tempfile fájlból olvasunk, és a /dev/null pszeudoeszközfájlba írjuk :
0 1 2 3 4 5 | dd if=/tmp/tempfile of=/dev/null bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.68137 s, 639 MB/s |
Szórakoztató mellékkísérletként most újrafuttathatjuk az előző parancsot, és megfigyelhetjük a puffer-gyorsítótár olvasási sebességét:
0 1 2 3 4 5 | dd if=/tmp/tempfile of=/dev/null bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.146467 s, 7.3 GB/s |
Amint látjuk, ugyanezen parancs ezt követő futtatása lényegesen gyorsabb olvasási sebességet produkál, 7,3 gigabájt/másodperc sebességgel. Ennek az az oka, hogy az első futtatás után a fájl tartalma gyorsítótárban van a memóriában. Ezért a dd parancsjelentés olvasási sebessége valójában a memóriából, és nem a lemezről történő olvasási sebesség.
Az alapértelmezés szerint elérhető, könnyen használható felület ellenére a véletlenszerű olvasási-írási benchmarking hiánya a dd parancsban súlyosan korlátozza azt . Nézzünk egy másik eszközt, amellyel a véletlenszerű olvasási-írási sebességet tesztelhetjük.
Iozone3
Az iozone egy nagyszerű eszköz, amely a lemez teljesítményét számos szempont alapján méri, különféle fájlműveletek formájában . Például az iozone segítségével mérhetjük a lemez teljesítményét olyan fájlműveleteknél, mint a szekvenciális olvasás-írás, véletlenszerű olvasás-írás, újraolvasás és újraírás, gyors olvasás és még sok más. Az izone parancs támogatja ezeket a különböző fájlműveleteket az -i kapcsoló használatával.
Telepítés
A program beszerzéséhez telepíthetjük az iozone3 csomagot a csomagkezelőnkkel :
0 1 2 | telepites iozone3 |
Ezután ellenőrizhetjük a telepítést a verziójának ellenőrzésével a -v kapcsolóval:
0 1 2 3 4 5 6 | iozone -v 'Iozone' Filesystem Benchmark Program Version $Revision: 3.489 $ Compiled for 64 bit mode. |
Teljesítmény véletlenszerű olvasás és írás esetén
Véletlenszerű olvasási és írási tesztek futtatásához átadhatjuk az -i2 kapcsolót az izone parancsnak :
0 1 2 | iozone -t1 -i0 -i2 -r1k -s1g /tmp |
Az – i2 opciójelző mellett a teszteket különböző opciójelzők használatával is konfiguráltuk. Először is, a -t1 opció egyre állítja a teszt végrehajtáshoz szükséges szálak számát. Ezután megadjuk az -i0 értéket , hogy az iozone létrehozza a tesztfájlt egy teszthez. Ezenkívül az -r1k és az -s1g úgy konfigurálja a tesztet, hogy 1 kilobyte-os blokkméretet használjon 1GB összmérettel. Végül a teszt elérési útját a /tmp értékre állítjuk .
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | iozone -t1 -i0 -i2 -r1k -s1g /tmp Iozone: Performance Test of File I/O ... Run began: Sat Aug 12 05:44:31 2023 ... Children see throughput for 1 random readers = 639369.00 kB/sec Parent sees throughput for 1 random readers = 632538.79 kB/sec Min throughput per process = 639369.00 kB/sec Max throughput per process = 639369.00 kB/sec Avg throughput per process = 639369.00 kB/sec Min xfer = 1048576.00 kB Children see throughput for 1 random writers = 19674.84 kB/sec Parent sees throughput for 1 random writers = 15381.51 kB/sec Min throughput per process = 19674.84 kB/sec Max throughput per process = 19674.84 kB/sec Avg throughput per process = 19674.84 kB/sec Min xfer = 1048576.00 kBzése |
A kimenetből négy különböző szakaszt kapunk az eredményekből. Minden rész az általunk futtatott különböző tesztek részleteit mutatja be. Az első két rész a szekvenciális írási és újraírási sebességet mutatja . Ennek az az oka, hogy átadtuk az -i0 kapcsolót, hogy először tesztfájlt hozzunk létre a véletlenszerű olvasási-írási kísérletünkhöz.
Ezután láthatjuk a véletlenszerű olvasási sebesség szakaszt a „random readers” sorral. Az átviteli sebességből azt látjuk, hogy a véletlenszerű olvasás sebessége a lemezen nagyjából 639 megabájt másodpercenként. Ez nagyon közel áll a szekvenciális olvasási teljesítményhez, amint azt a dd paranccsal mértük . Ennek a megfigyelésnek az az oka, hogy az SSD nem szenved ugyanazt a problémát, mint a forgó HDD, ha véletlenszerű olvasásról van szó .
A negyedik szakasz a „random writers” sorral a véletlenszerű írási sebességet mutatja a lemezen . Láthatjuk, hogy a véletlenszerű írás rosszabbul megy, mint a szekvenciális írás ugyanazon a meghajtón. Mert SSD-n az írás mindig a teljes oldalfrissítésbe kerül, függetlenül attól, hogy hány bájtot írunk le kérésenként. Ezért a véletlenszerű írás kisebb átviteli sebességgel rendelkezik, mint a szekvenciális írás, még SSD-n is.
Továbbá mindegyik eredménynél azt is láthatjuk, hogy a méréseknek van min, max és átlagos áteresztőképessége. Ezek a statisztikák csak akkor relevánsak, ha a tesztet több szálon futtatjuk. Mivel csak egyetlen szálat használunk, a statisztikák ugyanazt az értéket mutatják, mivel csak egyetlen adatpont van.
hdparm
Az adathordozókat a hdparm segítségével lehet összehasonlítani . A hdparm használatával a
kapcsolóval időzíthető szekvenciális olvasás-Tt
0 1 2 3 4 5 | hdparm -Tt /dev/sdX /dev/sdX: Timing cached reads: x MB in y seconds = z MB/sec Timing buffered disk reads: x MB in y seconds = z MB/sec |
Megjegyzés: 2-3 alkalommal futtassuk, és manuálisan átlagoljuk az eredményeket a sebesség pontos kiértékeléséhez
peakperf
Egy mikrobenchmark, amely csúcsteljesítményt ér el x86_64 CPU-kon. Egyes problémák csökkenthetik a CPU teljesítményét, például a CPU hűtése. A peakperf segítségével ellenőrizheti, hogy a CPU biztosítja-e azt a teljes teljesítményt, amelyre képes.
Kiszámolhatja azt a teljesítményt (GFLOP/s-ban mérve), amelyet a CPU használatával elérnie kell (lásd [2] ), és összehasonlíthatja azzal a teljesítménnyel, amelyet a peakperf nyújt Önnek. Ha mindkét érték azonos (vagy nagyon hasonló), a CPU úgy viselkedik, ahogy kell.
Megjegyzés: Annak ellenére, hogy a peakperf célja a CPU tesztelése, nagyszerű módja a hűtés tesztelésének is, mivel a végletekig lefojtja a CPU-t.
cryptsetup
A cryptsetup benchmark segítségével különféle kriptográfiai algoritmusok (rejtjelek) sebességét mérhetjük.
0 1 2 | cryptsetup benchmark |
sysbench
Egy sokoldalú, többszálas benchmark eszköz. C és Perl nyelven írva, CLI-ben közvetlenül használható a fájlrendszer, a DRAM, a CPU, a szál alapú ütemező és a POSIX mutex teljesítmény összehasonlítására. Vagy Lua szkript értelmezőként is használható bármilyen tetszőlegesen összetett munkaterhelés összehasonlítására. Szkriptek gyűjteményét biztosítja adatbázis-benchmarkokhoz.
Hozzászólások lezárva