Implementierungsprinzip und Nutzungsanalyse des Apache Bench-Stresstest-Tools

Implementierungsprinzip und Nutzungsanalyse des Apache Bench-Stresstest-Tools

1: Durchsatz (Anfragen pro Sekunde)

Eine quantitative Beschreibung der gleichzeitigen Verarbeitungskapazität des Servers, gemessen in Anforderungen/s. Sie bezieht sich auf die Anzahl der Anfragen, die pro Zeiteinheit bei einer bestimmten Anzahl gleichzeitiger Benutzer verarbeitet werden. Als maximaler Durchsatz bezeichnet man die maximale Anzahl an Anfragen, die bei einer bestimmten Anzahl gleichzeitiger Benutzer pro Zeiteinheit verarbeitet werden können.

Denken Sie daran: Der Durchsatz basiert auf der Anzahl gleichzeitiger Benutzer. Dieser Satz hat zwei Bedeutungen: 1. Die Durchsatzrate hängt von der Anzahl gleichzeitiger Benutzer ab. 2. Die Durchsatzrate ist im Allgemeinen bei unterschiedlichen Zahlen gleichzeitiger Benutzer unterschiedlich.

Berechnungsformel: Gesamtzahl der Anfragen / Zeitaufwand für die Bearbeitung dieser Anfragen, d. h.

Anfragen pro Sekunde = Abgeschlossene Anfragen / Dauer der Tests

2: Die Anzahl gleichzeitiger Verbindungen

Die Anzahl gleichzeitiger Verbindungen bezieht sich auf die Anzahl der Anfragen, die der Server zu einem bestimmten Zeitpunkt oder, einfacher ausgedrückt, in einer Sitzung akzeptiert.

3: Die Anzahl gleichzeitiger Benutzer (Concurrency Level)

Es ist wichtig, dieses Konzept von der Anzahl gleichzeitiger Verbindungen zu unterscheiden. Ein Benutzer kann mehrere Sitzungen oder Verbindungen gleichzeitig haben. Unter HTTP/1.1 unterstützt IE7 zwei gleichzeitige Verbindungen, IE8 sechs gleichzeitige Verbindungen und FireFox3 vier gleichzeitige Verbindungen. Dementsprechend muss die Anzahl unserer gleichzeitigen Benutzer durch diese Basis geteilt werden.

4: Durchschnittliche Wartezeit für Benutzeranfragen (Zeit pro Anfrage)

Berechnungsformel: Zeit, die zur Bearbeitung aller Anfragen benötigt wird / (Gesamtzahl der Anfragen / Anzahl der gleichzeitigen Benutzer), d. h.

Zeit pro Anfrage = für Tests benötigte Zeit / (Abgeschlossene Anfragen / Parallelitätsstufe)

5: Durchschnittliche Wartezeit des Servers für Anfragen (Zeit pro Anfrage: über alle gleichzeitigen Anfragen hinweg)

Berechnungsformel: Zeitaufwand für die Bearbeitung aller Anfragen/Gesamtzahl der Anfragen, d. h.

Zeitaufwand für / TestsAbschließen von Anfragen

Wie Sie sehen, ist es der Kehrwert der Durchsatzrate.

Gleichzeitig ist es auch = durchschnittliche Wartezeit der Benutzeranforderung / Anzahl gleichzeitiger Benutzer, d. h.

Zeit pro Anfrage / Parallelitätsstufe

Offizielle Download-Adresse der Website: https://www.apachelounge.com/download/

Nach dem Download entpacken Sie es und rufen mit cmd das aktuelle Dekomprimierungsverzeichnis des Projekts auf:

Rufen Sie dann die Shell-Befehlsausführungsschnittstelle auf (geben Sie das Bin-Verzeichnis ein):

Testbefehl:

./ab -n 100 -c 10 http://localhost:8085/linewell/test1/pass/testApacheBench.do

-n gibt die Anzahl der Anfragen an und -c bedeutet, dass maximal mehrere Anfragen gleichzeitig gesendet werden können.

Wenn -c auf 1 gesetzt ist, verzögert der Java-Backend-Controller aufgrund meines Java-Tests die Verarbeitung um eine Sekunde und verarbeitet sie einzeln, was im Grunde 100 Verarbeitungsvorgänge erfordert. Wenn -c 10 ist, werden 10 gleichzeitig verarbeitet.

Ausgabe:

Dies ist ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Lizenziert an die Apache Software Foundation, http://www.apache.org/

Benchmarking von localhost (seien Sie geduldig) … erledigt


Serversoftware:
Server-Hostname: localhost
Server-Port: 8085

Dokumentpfad: /linewell/test1/pass/testApacheBench.do
Dokumentlänge: 0 Bytes

Gleichzeitigkeitsstufe: 10
Dauer der Tests: 0,077 Sekunden
Vollständige Anfragen: 100
Fehlgeschlagene Anfragen: 0
Nicht-2xx-Antworten: 100
Insgesamt übertragen: 9200 Bytes
Übertragenes HTML: 0 Byte
Anfragen pro Sekunde: 1299,09 [#/sec] (Mittelwert)
Zeit pro Anfrage: 7,698 [ms] (Mittelwert)
Zeit pro Anfrage: 0,770 [ms] (Mittelwert aller gleichzeitigen Anfragen)
Übertragungsrate: 116,72 [Kbyte/sec] empfangen

Verbindungszeiten (ms)
    Min. Mittelwert[+/-SD] Median Max.
Verbinden: 0 0 0,3 0 1
Verarbeitung: 1 5 3,4 5 27
Warten: 1 4 3,1 4 26
Gesamt: 2 5 3,4 5 27

Prozentsatz der Anfragen, die innerhalb einer bestimmten Zeit (ms) bearbeitet wurden
 50% 5
 66% 6
 75% 7
 80% 7
 90% 9
 95% 11
 98% 11
 99% 27
 100 % 27 (längste Anfrage)

Analyse der Ausgabeergebnisse:

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So implementieren Sie Web-Stresstests mit Apache Bench
  • Implementierungsmethode für den Apache AB-Stresstest zur gleichzeitigen Belastung
  • Verwenden Sie das Apache ab-Tool, um einen einfachen Stresstest auf dem Apache-Server durchzuführen
  • Zusammenfassung des allgemeinen Wissens über Apache-Stresstests und Web-Performance-Optimierung
  • Interpretation der Ergebnisse des Stresstests der Apache AB-Toolseite
  • Installation und Verwendung von Apache-Stresstest-Tools

<<:  Detaillierte Erklärung der MySQL-Partitionstabelle

>>:  Detaillierte Erläuterung der MySQL-Sicherung und -Wiederherstellung

Artikel empfehlen

So veröffentlichen Sie statische Ressourcen in Nginx

Schritt Platzieren Sie die vorbereiteten statisch...

Ubuntu20.04 VNC-Installation und Konfigurationsimplementierung

VNC ist ein Remote-Desktop-Protokoll. Befolgen Si...

So verwenden Sie reguläre Ausdrucksabfragen in MySql

Reguläre Ausdrücke werden häufig verwendet, um Te...

Lassen Sie sich die tiefe Kopie von js verstehen

Inhaltsverzeichnis js tiefe Kopie Methode der Dat...

JavaScript zur Implementierung eines einfachen Einkaufsformulars

In diesem Artikel wird der spezifische JavaScript...

jQuery realisiert Bildhervorhebung

Es ist sehr üblich, Bilder auf einer Seite hervor...

Zusammenfassung des Speicherorts und Tipps für Docker-Konfigurationscontainer

Tipps zur Verwendung von Docker 1. Bereinigen Sie...

So erstellen Sie eine Ansicht in MySQL

Grundlegende Syntax Sie können eine Ansicht mit d...

Detailliertes Tutorial zur Installation von Nginx auf CentOS8 (Bild und Text)

Nginx, ausgesprochen „Engine x“, ist ein Open Sou...

Die Bedeutung des Statuscodes im HTTP-Protokoll

Ein Statuscode, der eine vorläufige Antwort anzei...

Verständnis von Haslaylout- und BFC-Parsing

1. haslayout und bfc sind IE-spezifische und Stand...

Super detaillierte grundlegende JavaScript-Syntaxregeln

Inhaltsverzeichnis 01 JavaScript (abgekürzt: js) ...