Wie viele gleichzeitige Nutzer schafft ein VPS? Die Rechnung

Alles beginnt mit einer Frage: Was tun diese Nutzer? Tausend Personen, die in einer Anwendung angemeldet sind, stellen nicht tausend Anfragen pro Sekunde, und eine Seite aus dem Cache kostet hundertmal weniger als eine Seite, die bei jedem Aufruf berechnet wird. Dieser Leitfaden übersetzt Nutzer in Anfragen, Anfragen in Prozessor und Arbeitsspeicher, und zeigt dann, wie Sie das Ergebnis mit einem Lasttest überprüfen.

Veröffentlicht am 26. Oktober 2026 Von Lesezeit: 9 Minuten

Alle Leitfäden

Das Wichtigste in Kürze

  1. Angemeldete Nutzer sind keine gleichzeitigen Anfragen: ein aktiver Nutzer sendet etwa alle 10 bis 30 Sekunden eine Anfrage.
  2. Laufende Anfragen = Anfragen pro Sekunde × Dauer einer Anfrage (Gesetz von Little). Diese Zahl muss der Server tragen.
  3. Eine vCPU bedient höchstens 1.000 ÷ (Millisekunden Rechenzeit pro Anfrage) Anfragen pro Sekunde: 20 ms Rechenzeit ergeben 50 Anfragen pro Sekunde.
  4. Der Arbeitsspeicher begrenzt die Zahl der Worker: jeder PHP- oder Python-Prozess belegt 40 bis 200 MB.
  5. Der Cache ändert alles: eine Seite aus dem Cache kostet weniger als eine Millisekunde, eine berechnete WordPress-Seite 100 bis 300.
  6. Messen Sie mit einem Lasttest (k6, wrk) an einer Kopie der Anwendung, mit stufenweise steigender Last.

Von Nutzern zu Anfragen

„Gleichzeitige Nutzer“ bezeichnet je nachdem, wer spricht, drei verschiedene Größen:

Von der einen zur anderen kommt man mit dem Gesetz von Little: die Zahl der laufenden Anfragen ist gleich dem Durchsatz, in Anfragen pro Sekunde, multipliziert mit der mittleren Dauer einer Anfrage.

Beispiel. 600 gleichzeitig aktive Nutzer, die jeweils alle 20 Sekunden eine Anfrage auslösen, erzeugen 30 Anfragen pro Sekunde. Dauert jede Anfrage 100 ms, hat der Server im Mittel nur 3 laufende Anfragen. Die eigentliche Herausforderung liegt woanders: in den Spitzen und in den langsamen Anfragen.

Was eine vCPU trägt

Eine Anfrage belegt den Prozessor für die Dauer ihrer Berechnung: den Code ausführen, die Datenbank abfragen, die Antwort aufbauen. Eine vCPU verarbeitet daher höchstens 1.000 ÷ t Anfragen pro Sekunde, wobei t die Rechenzeit einer Anfrage in Millisekunden ist. Wartezeit (auf eine externe API, auf die Festplatte) belegt den Prozessor nicht, wohl aber einen Worker.

Art der AnfrageTypische RechenzeitPro vCPU, Größenordnung
Statische Datei oder Seite aus dem CacheUnter 1 msMehrere tausend Anfragen pro Sekunde
WordPress-Seite aus einem Seiten-Cache1 bis 5 msMehrere hundert pro Sekunde
JSON-API (Node.js, Go, FastAPI) mit einer indizierten SQL-Abfrage5 bis 20 ms50 bis 200 pro Sekunde
WordPress- oder Laravel-Seite, bei jedem Aufruf berechnet100 bis 300 ms3 bis 10 pro Sekunde
Bericht, Export, PDF-Erzeugung500 ms bis mehrere SekundenWeniger als 2 pro Sekunde

Mit diesen Größenordnungen belegen 30 API-Anfragen pro Sekunde mit 10 ms Rechenzeit 30 % einer einzigen vCPU. Dieselben 30 Anfragen pro Sekunde auf WordPress-Seiten ohne Cache verlangen 3 bis 9 vCPU. Genau dafür ist der Seiten-Cache da: er bringt eine Seite von der vierten Zeile der Tabelle in die zweite.

Was der Arbeitsspeicher trägt

Jede laufende Anfrage wird von einem Worker bearbeitet, und Worker belegen Arbeitsspeicher, ob sie arbeiten oder nicht. Oft ist es der Arbeitsspeicher, mehr als der Prozessor, der die Zahl parallel bearbeiteter Anfragen bestimmt:

Dauerhafte Verbindungen (WebSockets, Echtzeitbenachrichtigungen) zählen gesondert: ständig offen, belegen sie wenig Prozessorzeit und jeweils einige zehn Kilobyte Arbeitsspeicher. Ein Node.js-Server hält Tausende davon mit einigen hundert MB.

Die wahren Engpässe

In einer realen Anwendung stößt der Server selten dort an seine Grenze, wo man es erwartet. Die häufigsten Ursachen, in der Reihenfolge, in der Sie sie suchen sollten:

  1. Eine langsame SQL-Abfrage: ein fehlender Index macht aus einer Abfrage von 2 ms eine von 2 Sekunden, die einen Worker und eine Verbindung festhält. pg_stat_statements bei PostgreSQL oder das Slow Query Log von MySQL zeigt sie an.
  2. Kaskadierende Abfragen (das N+1-Problem): eine Seite, die pro angezeigter Zeile eine Abfrage startet, startet Hunderte davon.
  3. Ein synchroner externer Aufruf: eine Zahlungs- oder KI-API, die in 3 Sekunden antwortet, blockiert einen synchronen Worker 3 Sekunden lang.
  4. Aufwendige Verarbeitung in der Anfrage: E-Mail-Versand, Skalierung von Bildern, PDF-Erzeugung, die in eine Job-Queue gehören.
  5. Fehlender Cache: Seiten, die für alle Besucher gleich sind, kommen aus einem Cache, statische Dateien direkt vom Webserver.

Überprüfen: der Lasttest

Die Größenordnungen liefern eine erste Größe; ein Lasttest liefert die tatsächliche. Das Prinzip: immer mehr Nutzer auf einer Kopie der Anwendung simulieren und den Moment festhalten, in dem die Antwortzeit sprunghaft ansteigt.

Terminal: 50 Verbindungen über 30 Sekunden, mit wrk
wrk -t2 -c50 -d30s --latency https://staging.ihre-website.com/

Für einen vollständigen Ablauf (Anmeldung, Navigation, Suche) beschreibt k6 ein Szenario in JavaScript und steigert die Last stufenweise:

k6-Skript (test.js), gestartet mit: k6 run test.js
import http from 'k6/http';
import { sleep } from 'k6';

export const options = {
  stages: [
    { duration: '2m', target: 100 },
    { duration: '5m', target: 100 },
    { duration: '2m', target: 300 },
    { duration: '5m', target: 300 },
    { duration: '2m', target: 0 },
  ],
  thresholds: { http_req_duration: ['p(95)<500'] },
};

export default function () {
  http.get('https://staging.ihre-website.com/');
  sleep(15);
}

Wenn die Last wächst

Die Reihenfolge, die am wenigsten kostet und am meisten bringt:

  1. Zwischenspeichern, was sich zwischenspeichern lässt (Seiten, Fragmente, Abfrageergebnisse), und langsame Abfragen korrigieren.
  2. Die Zahl der Worker auf den verfügbaren Arbeitsspeicher und Prozessor abstimmen.
  3. In die nächsthöhere Größe wechseln: mehr vCPU und Arbeitsspeicher, ohne etwas an der Anwendung zu ändern.
  4. Die Datenbank auf einen eigenen Server legen.
  5. Die Anwendung hinter einem Load Balancer auf mehrere Server verteilen.

Die ersten drei Schritte decken die große Mehrheit der Geschäftsanwendungen, Websites und APIs ab: mehrere hundert gleichzeitig aktive Nutzer finden auf einem einzigen, gut eingestellten Server Platz.

Ein Server, der mit Ihren Nutzern wächst

Den VPS Pro gibt es in sechs Größen, auf Intel-Xeon-Prozessoren, ECC-Speicher und gespiegelten NVMe-SSDs, und er wechselt jederzeit ohne Neuinstallation in die nächsthöhere Größe. Der Full-Stack-Support ist inbegriffen: nennen Sie uns, wie viele Nutzer Sie zum Start und in einem Jahr erwarten, wir empfehlen Ihnen die Größe; und wenn eine Seite langsamer wird, stellen wir die Diagnose und sagen Ihnen, was zu tun ist, vom System bis zum Code Ihrer Anwendung.

VPS Pro entdecken

Häufige Fragen

Wie viele Nutzer schafft ein VPS mit 2 vCPU und 4 GB?

Bei einer API oder Anwendung, deren Anfragen 10 bis 20 ms Rechenzeit brauchen, mehrere hundert gleichzeitig aktive Nutzer. Bei einer WordPress-Website ohne Seiten-Cache etwa hundert. Der Unterschied liegt in der Rechenzeit jeder Anfrage und im Cache, und genau dafür lohnt sich ein Lasttest.

Wie viele Besucher pro Tag verkraftet ein VPS?

Die Zahl der Besucher pro Tag sagt wenig aus: entscheidend ist die Spitze. Um von einem zum anderen zu kommen, teilen Sie die Besuche des Tages durch die aktiven Stunden, multiplizieren mit den Seitenaufrufen pro Besuch und dann mit einem Spitzenfaktor von 3 bis 5. 10.000 Besuche über 10 Stunden mit je 4 Seiten ergeben im Mittel etwa 1 Seite pro Sekunde und 3 bis 5 zur Spitzenzeit.

Woran erkenne ich, dass mein Server ausgelastet ist?

An drei Zeichen: die Antwortzeit steigt mit dem Traffic, der Prozessor bleibt zu Spitzenzeiten über 80 %, oder der verfügbare Arbeitsspeicher fällt gegen null. Die Logs des Webservers zeigen dann Fehler 502 oder 504, und die Anfragen warten auf einen freien Worker.

Ändern WebSockets die Rechnung?

Ja: eine WebSocket-Verbindung bleibt dauerhaft offen. Sie verbraucht wenig Prozessorzeit und einige zehn Kilobyte Arbeitsspeicher. Ein Node.js-Server hält Tausende davon; es sind die gesendeten Nachrichten, mehr als die offenen Verbindungen, die den Prozessor belasten.

Kontaktieren Sie uns