SSD Nodes Learn 🎉 VPS ab $5.50/Monat
Anleitungen Matt ConnorVon Matt Connor

Günstiges VPS-Angebot richtig prüfen

Prüfen Sie vCPU-Overselling, Fair-Use-Klauseln, NVMe-Versprechen und Verlängerungspreise. Ein 30-Minuten-Abnahmetest zeigt, ob das VPS-Angebot hält, was es verspricht.

Was ein günstiges VPS-Angebot nicht nennt

Lesen Sie ein günstiges VPS-Angebot rückwärts, denn der Preis ist die am wenigsten aussagekräftige Zahl auf der Seite. Ob der Server tatsächlich geeignet ist, entscheidet der Teil, den das Angebot nicht ausweist: das Overselling-Verhältnis hinter der vCPU-Anzahl, die Fair-Use-Klausel hinter dem Wort „unlimited“, der Verlängerungspreis nach der ersten Laufzeit sowie die Frage, ob Backups und die IPv4-Adresse zusätzlich berechnet werden. Dieser Leitfaden geht ein Angebot Zeile für Zeile durch und enthält anschließend einen Abnahmetest, den Sie auf dem Server ausführen können, solange Sie noch eine Rückerstattung verlangen können.

Das bedeutet nicht, dass ein niedriger Preis grundsätzlich ein Täuschungsversuch ist. Ältere Hardware, eine höhere Packungsdichte, Self-Service-Support und eine geringere Redundanz der Plattform machen einen niedrigen Preis überhaupt erst möglich. Sie müssen wissen, welchen Kompromiss Sie akzeptiert haben, bevor Ihre Benutzer ihn für Sie feststellen. Alle folgenden Schritte laufen unter Ubuntu 24.04 mit den im August 2026 verfügbaren Paketen.

Eine vCPU ist kein Kern

Eine vCPU ist ein Scheduling-Steckplatz und kein Stück Silizium. Unter KVM (kernel-based virtual machine) ist jede vCPU ein Thread auf dem Host. Der Host-Scheduler legt diesen Thread an die Reihe, um ihn auf einem physischen Kern auszuführen. Ein Host kann vier vCPUs auf einen physischen Kern verkaufen. Jeder Gast meldet in nproc trotzdem seine vollständige Anzahl. Die Zahl im Angebot ist eine Obergrenze für das, was Sie anfordern dürfen. Sie sagt nichts darüber aus, was für Sie reserviert ist.

Das Overselling-Verhältnis gibt an, wie viele vCPUs ein Host pro physischem Kern verkauft. Bei 1:1 gehört der Kern ausschließlich Ihnen. Günstige Tarife liegen höher. Das Verhältnis wird fast nie veröffentlicht. Betrachten Sie daher jedes Angebot ohne den Hinweis "dedicated core" oder "dedicated vCPU" als gemeinsam genutzt. Shared-Ressourcen reichen für die meisten Aufgaben aus, weil die meisten Server die meiste Zeit unausgelastet sind. Das funktioniert nicht mehr, wenn Ihre Hauptauslastungszeit mit der Hauptauslastungszeit aller anderen zusammenfällt.

Sie können die Auswirkungen innerhalb des Gasts messen. Wenn Ihre vCPU ausführungsbereit ist und der Host den physischen Kern einem anderen Gast zuweist, wird diese Wartezeit als Steal Time erfasst: als Spalte st in vmstat und %st in top. Steal Time zeigt in Ihren eigenen Metriken einen lauten Nachbarn, und sie ist die nützlichste Zahl in diesem Leitfaden, weil ein Angebot sie nicht verfälschen kann.

Ein dedizierter Kern wird trotzdem auf andere Weise gemeinsam genutzt. Die Speicherbandbreite, der Last-Level-Cache und der Storage-Pfad gehören zum gesamten Host. "Dedicated vCPU" beseitigt die größte Quelle für Schwankungen. Alle Schwankungen werden dadurch nicht beseitigt.

Prüfen Sie auch das CPU-Modell mit lscpu. Zwei Tarife können beide "4 vCPU" angeben, während sich ihre Single-Thread-Leistung um den Faktor zwei unterscheidet, weil einer der Hosts mehrere CPU-Generationen älter ist. Alte Hardware zu einem niedrigen Preis ist für einen Build-Agenten ein vertretbarer Kompromiss, für eine Checkout-Seite jedoch nicht.

„Unbegrenzte Bandbreite“ steht mindestens für vier verschiedene Produkte

Datenverkehr wird auf vier Arten beschrieben, die nicht austauschbar sind.

  • Ein Traffic-Kontingent. Im Angebot steht eine Zahl, beispielsweise „2 TB pro Monat“. Entscheidend ist, was danach passiert: eine Nachzahlung pro zusätzlichem TB oder eine Drosselung auf eine sehr niedrige Geschwindigkeit, bis der Monat endet. Klären Sie das, bevor Sie darauf angewiesen sind.
  • Ein Tarif ohne Mengenabrechnung mit Fair-Use-Klausel. Der Datenverkehr wird nicht gezählt. Die Acceptable-Use-Richtlinie legt das Limit stattdessen in Worten fest. Suchen Sie in diesem Dokument nach „fair use“, „sustained“, „excessive“ und „abuse“.
  • Eine Begrenzung der Portgeschwindigkeit. Ein Port mit 100 Mbit/s begrenzt Sie unabhängig von den Angaben zur Traffic-Regelung durch die physikalische Übertragungsrate.
  • Eine Kombination aus den letzten beiden Varianten: nicht mengenbegrenzter Datenverkehr über einen langsamen Port. Das ist bei günstigen Tarifen am häufigsten. Das Angebot ist transparent, solange Sie die Portgeschwindigkeit prüfen.
ChartTraffic ceiling set by port speed alone, 30 days at full rate
The data behind this chart
[
  {
    "label": "100 Mbit/s",
    "tb_ceiling_30d": 32,
    "hours_per_tb": 22.2
  },
  {
    "label": "200 Mbit/s",
    "tb_ceiling_30d": 65,
    "hours_per_tb": 11.1
  },
  {
    "label": "500 Mbit/s",
    "tb_ceiling_30d": 162,
    "hours_per_tb": 4.4
  },
  {
    "label": "1 Gbit/s",
    "tb_ceiling_30d": 324,
    "hours_per_tb": 2.2
  }
]

Die Portgeschwindigkeit ist eine feste Obergrenze. Die Berechnung ist einfach. 100 Mbit/s entsprechen 12.5 Megabyte pro Sekunde. Bei voller Auslastung überträgt dieser Port in 30 Tagen etwa 32 TB. Über denselben Zeitraum überträgt ein Port mit 1 Gbit/s 324 TB. TB steht hier für 10^12 Byte, also für die Einheit, nach der Hosts abrechnen. Das ist eine Berechnung und keine Messung. Kein realer Server nutzt seinen Port einen Monat lang durchgehend mit voller Geschwindigkeit.

Die zweite Spalte ist diejenige, die Tarife voneinander unterscheidet. Die Übertragung eines einzelnen Terabytes dauert über den Port mit 100 Mbit/s etwa 22.2 Stunden und über den Gigabit-Port 2.2 Stunden. Wenn Ihr Wiederherstellungsplan lautet: „Backup herunterladen und neu starten“, entspricht diese Zahl Ihrer Wiederherstellungszeit.

In dieser Zeile der Spezifikation verbergen sich zwei weitere Details. „1 Gbit/s shared“ bedeutet, dass der Port gemeinsam mit anderen Gästen genutzt wird. Die oben berechnete Obergrenze ist daher ein Best-Case-Wert und keine Zusage. Manche Hosts rechnen den Traffic außerdem anhand des 95. Perzentils der gemessenen Rate statt anhand des Gesamtvolumens ab. Dadurch ist eine gleichmäßige Auslastung deutlich teurer als eine kurzzeitig stark schwankende Auslastung.

Unabhängig von den Angaben im Tarif sollten Sie Ihre eigene Nutzung messen. vnstat liest die Interface-Zähler aus und speichert den Verlauf.

sudo apt install -y vnstat
sudo systemctl enable --now vnstat
vnstat -d
vnstat -m

Direkt nach der Installation gibt vnstat Not enough data available yet. aus, weil seine Datenbank noch keine Messwerte enthält. Prüfen Sie es am nächsten Tag erneut. vnstat -m zeigt dann eine monatliche Summe, die Sie mit dem gebuchten Kontingent vergleichen können.

Ist die NVMe-Angabe real, und wie können Sie das prüfen?

lsblk -d -o NAME,ROTA,SIZE,MODEL

ROTA mit dem Wert 0 bedeutet, dass dem Gast mitgeteilt wurde, dass das Gerät nicht rotationsbasiert ist. Dieser Wert stammt vom Hypervisor. Er beschreibt daher, was der Host bereitstellt, und nicht das darunterliegende Speichermedium. Die Spalte MODEL ist bei einer Virtio-Festplatte wie /dev/vda normalerweise leer und zeigt bei einer per SCSI angebundenen Festplatte einen generischen QEMU HARDDISK. Sie prüfen eine virtuelle Festplatte. Ihre Bezeichnung ist daher nicht aussagekräftig.

Die relevante Eigenschaft ist die Latenz. Der entscheidende Unterschied besteht zwischen lokalem NVMe-Speicher und einem über das Netzwerk angebundenen Volume. Ein Netzwerk-Volume kann einen hohen sequenziellen Durchsatz erreichen und sich trotzdem langsam anfühlen. Der Durchsatz wird mit vielen gleichzeitig ausstehenden Anfragen gemessen, während eine Datenbank jeweils auf einen einzelnen kleinen Schreibvorgang wartet. Messen Sie die Latenz zunächst mit einer Warteschlangentiefe von 1. Verwenden Sie anschließend eine größere Warteschlangentiefe für IOPS (Input/Output Operations per Second).

sudo apt install -y fio
fio --name=lat --filename=fiotest --size=1G --direct=1 --ioengine=libaio --rw=randread --bs=4k --iodepth=1 --numjobs=1 --runtime=60 --time_based --group_reporting
fio --name=iops --filename=fiotest --size=1G --direct=1 --ioengine=libaio --rw=randread --bs=4k --iodepth=32 --numjobs=1 --runtime=60 --time_based --group_reporting
rm -f fiotest

Lesen Sie den Block clat percentiles, insbesondere die Zeile 99.00th. Sie enthält die Abschlusslatenz, die das langsamste Prozent Ihrer Anfragen erlebt hat. Diese Verzögerung nimmt ein Benutzer als Hänger wahr. Als grobe Orientierung antwortet lokales NVMe bei einer Warteschlangentiefe von 1 innerhalb von Hunderten Mikrosekunden. Ein über das Netzwerk angebundenes Volume antwortet dagegen innerhalb von Millisekunden. Vergleichen Sie Ihre beiden eigenen Messungen, statt einer einzelnen veröffentlichten Zahl zu vertrauen. Führen Sie das Paar dreimal über den Tag verteilt aus. Eine Festplatte, die mit anderen Mandanten geteilt wird, verhält sich um 03:00 anders als um 20:00.

fio legt zuerst die 1-GB-Datei an. Lassen Sie daher ausreichend Speicherplatz auf der Festplatte frei. Beachten Sie außerdem, dass der Test das im Tarif enthaltene IOPS-Kontingent verbraucht. Wenn Sie nur eine schnelle Messung benötigen, liefert ioping -c 20 . die Latenz in einer Zeile. Ein Benchmark ist nur dann aussagekräftig, wenn Sie ihn wiederholen können, speichern Sie daher die exakten Befehlszeilen und die Ausgabe zusammen mit dem Datum.

Was enthalten ist und was zusätzlich berechnet wird

  • IPv4. Eine Adresse ist normalerweise enthalten. Bei einigen günstigen Tarifen erhalten Sie eine gemeinsam genutzte Adresse hinter NAT (Network Address Translation) mit einigen weitergeleiteten Ports. Dadurch können Sie nichts Eigenes auf Port 443 betreiben. Prüfen Sie dies mit ip -4 addr show scope global und curl -4 https://icanhazip.com. Zwei unterschiedliche Antworten bedeuten, dass Sie sich hinter NAT befinden.
  • IPv6. Ein geroutetes /64 stellt Ihnen Adressen für Container und für alles bereit, was von außen erreichbar sein soll. Ein einzelnes /128 deckt ausgehenden Datenverkehr ab und kaum mehr.
  • Backups. Automatische Backups sind normalerweise kostenpflichtige Zusatzoptionen. Snapshots sind häufig kostenlos. Ein Snapshot liegt jedoch auf derselben Infrastruktur wie die kopierte Festplatte. Er schützt Sie daher vor eigenen Fehlern, nicht aber vor dem Verlust des Hosts. Unabhängig vom jeweiligen Tarif sollten Sie eine Kopie außerhalb des Servers aufbewahren.
  • DDoS-Schutz. Viele Hoster reagieren auf einen volumetrischen Angriff (Distributed Denial of Service), indem sie Ihre IP-Adresse für einen festgelegten Zeitraum per Nullrouting sperren. Der Server bleibt dabei funktionsfähig. Er ist lediglich aus dem Internet nicht erreichbar. Fragen Sie nach dem Auslöseschwellwert und danach, wie lange die Nullroute bestehen bleibt.
  • Supportumfang. Bei einem nicht verwalteten Tarif sind Sie der Systemadministrator. Die Verantwortung des Hosters endet beim Hypervisor und beim Netzwerk. Das ist der größte tatsächliche Kostenunterschied zwischen zwei Tarifen mit identischen Spezifikationen.
  • Lizenzen und Panels. Ein Control Panel, ein kommerzielles Betriebssystem oder ein Mail-Add-on kann monatlich mehr kosten als der Server selbst.

Welchen Virtualisierungstyp kaufen Sie?

systemd-detect-virt

kvm oder qemu steht für vollständige Virtualisierung: Sie verwenden Ihren eigenen Kernel und laden nur die Module, die Sie auswählen. lxc, lxc-libvirt oder openvz steht für einen Container, der den Kernel des Hosts gemeinsam nutzt. none steht für Bare Metal.

Der Unterschied zeigt sich bei einem gemeinsam genutzten Kernel deutlich. sudo modprobe wireguard schlägt fehl, und ip link add dev wg0 type wireguard gibt RTNETLINK answers: Operation not supported zurück, weil ein Container kein Kernelmodul laden kann, das der Host nicht geladen hat. free -h kann den Arbeitsspeicher des Hosts statt Ihres eigenen melden, wenn lxcfs fehlt. Ihre Überwachung liest dann Werte aus, die nicht zu Ihrem Server gehören. Der Swap wird häufig mit anderen Containern gemeinsam genutzt. Virtuelle Maschinen innerhalb Ihres VPS auszuführen ist überhaupt nicht möglich. Container-Tarife sind aus einem bestimmten Grund günstiger. Für eine statische Website oder eine kleine Anwendung sind sie dennoch die richtige Wahl.

Was kostet die Verlängerung?

Der beworbene Preis gilt oft nur für die erste Vertragslaufzeit. Suchen Sie auf der Bestellseite nach dem Hinweis „renews at“ und achten Sie auf die Laufzeit, für die der Rabatt gilt. Ein Rabatt, der ein Jahr lang gilt, und ein Rabatt, der für die gesamte Laufzeit des Tarifs festgeschrieben ist, sind trotz derselben ersten Rechnung unterschiedliche Produkte.

Lesen Sie die Erstattungsbedingungen ebenso sorgfältig. Prüfen Sie, wie lange die Geld-zurück-Frist läuft, ob sie mit der Bestellung oder erst mit der Bereitstellung beginnt, ob Zusatzleistungen wie zusätzliche IP-Adressen erstattungsfähig sind und ob eine jährliche Vorauszahlung anteilig zurückerstattet wird. Setzen Sie anschließend eine Erinnerung für eine Woche vor dem Verlängerungsdatum in Ihren Kalender. Der günstigste Zeitpunkt für den Wechsel liegt vor der Rechnungsstellung.

Auch ein späterer Wechsel ist nicht kostenlos. Das Verschieben einiger hundert Gigabyte an Daten, das erneute Erstellen der Konfiguration, das Abwarten der DNS-(domain name system-)Time-to-Live-Werte und bei einem Mailserver der erneute Aufbau der IP-Reputation summieren sich schnell zu einem kompletten Wochenende. Berücksichtigen Sie dieses Wochenende, wenn eine Ersparnis überzeugend wirkt. Was ein VPS tatsächlich pro Jahr kostet ist die relevante Vergleichsgröße, nicht der erste Monat.

Der dreißigminütige Abnahmetest

Führen Sie diesen Test auf dem neuen Server aus, bevor Sie etwas migrieren und solange das Erstattungsfenster noch offen ist. Sichern Sie den Server zuerst ab: die ersten zehn Minuten auf einem neuen VPS decken das Benutzerkonto, die Schlüssel und die Firewall ab. Installieren Sie anschließend die Werkzeuge.

sudo apt update
sudo apt install -y sysbench fio ioping sysstat stress-ng vnstat mtr-tiny curl

Check 1: Was wurde tatsächlich bereitgestellt?

systemd-detect-virt
nproc
lscpu | grep -E 'Model name|MHz|Hypervisor'
free -h
lsblk -d -o NAME,ROTA,SIZE,MODEL
ip -4 addr show scope global
curl -4 -s https://icanhazip.com

Sie sollten den Virtualisierungstyp, ein CPU-Modell und eine Speichermenge sehen, die innerhalb weniger Prozent von der gebuchten Leistung liegen. free -h, das deutlich mehr RAM als im Tarif angegeben meldet, bedeutet, dass ein Container ohne lxcfs vorliegt, nicht dass Sie zusätzliche Leistung erhalten haben. Eine öffentliche Adresse aus curl, die in ip -4 addr nie erscheint, bedeutet, dass die IPv4-Adresse gemeinsam genutzt wird.

Check 2: Wie schnell ist ein Thread, und wie hoch ist der Steal-Anteil unter Last?

sysbench cpu --cpu-max-prime=20000 --threads=1 run

Notieren Sie die Zeile events per second. Die Single-Thread-Leistung bestimmt, wie schnell eine Seite gerendert wird und wie lange ein Build dauert. Bei günstigen Tarifen unterscheidet sich dieser Wert meist am stärksten. Belasten Sie nun jede vCPU und beobachten Sie, welche CPU-Zeit der Scheduler tatsächlich zuweist.

stress-ng --cpu 0 --timeout 300s &
vmstat 1 30
mpstat -P ALL 1 10

--cpu 0 startet einen Worker pro online CPU. Beobachten Sie die Spalte st in vmstat und %steal in mpstat. Gelegentliche einstellige Werte bei einem gemeinsam genutzten Tarif sind normal. Wenn der Steal-Anteil mehrere Minuten lang im zweistelligen Bereich liegt, sind die physischen Kerne überbelegt. Ihre Arbeit wird dann hinter der eines anderen Mandanten eingereiht. Führen Sie sysbench erneut aus, während die Last anliegt: Bricht der Single-Thread-Wert ein, konkurrieren Ihre vCPUs miteinander. Das bedeutet in der Regel, dass sie sich einen Kern als Geschwister-Threads teilen, statt auf getrennten Kernen zu laufen. Ein niedriger Wert bei nahezu null Steal ist der andere Fall: Der Host begrenzt die CPU-Leistung. Das können Sie innerhalb des Gastsystems nicht direkt erkennen.

Check 3: Wie verhält sich das Laufwerk bei einer Queue Depth von 1?

Führen Sie die beiden fio-Befehle aus dem Abschnitt zu NVMe aus und bewahren Sie beide Ergebnisse auf: die Latenz beim 99. Perzentil bei einer Queue Depth von 1 und die IOPS bei einer Queue Depth von 32. Prüfen Sie anschließend die Schreibgeschwindigkeit, da viele Volumes in dieser Richtung deutlich langsamer sind.

fio --name=wlat --filename=fiotest --size=1G --direct=1 --ioengine=libaio --rw=randwrite --bs=4k --iodepth=1 --numjobs=1 --runtime=30 --time_based --group_reporting
rm -f fiotest

Ein sequenzieller Wert von dd ist die Zahl, die Anbieter in ihren Angeboten gerne angeben. Für Ihren Test ist sie jedoch am wenigsten aussagekräftig, da sequenzielles Streaming nicht der typische Arbeitsablauf einer Datenbank oder einer ausgelasteten Webanwendung ist. Erfassen Sie den Wert, wenn Sie einen Vergleich benötigen. Entscheidend ist die Latenz.

Check 4: Wie sieht das Netzwerk vom Standort Ihrer Benutzer aus?

Laden Sie zunächst eine große Datei auf den VPS herunter.

curl -o /dev/null -w 'in: %{speed_download} bytes/s\n' https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.tar.xz

Damit testen Sie nur einen Pfad zu Ihrem Server. Relevant ist die Richtung, die Ihre Benutzer verwenden. Stellen Sie daher eine Datei bereit und laden Sie sie von einem Rechner in ihrer Nähe herunter.

fallocate -l 100M /var/tmp/100mb.bin
python3 -m http.server 8080 --directory /var/tmp

Anschließend führen Sie den Test von einem Laptop oder Server in der Nähe Ihrer Zielgruppe aus:

curl -o /dev/null -w 'down: %{speed_download} bytes/s\n' http://YOUR_SERVER_IP:8080/100mb.bin
mtr --report --report-cycles 50 YOUR_SERVER_IP

Port 8080 muss während des Tests in der Firewall geöffnet sein. Schließen Sie ihn danach wieder, löschen Sie die Datei und beenden Sie den Python-Server mit Ctrl+C. Lesen Sie in der Ausgabe von mtr die Spalte mit dem Paketverlust in der letzten Zeile. Paketverlust an einem Zwischen-Hop ohne Verlust am Ziel ist normal, da Router die von mtr gezählten ICMP-Antworten (Internet Control Message Protocol) mit niedriger Priorität behandeln. Dieser Verlust betrifft Ihren Netzwerkverkehr nicht. Paketverlust in der letzten Zeile ist real.

Wiederholen Sie den Netzwerktest während der Spitzenzeit Ihrer Benutzer. Eine einzelne Messung um 02:00 zeigt nur, wie ruhig das Netzwerk zu diesem Zeitpunkt ist.

Speichern Sie alle vier Ergebnisse zusammen mit dem Datum in einer Datei und führen Sie die Tests nach einem Monat erneut aus. Ein Tarif, der am ersten Tag ausreichend war und in der sechsten Woche langsam ist, weist auf einen ausgelasteten Host hin. Mit den Messwerten vom ersten Tag können Sie das belegen, statt nur zu vermuten.

Wenn ein günstiger VPS die richtige Wahl ist

Ein niedriger Preis hat konkrete Vorteile und konkrete Kosten. Ältere CPUs, ein höheres Overselling-Verhältnis, langsamere Netzwerk-Storage-Systeme, Self-Service-Support und geringere Redundanz halten den Preis niedrig. Stimmen Sie diese Eigenschaften auf den Einsatzzweck ab.

Günstig ist für eine Entwicklungsumgebung, einen CI-Runner, einen VPN-Endpunkt, einen Monitoring-Knoten, ein Backup-Ziel oder eine statische Website die richtige Wahl. Diese Aufgaben verkraften eine langsame Minute. Bei Anwendungen, deren Produkt Latenz ist, ist günstig ein schlechter Kompromiss: bei einer Checkout-Seite, einer interaktiven API, einem Gameserver oder einer Datenbank, auf die ein anderer Dienst wartet. Der obige Test zeigt Ihnen, was Sie gekauft haben. Er zeigt es Ihnen, solange die Antwort noch nichts kostet.

FAQ

Was bedeutet vCPU bei einem günstigen VPS-Angebot?

Eine vCPU ist ein virtueller Prozessor, der Ihrem Gast präsentiert wird. Wenn möglich, ordnet der Scheduler des Hosts sie einem Thread zu, der auf einem physischen Kern ausgeführt wird. Sie erhalten damit die Möglichkeit, CPU-Zeit anzufordern, aber keine reservierte Hardware. Eine Ausnahme gilt, wenn im Angebot ausdrücklich „dedicated core“ oder „dedicated vCPU“ steht. Hosts verkaufen mehr vCPUs, als physische Kerne vorhanden sind. Dieses Verhältnis wird nur selten veröffentlicht. Messen Sie es daher selbst. Führen Sie stress-ng --cpu 0 --timeout 300s aus und beobachten Sie die Spalte st in vmstat 1. Ein zweistelliger Wert bei Steal bedeutet, dass Sie auf Kerne warten, die andere Gäste verwenden.

Bedeutet „unlimited bandwidth“ wirklich unbegrenzte Bandbreite?

Nein. Das Limit ergibt sich normalerweise aus zwei Angaben außerhalb der Tarifbeschreibung. Die Acceptable Use Policy legt ein Fair-Use-Limit in Worten fest. Die Portgeschwindigkeit setzt eine harte Obergrenze in Byte. Ein Port mit 100 Mbit/s kann selbst bei voller Auslastung in 30 Tagen nicht mehr als etwa 32 TB übertragen. Fragen Sie daher nach der Portgeschwindigkeit. Lesen Sie außerdem in der Policy nach den Begriffen „fair use“ und „sustained“. Erfassen Sie anschließend mit vnstat -m, wie viele Daten Sie tatsächlich übertragen, und vergleichen Sie den Wert mit dem verfügbaren Kontingent.

Wie kann ich feststellen, ob mein VPS tatsächlich NVMe verwendet?

Die physischen Datenträger können Sie innerhalb eines Gasts nicht bestätigen. lsblk meldet nur, was der Hypervisor bekannt gibt: ROTA von 0 sowie eine leere oder allgemeine Modellbezeichnung. Sie können jedoch das Verhalten messen. Führen Sie fio mit --direct=1 bei --iodepth=1 aus. Lesen Sie anschließend die Abschlusslatenz beim 99,00. Perzentil ab. Lokale NVMe-Datenträger antworten innerhalb von Hunderten Mikrosekunden. Ein über das Netzwerk angebundenes Volume antwortet dagegen in Millisekunden, selbst wenn der sequentielle Durchsatz beeindruckend aussieht. Wiederholen Sie den Test zu verschiedenen Tageszeiten. Ein gemeinsam genutzter Datenträger verhält sich um 03:00 und um 20:00 nicht gleich.

Was sollte ich testen, bevor das Erstattungsfenster abläuft?

Vier Dinge, und zwar in dieser Reihenfolge. Prüfen Sie mit systemd-detect-virt, lscpu und free -h, was der Server tatsächlich ist. Messen Sie die Single-Thread-Leistung mit sysbench cpu --cpu-max-prime=20000 --threads=1 run. Messen Sie die Steal-Zeit unter Volllast mit stress-ng --cpu 0 und beobachten Sie sie mit vmstat 1. Messen Sie die Festplattenlatenz mit fio bei einer Queue Depth von 1. Messen Sie anschließend das Netzwerk von einem Rechner in der Nähe Ihrer Benutzer mit mtr und laden Sie eine Datei herunter, die Sie auf dem Server bereitstellen. Dreißig Minuten reichen für alle Tests aus. Führen Sie sie durch, bevor Sie etwas migrieren. So bleibt das Erstattungsfenster als Druckmittel erhalten.