ubuntuusers.de

Benchmarks

Wiki/Icons/blackbox.png 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

./tuxbench.png
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++

bonnie++ wird in einem eigenen Artikel behandelt.

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.

./stress-ng_logo.png

Diese Revision wurde am 24. Mai 2023 11:38 von caldir65 erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Übersicht, Benchmark, Hardware, System