Wie man Webserver mit Apache Bench bewertet

Wie man Webserver mit Apache Bench bewertet

Apache Bank ist ein Tool, das zur Messung der Leistung eines Webservers verwendet wird. Obwohl es in seinem Namen „Apache“ hat, kann es tatsächlich verwendet werden, um jede Art von Webservertyp zu testen. In diesem Tutorial werden wir die Schritte zur Verwendung von Apache Bench und der Interpretation des Berichts über die Leistung eines Webservers durchführen.

Die Apache -Bank funktioniert, indem sie unterschiedliche Mengen an HTTP -Anforderungen an den Webserver senden und die Antwortzeiten aufzeichnen. Es kann Ihnen sagen, wie stark der Server überfordert ist, bevor er überwältigt wird, und die Leistung verringert sich.

In diesem Tutorial lernen Sie:

  • So installieren Sie Apache Bank
  • So verwenden Sie Apache Bank
  • So interpretieren Sie die Apache -Bankergebnisse
Wie man Webserver mit Apache Bench bewertet

Softwareanforderungen und Konventionen verwendet

Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Jede GNU/Linux -Verteilung
Software ab
Andere Privilegierter Zugriff auf Ihr Linux -System als Root oder über die sudo Befehl.
Konventionen # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl
$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

So installieren Sie Apache Bank

Die Apache-Bank ist Teil des Apache2-Utils-Pakets, das mit dem Paketmanager Ihres Systems installiert werden kann.
Verwenden Sie für Ubuntu und andere Debian-basierte Verteilungen den Befehl APT-Get, um ihn zu installieren:

$ sudo apt-get installieren apache2-utils 

Für CentOS/Rhel Execute:

# DNF Installieren Sie HTTPD-Tools 


So verwenden Sie Apache Bank

Verwenden Sie Apache Bench mit dem AB -Befehl. Die grundlegendste Syntax ist:

$ ab Hostname/ 
NOTIZ
ab Benötigt den nachverfolgenden Schrägstrich unter der Adresse des Hostnamens/der IP -Adresse.

Dieser grundlegende Befehl ist ohne zusätzliche Optionen nicht besonders nützlich. Lassen Sie uns also einige einschließen. Apache Bench hat viele Optionen zur Verfügung, einige der nützlichsten sind jedoch:

  • -n (Nummer): Wird verwendet, um die Anzahl der Anforderungen anzugeben, die AB an Apache senden sollte
  • -T (Timeout): Wird verwendet, um (in Sekunden) anzugeben, wie lange AB weiterhin Anfragen senden sollte
  • -c (gleichzeitig): Wird verwendet, um die Anzahl der gleichzeitigen Anfragen für AB zu geben

Sie können mit diesen Optionen herumspielen, um realistischerer Datenverkehr für Ihren Webserver zu simulieren und zu beobachten, wie er unter verschiedenen Mengen an Spannung funktioniert.

$ AB -T 10 -n 10000 -c 100 Hostname/ 

In diesem Befehl wird unser Webserver 10 Sekunden lang vergleichbar, maximal 10.000 Gesamtanfragen sendet und 100 dieser Anfragen gleichzeitig sendet.

Überlegungen

Bei der Verwendung von Apache Bench sind einige Dinge zu berücksichtigen. Wenn ein Server in Sekundenschnelle Tausende von HTTP -Anfragen von einer einzelnen Quelle empfängt, werden viele Firewalls dies als Ablehnung des Dienstangriffs interpretieren und versuchen, wiederholte Verbindungen für eine Weile zu blockieren.

Wir empfehlen nur, Apache Bench in einem lokalen Netzwerk zu verwenden und gegen Hosts zu testen, die Sie kontrollieren. Trotzdem ist dies keine perfekte Simulation des tatsächlichen Verkehrs.

Wenn Benutzer eine Verbindung zu einem Webserver an irgendwo auf der Welt herstellen, haben Benutzer unterschiedliche Latenzniveaus und Hopfen (Die Route, die ihre Verbindung zum Webserver übernimmt), die in der wahrgenommenen Geschwindigkeit Ihrer Website eine wichtige Rolle spielen.
Darüber hinaus könnte Ihr Testgerät (das System, aus dem Sie den AB -Befehl ausführen) ein Engpass sein. Wenn Sie vermuten, dass Ihr System nicht über die Ressourcen verfügt.

Wenn Sie eine bekommen Zeitüberschreitung der Verbindung Fehler, Ihre Verbindungen wurden wahrscheinlich von einer Firewall blockiert oder der Apache -Server wurde überwältigt und konnte weitere Anforderungen nicht bearbeiten.

Apache -Bank -Testergebnisse

Wenn die Apache -Bench ausführt, werden die Ergebnisse an das Terminal ausgeführt und sollte in etwa so aussehen:

Fertig 882 Anfragen Serversoftware: Apache/2.4.29 Server-Hostname: --- Server-Port: 80 Dokumentpfad: / Dokument Länge: 4878 Bytes Parallelitätsstufe: 100 Zeit für Tests: 10.008 Sekunden Vollständige Anfragen: 882 fehlgeschlagene Anfragen: 0 Gesamt übertragen: 4480560 Bytes HTML übertragen.13 [#/s] (Mittelwert) Zeit pro Anfrage: 1134.700 [ms] (Mittelwert) Zeit pro Anfrage: 11.347 [MS] (Mittelwert über alle gleichzeitigen Anforderungen) Übertragungsrate: 437.20 [KBYTES/SEC] Empfangene Verbindungszeiten (MS) min Mittelwert [+/- SD] Median Max Connect: 77 327 1008.3 89 7240 Verarbeitung: 87 115 43.4 101 807 Wait: 86 112 39.1 100 604 Gesamt: 168 442 1009.1 192 7373 Prozentsatz der Anträge, die innerhalb einer bestimmten Zeit (MS) 50% 192 66% 202 75% 224 80% 268 90% 428 95% 1207 98% 3208 99% 7345 100% 7373 (längste Anfrage), abgeschlossen wurden 


Interpretation der Apache -Bank -Ergebnisse

Die obige Ausgabe enthält alle erforderlichen Informationen; Sie müssen nur wissen, was diese verschiedenen Metriken bedeuten, um die Ergebnisse zu verstehen. Wir werden alle in diesem Abschnitt durchgehen.

Apache -Bank -Testergebnisse

Die ersten Zeilen geben einfach allgemeine Informationen über den Webserver an. Die hilfreichen Informationen beginnen wirklich mit dem Zeit für Tests benötigt Linie.

Zeit für Tests benötigt berichtet, wie lange der AB -Befehl dauerte, um seinen Test abzuschließen. Da wir in unserem AB -Befehl -n 10 angegeben haben, wird diese Zeile offensichtlich berichten, dass der Test 10 Sekunden dauerte. Wenn wir keine Zeitüberschreitung angegeben hatten, werden Sie in dieser Zeile erfahren. Nachdem Sie Optimierungen auf Ihren Webserver angewendet haben, sollten Sie eine Verringerung der Zeit, die für Tests durchgeführt wurde, feststellen (wenn keine Zeitüberschreitung angegeben wird).

Vollständige Anfragen berichtet, wie viele Anfragen erfolgreich gesendet und zurückgegeben wurden.

Fehlgeschlagene Anfragen berichtet, wie viele Anfragen nicht abgeschlossen werden konnten. Sie werden offensichtlich eine sehr kleine Zahl sehen möchten, idealerweise Null. Wenn diese Zeile einige fehlgeschlagene Anfragen meldet, könnte dies darauf hinweisen.

Insgesamt übertragen Und HTML übertragen Zeilen melden, wie viel Daten in Bytes an den Webserver gesendet wurden.

Anfragen pro Sekunde ist der Durchschnitt, wie viele Anfragen der Webserver in einer Sekunde verarbeiten konnte. Es ist hilfreich, zu bestimmen, wie Ihr Webserver ausgeführt wird, wenn sich viele Benutzer gleichzeitig darauf anmelden.

Zeit pro Anfrage ist, wie viel Zeit im Durchschnitt brauchte, um eine Anfrage zu bearbeiten. Die Werte sind in Millisekunden angegeben, sodass in unserem Beispiel die Zeit 1 betrug 1.1 Sekunden. Der Zweite Zeit pro Anfrage Der Wert wird einfach mit dem Parallelitätswert multipliziert.

Übertragungsrate Ist es in der Lage, die Daten zu übertragen, was in einem lokalen Netzwerk keinen Engpass aufstellen sollte. Wenn Sie über das Internet testen, können sich die Einschränkungen von Routing und Bandbreite lange vor Apache selbst auf diesen Wert auswirken.

Der Verbindungszeiten (MS) Der Abschnitt listet die Antwortzeiten für verschiedene Stufen der HTTP -Anfragen auf.

Verbindungszeiten (MS) min Mittelwert [+/- SD] Median Max Connect: 77 327 1008.3 89 7240 Verarbeitung: 87 115 43.4 101 807 Wait: 86 112 39.1 100 604 Gesamt: 168 442 1009.1 192 7373 

Verbinden Gibt an, wie viel Zeit es brauchte, um eine Verbindung mit dem Webserver herzustellen.

wird bearbeitet ist die Zeit, in der Apache die Anfragen verarbeitet hat. Da AB dies nicht wirklich messen kann, werden nur die Zeit aufgezeichnet, die eine Verbindung nach der Einleitung geöffnet ist.

Warten ist, wie lange AB zwischen dem Senden einer Anfrage und dem Empfang einer Antwort vom Webserver warten muss.

Gesamt Gibt die Gesamtzeit an, die durch die Initiierung einer Verbindung zum Server, die Empfangen einer Antwort und schließlich schließt die Verbindung abgebrochen wird.

Die letzte Metrik von Apache Bench bietet einen genaueren Blick auf die durchschnittliche Antwortzeit des Webservers, indem die Verbindungszeiten in Perzentile sortiert werden.

Prozentsatz der Anfragen, die innerhalb einer bestimmten Zeit (MS) 50% 192 66% 202 75% 224 80% 268 90% 428 95% 1207 98% 3208 99% 7345 100% 7373 (längste Anfrage) diente 


In unserem oben oben genannten Beispiel wurden 50% der HTTP -Anfragen in nur 192 ms oder weniger abgeschlossen und geschlossen. Dieser Bericht zeigt auch, dass die Antworten, die 7 Sekunden dauern (es gibt nur zwei davon), Ausreißer sind, die das machen Verbindungszeiten weniger alarmierend melden. 90% unserer HTTP -Anfragen wurden in weniger als einer halben Sekunde behandelt.

Abschluss

In diesem Artikel haben wir gesehen, wie Sie Apache Bench installieren und diese verwenden, um die Leistung eines Webservers zu testen. Wir haben auch gelernt, wie man die Ausgabe von Apache Bench interpretiert und es uns ermöglicht, festzustellen, wo die Engpässe liegen. Führen Sie nach der Optimierung Ihres Webservers die Apache -Bank erneut aus und erwarten Sie, dass bessere Leistungsergebnisse vorhanden sind.

Verwandte Linux -Tutorials:

  • USB -Antriebs -Benchmark -Test unter Linux
  • Wie man die Festplattenleistung unter Linux bewertet
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Dinge zu installieren auf Ubuntu 20.04
  • Wie man mit der Woocommerce -REST -API mit Python arbeitet
  • Mastering -Bash -Skriptschleifen beherrschen
  • Vergleich von Linux Apache Pre -Onk -vs -Worker -MPMs
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Linux Apache -Protokollanalysator
  • Wie oft müssen Sie Ihren Linux -Server neu starten??