In unseren Beiträgen verwenden wir für den Vergleich verschiedene Benchmarks. Die Benchmarks erlauben eine Bewertung unterschiedlicher Faktoren wie Geschwindigkeit der CPU, RAM, SD-Karte oder Netzwerk. Hier erfährst du, wie du deinen Raspberry Pi selbst messen und vergleichen kannst.
Übersicht der Benchmarks
Einen ersten Überblick über die Leistung des Raspberry Pi gibt uns der Test sysbench. Diese ist in den offiziellen Repositories verfügbar und kann CPU und RAM gut lesen und schnell ermitteln.
Die Geschwindigkeiten im sequentiellen Lesen und Schreiben ermitteln wir mit dem Werkzeug dd. Es muss nicht installiert werden, weil es Bestandteil des Systems ist.
Mit Unixbench setzen wir einen Benchmark für unixartige Systeme ein. Dieser ermittelt nicht die Geschwindigkeiten von CPU oder RAM, sondern des Systems – inkl. Betriebssystem, Bibliotheken und Compiler.
Das Tool iPerf erlaubt die Messung von Netzwerkverbindungen und damit die Anbindung des Raspberry Pi.
Den Stromverbrauch messen wir mit einem Energiekostenmessgerät. Wir lesen den Wert nach dem Hochfahren und ruhigen Betrieb ab, und unter voller Last.
Die CPU Temperatur lesen wir nach dem gleichen Schema ab – unter Last und ohne Last. Wie das funktioniert erfährst du in Raspberry Pi: CPU-Temperatur auslesen.
Sysbench – CPU und RAM
Sysbench kann durch Suche der Primezahlen oder Schreiben in den RAM die Geschwindigkeit zwei wesentlicher Komponenten des Raspberry Pi ermitteln. Um Sysbench zu installieren und auszuführen, gehe wie folgt vor.
sudo apt-get install sysbench
CPU Benchmark auf einem Kern und mehreren Kernen durch Erhöhung der Anzahl Threads
sysbench --num-threads=1 --test=cpu --cpu-max-prime=10000 run sysbench --num-threads=4 --test=cpu --cpu-max-prime=10000 run
Die Geschwindigkeit des RAM beim Schreiben können wir mit diesem Befehl ermitteln. Dabei werden 10 GB in den Speicher je 10 MB pro Block geschrieben. Auch diese Ausführung verteilen wir auf 4 Threads.
sysbench --num-threads=4 --test=memory --memory-block-size=1M --memory-total-size=10G run
dd – das sequentielle Lesen und Schreiben
Mit dem Kommando dd können wir blockorientiert Dateien kopieren bzw. Lesen. So kann die Geschwindigkeit im sequenzielle Lesen und Schreiben ermittelt werden (durch Relation zur Laufzeit).
Schreiben
dd if=/dev/zero of=./test.file bs=1M count=1000 oflag=direct
Lesen
dd if=./test.file of=/dev/null bs=1M count=1000
Quelle: https://www.webhosterwissen.de/know-how/server/server-benchmark/
Unixbench – das System
Das Tool Unixbench ermittelt eine Vielzahl von Werten zur Geschwindigkeit des gesamten Systems. Es werden dabei nicht ausschließlich einzelne Komponenten gemessen. Für die Vorbereitung und Installation gehe wie folgt vor.
sudo apt-get update sudo apt-get install gcc libgl1-mesa-dev libxext-dev perl perl-modules make unzip wget https://github.com/kdlucas/byte-unixbench/archive/master.zip unzip master.zip cd byte-unixbench-master/UnixBench/
Der Benchmark kann mit ./Run
gestartet werden und dauert je nach System ca. eine halbe Stunde.
./Run
Quelle: https://goneuland.de/debian-unixbench-installieren/
iPerf – die Netzwerkverbindung
Mit der Client-Server-Anwendung iPerf kann die theoretische Netzwerkanbindung zwischen zwei Geräten ermittelt werden. Die Verbindung kann dabei immer nur so gut sein wie das schwächste Glied. Um den Test auszuführen, muss die Anwendung auf zwei Systemen heruntergeladen und gestartet werden.
sudo apt-get install iperf3
Anschließend muss auf dem Server
iperf3 -s
ausgeführt werden. Auf dem Client müsst ihr nun, nachdem der Server gestartet wurde, die Zieladresse des Servers mit angeben.
iperf -c 192.168.178.3
Auch für Windows könnt ihr euch iperf3 herunterladen und über die Kommandozeile ausführen.
Quelle: http://www.nwlab.net/art/iperf/
Stromverbrauch und Temperatur
Den Stromverbrauch und die Temperatur können im Ruhezustand einfach ausgelesen werden. Welche Werkzeuge dazu nötig sind stehen oben in der Übersicht der Benchmarks.
sudo apt-get install stress
Um Last zu erzeugen nutzen wir einen Stresstest. Den Takt der CPU und die Temperatur können gleichzeitig über eine Schleife ausgegeben werden.
while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& stress -c 4 -t 900s
Quelle: https://core-electronics.com.au/tutorials/stress-testing-your-raspberry-pi.html