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
Linux Test Project 🇬🇧 |
Phoronix Test Suite¶
Dies ist vermutlich der Benchmark, der diejenigen interessieren wird, die nicht in der Hard- oder Software-Entwicklung tätig sind, sondern ihren Rechner ausschließlich mit denen anderer vergleichen möchten. Die Test Suite kann ebenfalls direkt aus den offiziellen Paketquellen installiert werden. Siehe Phoronix Test Suite.
Xfbsuite¶
Xfbsuite 🇬🇧 ist eine Zusammenstellung folgender Kommandozeilen-Programmen:
nbench (CPU)
stream 🇬🇧 (RAM)
cachebench 🇬🇧 (L1/L2 CPU-Cache)
Perl HDD Benchmark (Festplatte)
bonnie++ (Dateisystem)
X11perf (X11 2D-Performance)
und dient gleichzeitig als Frontend. Die jeweiligen Einzelprogramme sind bereits enthalten.
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.
LuxMark¶
LuxMark 🇬🇧 ist einer der bekanntesten OpenCL-Benchmarks für Grafikkarten und ermittelt anhand des Renderns verschiedener Grafiken eine Punktzahl, welche die Leistung abbildet.
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 |
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 eine CPU voll ausgelastet wird, muss hier ein etwas anderer Weg gegangen werden, um alle Prozessoren 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! Warum das so ist, siehe 3D-Beschleunigung testen.
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