2012-06-25 7 views
6

Ich muss einen Belastungstest für einen Webdienst durchführen. Es erfordert mindestens 1000 gleichzeitige Benutzer.Wie sollte ich 1000 gleichzeitige Benutzer als real simulieren?

Ich weiß, einige Test-Tools (z. B. JMeter) könnte eine Gruppe von gleichzeitigen Benutzern mit mehreren Threads simulieren. Aber diese Benutzer sind nicht wirklich gleichzeitig.

Wenn ich das JMeter-Programm in einer Maschine mit nur 2 CPU-Kernen ausführen, sind nur 2 gleichzeitige Benutzer gleichzeitig aktiv, obwohl 1000 mehrere Threads mit dem Test-Tool generiert wurden.

Gibt es eine Möglichkeit, echte gleichzeitige Benutzer zu erstellen?

Antwort

11

Aus der Sicht des Web-Service sind diese Benutzer gleichzeitig. Eine CPU mit zwei Kernen kann problemlos zwischen 1000 Threads wechseln; Meistens wartet der Thread auf die Netzwerk-E/A, also ist es sehr ähnlich wie es funktionieren würde, wenn Sie tatsächlich 1000 Kerne hätten.

Also JMeter sollte in Ordnung sein. Wenn der Test-Thread eine Menge CPU-intensiver Arbeit ausführen muss, kann dies die Ergebnisse verzerren. In der Regel warten die Test-Threads jedoch nur auf eine Antwort.

+0

+1 für realistisch sein. Wenn Sie einen Benutzer pro CPU benötigen, benötigen Sie 1000 CPUs, was zwar "real", aber nicht realistisch ist. –

3

Sie können versuchen * Nix Tool Siege nach dem Lesen FAQ about concurrent users.

+1

Was ist der Vorteil von Siege im Vergleich zu JMeter? – JuliaLi

+0

Die Belagerung erfolgt über die Eingabeaufforderung, sie ist relativ einfach und sofort einsatzbereit. – Prasad

Verwandte Themen