Zum Inhalt springen
Alle Beiträge
Technik

KVM Xeon 03 selbst benchmarken: CPU, NVMe und Webserver messen

Mit Sysbench, FIO und einem HTTP-Lasttest prüfst du in 15 Minuten, was dein KVM Xeon 03 (4 vCores, 24 GB DDR5, 150 GB NVMe) wirklich leistet. Schritt für Schritt.

6 Min. Lesezeit

Datenblätter sind das eine, echte Messwerte das andere. Gerade bei virtuellen Servern lohnt es sich, nach der Bereitstellung kurz nachzumessen: So hast du einen Ausgangswert, mit dem du später vergleichen kannst, wenn sich etwas langsamer anfühlt. Wir zeigen das am Beispiel unseres KVM Xeon 03 mit 4 vCores (Intel Xeon), 24 GB DDR5-RAM und 150 GB NVMe-Speicher. Die Befehle funktionieren auf jedem KVM-Server mit Debian oder Ubuntu.

Vorbereitung

Teste am besten auf einem frisch installierten Server, auf dem noch nichts anderes läuft. Andere Dienste verfälschen sonst die Ergebnisse. Installiere die drei Werkzeuge:

Debian / Ubuntu
sudo apt update
sudo apt install -y sysbench fio nginx wrk

1. CPU mit Sysbench

Sysbench berechnet Primzahlen und zählt, wie viele Durchläufe pro Sekunde (events per second) es schafft. Mess einmal mit einem Kern und einmal mit allen vier: Der Unterschied zeigt, wie gut die Leistung mit mehreren vCores skaliert.

CPU-Test
sysbench cpu --cpu-max-prime=20000 --threads=1 --time=30 run
sysbench cpu --cpu-max-prime=20000 --threads=4 --time=30 run

2. Arbeitsspeicher mit Sysbench

RAM-Durchsatz
sysbench memory --memory-block-size=1M --memory-total-size=20G --threads=4 run

Wichtig ist hier der Wert in MiB/sec am Ende der Ausgabe. Er zeigt, wie schnell Daten im Arbeitsspeicher bewegt werden.

3. NVMe-Speicher mit FIO

Für Datenbanken und viele kleine Dateien zählen zufällige Zugriffe mit kleinen Blöcken (IOPS), für Backups und große Dateien der sequenzielle Durchsatz (MB/s). FIO misst beides. Die Testdatei wird danach wieder gelöscht.

Zufällige Zugriffe (4K, gemischt lesen/schreiben)
fio --name=randrw --filename=/root/fio.test --size=4G --direct=1 \
    --ioengine=libaio --rw=randrw --rwmixread=70 --bs=4k \
    --iodepth=64 --numjobs=4 --time_based --runtime=60 --group_reporting
Sequenzielles Lesen (1M-Blöcke)
fio --name=seqread --filename=/root/fio.test --size=4G --direct=1 \
    --ioengine=libaio --rw=read --bs=1M --iodepth=16 \
    --time_based --runtime=30 --group_reporting
rm /root/fio.test

4. Webserver mit wrk

Zum Schluss ein praxisnaher Test: Wie viele Anfragen pro Sekunde liefert nginx mit einer statischen Seite aus? wrk erzeugt die Last direkt auf dem Server. So misst du den Server selbst und nicht deine Internetleitung.

HTTP-Lasttest
wrk -t4 -c200 -d30s http://127.0.0.1/

Achte in der Ausgabe auf Requests/sec und auf die Latenz. Steigt die Latenz stark an, während die Anfragen pro Sekunde nicht mehr wachsen, ist die Grenze erreicht.

Ergebnisse richtig lesen

  • Führe jeden Test zwei- bis dreimal aus und nimm den Mittelwert. Einzelne Ausreißer sind normal.
  • Vergleiche nur Werte mit denselben Parametern. Schon eine andere Blockgröße bei FIO ergibt ganz andere Zahlen.
  • Notiere dir die Werte direkt nach der Bereitstellung. Wenn sich dein Server später langsamer anfühlt, hast du eine Vergleichsbasis.
  • Weichen deine Werte deutlich von früheren Messungen ab, schick uns die Ausgabe über ein Support-Ticket. Mit konkreten Zahlen können wir viel schneller helfen.

Weitere Beiträge

Fragen zu diesem Beitrag? Schreib dem Support.