Das Apache-Benchmark-Tool ist sehr einfach, und obwohl es Ihnen eine solide Vorstellung von der Leistung gibt, ist es eine schlechte Idee, sich nur darauf zu verlassen, wenn Sie vorhaben, Ihre Site in der Produktion ernsthaften Belastungen auszusetzen.
Trotzdem sind hier die häufigsten und einfachsten Parameter:
-c
: ("Parallelität"). Gibt an, wie viele Clients (Personen / Benutzer) gleichzeitig auf die Site zugreifen. Während ab
der Ausführung werden -c
Clients auf die Website zugreifen. Dies ist es, was tatsächlich entscheidet, wie viel Stress Ihre Website während des Benchmarks erleiden wird.
-n
: Gibt an, wie viele Anfragen gestellt werden sollen. Dies entscheidet nur über die Länge des Benchmarks. Ein hoher -n
Wert mit einem -c
Wert, den Ihr Server unterstützen kann, ist eine gute Idee, um sicherzustellen, dass bei anhaltendem Stress nichts kaputt geht: Es ist nicht dasselbe, Stress für 5 Sekunden als für 5 Stunden zu unterstützen.
-k
: Dies tun die "KeepAlive" -Funktionsbrowser von Natur aus. Sie müssen keinen Wert für -k
"boolean" übergeben (was bedeutet, dass Sie für Ihren Test den Keep Alive-Header von HTTP verwenden und die Verbindung aufrechterhalten möchten). Da Browser dies tun und Sie wahrscheinlich den Stress und den Fluss simulieren möchten, den Ihre Website von Browsern ausgeht, wird empfohlen, damit einen Benchmark durchzuführen.
Das letzte Argument ist einfach der Host. Standardmäßig wird das Protokoll http: // aufgerufen, wenn Sie es nicht angeben.
ab -k -c 350 -n 20000 example.com/
Wenn Sie den obigen Befehl eingeben, erreichen Sie http://example.com/ mit 350 gleichzeitigen Verbindungen, bis 20.000 Anforderungen erfüllt sind. Dies erfolgt über den Keep-Alive-Header.
Nachdem der Prozess die 20.000 Anfragen abgeschlossen hat, erhalten Sie Feedback zu den Statistiken. Hier erfahren Sie, wie gut die Site unter der Belastung funktioniert, die Sie bei Verwendung der oben genannten Parameter ausgesetzt haben.
Um herauszufinden, wie viele Personen die Site gleichzeitig verarbeiten kann, überprüfen Sie einfach, ob die Antwortzeiten (Mittelwerte, minimale und maximale Antwortzeiten, fehlgeschlagene Anforderungen usw.) Zahlen sind, die Ihre Site akzeptieren kann (verschiedene Sites wünschen möglicherweise unterschiedliche Geschwindigkeiten). Sie können das Tool mit verschiedenen -c-Werten ausführen, bis Sie die Stelle erreichen, an der Sie sagen: "Wenn ich es erhöhe, werden fehlgeschlagene Anforderungen angezeigt und es wird unterbrochen."
Abhängig von Ihrer Website erwarten Sie eine durchschnittliche Anzahl von Anfragen pro Minute. Dies ist so unterschiedlich, dass Sie dies mit ab nicht simulieren können. Stellen Sie sich das jedoch folgendermaßen vor: Wenn Ihr durchschnittlicher Benutzer 5 Anfragen pro Minute trifft und die durchschnittliche Antwortzeit, die Sie für gültig halten, 2 Sekunden beträgt, bedeutet dies, dass 10 Sekunden pro Minute 1 Benutzer nur Anfragen haben 1/6 der Zeit wird es die Seite treffen. Dies bedeutet auch, dass, wenn 6 Benutzer gleichzeitig mit ab auf die Site zugreifen, wahrscheinlich 36 Benutzer in der Simulation sind, obwohl Ihre Parallelitätsstufe (-c) nur 6 beträgt.
Dies hängt von dem Verhalten ab, das Sie von Ihren Benutzern bei der Nutzung der Website erwarten. Sie können es jedoch unter "Ich erwarte, dass mein Benutzer X Anforderungen pro Minute erfüllt, und ich halte eine durchschnittliche Antwortzeit für gültig, wenn sie 2 Sekunden beträgt" abrufen. Ändern Sie dann einfach Ihre -c-Stufe, bis Sie 2 Sekunden durchschnittliche Antwortzeit erreichen (stellen Sie jedoch sicher, dass die maximale Antwortzeit und stddev noch gültig sind) und sehen Sie, wie groß Sie -c machen können.
Ich hoffe ich habe das klar erklärt :) Viel Glück