Benchmarks
Immer wieder gesucht werden Programme, die die Leistungsfähigkeit einzelner Komponenten oder die Gesamtleistung eines Rechners messen: Benchmarks. Dementsprechend werden zwei Kategorien unterschieden: Mikro-Benchmarks und Makro-Benchmarks. Während erstere für sehr spezielle Aufgabenstellungen genutzt werden, orientieren sich Makro-Benchmarks eher am realen Verhalten eines Systems (auch wenn Testergebnisse u.U. nach einzelnen Komponenten gegliedert sind).
Diese Seite soll eine Übersicht der unter Linux verfügbaren Programme liefern. Im Abschnitt Links finden sich weitere Quellen.
Makro-Benchmarks¶
HardInfo¶
Eigentlich eine Übersicht der verbauten Hardware-Komponenten, enthält das Programm auch ein paar Leistungstests für den Prozessor. Unter Lubuntu ist es bereits vorinstalliert, ansonsten kann es aus den offiziellen Paketquellen installiert werden. Siehe HardInfo
Phoronix Text Suite¶
Die Phoronix Test Suite stellt eine breite Palette an Benchmarks bereit. Homepage: https://phoronix-test-suite.com
Linux Test Project¶
Linux Test Project 🇬🇧 |
Installation¶
Folgende Pakete sowie die Kernel-Headers müssen installiert sein:
make
git
m4
automake
autoconf
build-essential
libaio-dev
libattr1-dev
libcap-dev
autotools-dev
linux-headers-generic
pkg-config
Befehl zum Installieren der Pakete:
sudo apt-get install make git m4 automake autoconf build-essential libaio-dev libattr1-dev libcap-dev autotools-dev linux-headers-generic pkg-config
Oder mit apturl installieren, Link: apt://make,git,m4,automake,autoconf,build-essential,libaio-dev,libattr1-dev,libcap-dev,autotools-dev,linux-headers-generic,pkg-config
Danach kann der Code von GitHub geklont werden.
git clone https://github.com/linux-test-project/ltp.git
Hinweis!
Fremdsoftware kann das System gefährden.
Dann kann das Programm kompiliert und installiert werden:
cd ltp make autotools sudo ./configure sudo make sudo make install
Start¶
Das Programm benötigt zum Starten root-Rechte.
sudo /opt/ltp/runltp
Xfbsuite¶
Xfbsuite 🇬🇧 ist eine Zusammenstellung folgender Kommandozeilen-Programmen:
Installation¶
git
mono-runtime
Befehl zum Installieren der Pakete:
sudo apt-get install git mono-runtime
Oder mit apturl installieren, Link: apt://git,mono-runtime
Man klont das Programm.
git clone https://github.com/petabridge/NBench.git
und dient gleichzeitig als Frontend. Die jeweiligen Einzelprogramme sind bereits enthalten.
Installation¶
Man lädt das Archiv von Sourceforge ⮷ herunter und entpackt dies. Danach muss die install.sh mit root-Rechten ausgeführt werden:
sudo bash ./install.sh
Hinweis!
Fremdsoftware kann das System gefährden.
Bonnie++¶
x11perf¶
x11perf testet die Geschwindigkeit des XServers.
Installation¶
Folgendes Paket muss installiert sein:
x11-apps
Befehl zum Installieren der Pakete:
sudo apt-get install x11-apps
Oder mit apturl installieren, Link: apt://x11-apps
Nutzung¶
Eine Übersicht der vorhandenen Tests findet sich in der Manpage
weitere Programme¶
stream 🇬🇧 (RAM)
cachebench 🇬🇧 (L1/L2 CPU-Cache)
Perl HDD Benchmark (Festplatte)
X11perf (X11 2D-Performance)
nbench (CPU)
Unigine¶
Die Benchmarks Unigine des Herstellers Unigine Corp. sind auf Grafikkarten spezialisiert. Somit erfährt man, ob der Computer den Anforderungen für aktuelle Spieletitel gerecht wird.
LuxCoreRender¶
LuxCoreRender ist eine freie physikbasierte Renderengine zum Erstellen fotorealistischer Bilder.
Installation¶
Man lädt von https://luxcorerender.org/download/ ⮷ entweder die Variante mit oder ohne OpenCL-Unterstützung herunter.
LuxMark¶
LuxMark 🇬🇧 ist einer der bekanntesten OpenCL-Benchmarks für Grafikkarten und ermittelt anhand des Renderns verschiedener Grafiken eine Punktzahl, welche die Leistung abbildet. Luxmark basiert auf LuxCoreRender.
Installation¶
Man lädt von der Projektseite das Archiv herunter und entpackt es.
Hinweis!
Fremdsoftware kann das System gefährden.
Mikro-Benchmarks¶
Nachfolgend eine Übersicht spezieller Benchmarks, die sich meistens nur auf einen bestimmten Aspekt beziehen. Die Ausgabe erfolgt in der Regel auf der Kommandozeile, da fast alle der hier genannten Programme auf eine grafische Oberfläche verzichten. Unter System wurden Benchmarks einsortiert, die die Prozessor-Leistung und/oder die Performance des Betriebssystems messen.
Mikro-Benchmarks | ||||||
Name | System | Dateisystem | Netzwerk | Ubuntu-Paket | Projektseite | Anmerkung |
bonnie++ | Nein | Ja | Nein | bonnie (universe) | bonnie++ 🇬🇧 | für Massenspeicher |
cpuburn | Ja | Nein | Nein | cpuburn (universe) | cpuburn 🇬🇧 | Prozessor-Dauertest |
dbench | Nein | Nein | Ja | dbench (universe) | DBENCH 🇬🇧 | Dateioperationen im Samba-Netzwerk |
iozone | Nein | Ja | Nein | iozone3 (universe) | IOzone Filesystem Benchmark 🇬🇧 | |
iperf | Nein | Nein | Ja | iperf (universe) | iperf 🇬🇧 | Geschwindigkeit zwischen zwei Rechnern. Alternative: nttcp |
lbench | Ja | Nein | Nein | (Fremdpaket) | Lbench 🇬🇧 | Einfacher Multithread-Benchmark mit GUI |
lmbench | Ja | Ja | Ja | lmbench (multiverse) | LMbench 🇬🇧 | |
namebench | Nein | Nein | Ja | namebench (universe) | namebench 🇬🇧 | DNS Benchmark |
nbench | Ja | Nein | Nein | - | nbench 🇬🇧 | |
netperf | Nein | Nein | Ja | netperf (multiverse) | Netperf 🇬🇧 | TCP und UDP via BSD Sockets (IPv4 und IPv6) |
nttcp | Nein | Nein | Ja | nttcp (multiverse) | ttcp/nttcp/nuttcp 🇬🇧 | siehe auch iperf |
pipebench | Ja | Nein | Nein | pipebench (universe) | pipebench 🇬🇧 | Geschwindigkeitstest für stdin/stdout |
renderbench | Ja | Nein | Nein | render-bench (universe) | - | Kombinationstest für Prozessor und Grafikkarte |
Siege | Nein | Nein | Ja | siege | Siege 🇬🇧 | Leistungs- und Regressionstest für HTTP/HTTPS |
stress | Ja | Ja | Nein | stress (universe) | stress 🇬🇧 | Lastgenerator für die Kommandozeile |
sysbench | Ja | Ja | Ja | sysbench (universe) | sysbench 🇬🇧 | faktisch ein Datenbank-Benchmark für MySQL |
sysstat | Ja | Ja | Ja | sysstat (universe) | Sysstat 🇬🇧 | Umfangreiche Test- und Monitoring-Suite |
tiobench | Nein | Ja | Nein | tiobench (universe) | tiobench 🇬🇧 | fully-threaded I/O Benchmark |
vmstat | Ja | Ja | Nein | procps | procps 🇬🇧 | erste Analyse von Engpässen |
cpuburn¶
cpuburn 🇬🇧 ist ein Benchmark für den Prozessor.
Installation¶
Ubuntu 16.04¶
Unter Ubuntu 16.04 ist das Paket cpuburn in den Paketquellen enthalten. Es kann mit
cpuburn
Befehl zum Installieren der Pakete:
sudo apt-get install cpuburn
Oder mit apturl installieren, Link: apt://cpuburn
installiert werden.
Ubuntu 18.04 und neuer¶
Unter 18.04 ist das Paket cpuburn nicht mehr in den Ubuntu-Paketquellen vorhanden. Man lädt von der Website 🇬🇧 ⮷ das passende Archiv für die eigene Architektur und entpackt dieses.
Hinweis!
Fremdsoftware kann das System gefährden.
Nutzung¶
cpuburn kann mit
cpuburn
gestartet werden. Hat man die manuelle Installation ohne Paketquellen durchgeführt, so lautet der befehl
./cpuburn
Diese muss im Verzeichnis des entpackten Archivs ausgeführt werden.
Ohne zusätzliche Optionen werden alle Kerne ausgelastet, möchte man nur eine bestimmte Anzahl auslasten, so kann man die mit folgendem Befehl tun (Im Beispiel werden 2 Kerne ausgelastet):
./cpuburn -n 2
Zusätzlich kann man sich die Laufzeit anzeigen lassen. Dies geht mit
./cpuburn -u 2
In diesem Fall wird die Zeit alle 2 Sekunden aktualisiert.
Sonstiges¶
OpenSSL¶
Um ein System auf die Schnelle unter Last zu setzen (konkret den Prozessor), kann man einfach folgenden Befehl nutzen:
openssl speed
Der Test wird nach Durchlauf automatisch beendet, kann ansonsten aber jederzeit mit Strg + C abgebrochen werden.
Da bei Mehrkern-Prozessoren nur ein Kern voll ausgelastet wird, muss hier ein etwas anderer Weg gegangen werden, um alle Kerne eines Mehrkernsystem auszulasten bzw. diesen Test vorzeitig beenden zu können. Hier bietet sich der Einsatz von taskset an, mit dessen Hilfe ein Prozess gezielt einer CPU zugewiesen werden kann.
Die folgenden Befehle starten den Openssl-Test für eine Doppelkern-CPU:
sudo taskset -c 1 openssl speed & sudo taskset -c 2 openssl speed &
Über die beiden PIDs, die beim Start der Prozesse zurück gegeben werden, können bei Prozesse mit kill wieder gestoppt werden.
Um das Verhalten des Systems während des Testlaufs von openssl zu beobachten, öffnet man sich zwei weitere Terminalfenster und verwendet dort folgende Befehle (siehe watch):
Temperaturüberwachung:
watch -n 2 acpi -V
Prozessortakt:
watch -n 5 cpufreq-info
Da die Pakete acpi und cpufrequtils nicht vorinstalliert sind, müssen diese nachinstalliert werden:
acpi (universe)
cpufrequtils (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install acpi cpufrequtils
Oder mit apturl installieren, Link: apt://acpi,cpufrequtils
GLXgears¶
Um es nochmal in aller Deutlichkeit zu erwähnen: GLXgears ist kein Benchmark! Die FPS hängen von der horizontalen Synchronisation des Monitors ab. Hat man beispielsweise einen Röhrenmonitor mit 120 Hz wird ein Wert nahe 120Hz angezeigt, hat der Monitor aber nur 60 Hz liegt der Wert bei 60 Hz bei gleicher Grafikkarte.
bc¶
Als einfacher Benchmark kann die Dauer einer aufwändigen Rechenoperation mit dem Taschenrechner-Programm bc gemessen werden, z.B. die Berechnung der ersten fünftausend Nachkommastellen der Kreiszahl Pi:
time echo "scale=5000; 4*a(1)" | bc -l
Mit dem vorangestellten time-Befehl wird die Ausführungszeit des nachfolgenden Befehls gemessen. Mit echo werden zwei durch Semikolon getrennte Anweisungen per Pipe-Operator an bc
übergeben: Zuerst wird die Anzahl der zu berechnenden Nachkommastellen auf 5000
gesetzt und dann der vierfache Wert der Arkustangens-Funktion für den Wert 1
berechnet, was dem Wert von Pi entspricht. Das Programm bc
selbst wird mit der Option -l
aufgerufen, um eine Bibliothek mit mathematischen Funktionen (u.a. der Arkustanges-Funktion a()
) zu laden.
Der Vorteil dieser Methode ist es, dass bc
auf den meisten Linux-Systemen vorinstalliert ist, und die Befehle time
und echo
in der Shell eingebaut sind. Außerdem kann die Laufzeit dieses Benchmarks durch die Wahl der Anzahl der Nachkommastellen gesteuert werden.
Links¶
Linux Benchmark Suite 🇬🇧 - Übersicht diverser Benchmarks
stress-ng 🇬🇧 - Kommandozeilenwerkzeug
stresslinux 🇬🇧 - eigene Distribution
Stress Test 🇬🇧 - Arch Wiki
weitere Prozessor-Tests:
prime95 🇬🇧
CPU Burn-in 🇬🇧 - plattformübergreifendes Testprogramm
Festplatten-Geschwindigkeitstest Übersichtsartikel