GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie Apache Bench auf RHEL 8

Apache Bench ist ein nützliches kleines Tool zum Testen der Antwortzeit eines Webservices und damit der Leistung des Webservers. Wir können die Anzahl der zu sendenden Anfragen, die Ziel-URL und die Parallelität festlegen, um nur einige der Einstellungen dieses Tools zu nennen.

Obwohl solche simulierten Workloads nicht genau die gleichen Daten liefern wie der reale Datenverkehr, ist es immer eine gute Idee, sie zu testen, bevor sie in die Produktion gehen. Vielleicht könnten wir vor der Bereitstellung einer neuen Version der Anwendung die Tests auf der neuen Version ausführen und die Ergebnisse mit den vorherigen Testdaten vergleichen, um zu sehen, ob unsere Anwendung langsamer oder schneller als die letzte Version ausgeführt wird. Mit gut geplanten Tests kann dieses Tool die möglichen Engpässe der Anwendung aufzeigen und interessante Punkte liefern, an denen wir unseren Code auf mögliche Optimierung untersuchen sollten.

In diesem Tutorial installieren wir Apache Bench auf Red Hat Enterprise Linux 8 sowie einen Apache-Webserver, um einige Tests durchzuführen.

In diesem Tutorial lernen Sie:

  • So installieren Sie Apache Bench
  • Wie man den httpd-Webserver installiert und einige grundlegende Inhalte hinzufügt
  • Wie man einfache Tests gegen den Webserver durchführt

Ausführen von Leistungstests auf dem lokalen Webserver mit Apache Bench.

Softwareanforderungen und verwendete Konventionen

Softwareanforderungen und Linux-Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder verwendete Softwareversion
System Red Hat Enterprise Linux 8
Software Apache Bench 2.3
Andere Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl.
Konventionen # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Schritt-für-Schritt-Anleitung zur Installation von Apache Bench auf Redhat 8

Apache Bench ist in den Basissoftwarequellen verfügbar, nachdem Abonnementverwaltungsrepositorys zusammen mit dem Apache httpd aktiviert wurden Webserver. Um unser Tool auszuprobieren, fügen wir dem Webserver einige grundlegende Inhalte hinzu, sowohl statisch als auch in php geschrieben .

  1. Zur Installation von Apache Bench, das sich in den httpd-tools befindet Paket verwenden wir dnf :
    # dnf install httpd-tools
  2. Um eine Testumgebung zu erstellen, verwenden wir unseren ab Tool an, installieren wir einen Webserver mit PHP-Unterstützung:
    # dnf install httpd php
  3. Wir fügen eine statische HTML-Seite /var/www/html/index.html hinzu mit folgendem Inhalt:
    <html>
    <head>
    <title>Title of the webpage</title>
    </head>
    <body>
    <p>This is a simple html page.</p>
    </body>
    </html>

    Und eine andere Seite, die zu demselben Inhalt führt, aber absichtlich verschwenderisch in PHP geschrieben ist. Die Datei wird /var/www/html/index.php sein , mit folgendem Inhalt:

    <?php
    echo "<html>\n";
    echo "<head>\n";
    echo "<title>Title of the webpage</title>\n";
    echo "</head>\n";
    echo "<body>\n";
    echo "<p>This is a simple html page.</p>\n";
    echo "</body>\n";
    echo "</html>\n";
    ?>

    Beachten Sie, dass wir, da wir statischen Text bereitstellen, nur ein echo benötigen würden , oder überhaupt kein PHP. Wir erstellen diese Seite nur, um den Unterschied in den Antwortzeiten zu sehen.

  4. Wir können unseren Webserver starten:
    # systemctl start httpd
  5. Wir brauchen kein root Privilegien für Benchmarking. Für den ersten Test führen wir ab aus gegen die statische Seite index.html , wobei 100000 Anfragen (-n) für die Seite in 10 gleichzeitigen Threads (-c) innerhalb des maximalen Zeitrahmens von 60 Sekunden (-t) bereitgestellt werden. Auf dem Laborcomputer wird diese Anzahl von Anfragen in einer Minute bedient, aber je nach Hardware reicht dies möglicherweise nicht aus. Beachten Sie auch, dass wir den echten Netzwerkverkehr durch Benchmarking von localhost eliminiert haben und wir die Last erhöhen, indem wir die Anfragen sowohl ausführen als auch auf derselben Hardware bedienen.
    $ ab -t 60 -n 100000 -c 10 http://localhost/index.html
    This is ApacheBench, Version 2.3 <$Revision: 1826891
    
    
    
    
    
    

    gt;
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/

    Benchmarking localhost (be patient)
    Completed 10000 requests
    Completed 20000 requests
    Completed 30000 requests
    Completed 40000 requests
    Completed 50000 requests
    Completed 60000 requests
    Completed 70000 requests
    Completed 80000 requests
    Completed 90000 requests
    Completed 100000 requests
    Finished 100000 requests

    Server Software: Apache/2.4.35
    Server Hostname: localhost
    Server Port: 80

    Document Path: /index.html
    Document Length: 116 bytes

    Concurrency Level: 10
    Time taken for tests: 19.556 seconds
    Complete requests: 100000
    Failed requests: 0
    Total transferred: 39600000 bytes
    HTML transferred: 11600000 bytes
    Requests per second: 5113.63 [#/sec] (mean)
    Time per request: 1.956 [ms] (mean)
    Time per request: 0.196 [ms] (mean, across all concurrent requests)
    Transfer rate: 1977.53 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.2 0 3
    Processing: 0 2 0.8 2 26
    Waiting: 0 1 0.7 1 26
    Total: 0 2 0.8 2 26

    Percentage of the requests served within a certain time (ms)
    50% 2
    66% 2
    75% 2
    80% 2
    90% 3
    95% 3
    98% 4
    99% 5
    100% 26 (longest request)

  6. Der zweite Test wird mit denselben Parametern ausgeführt, aber gegen die verschwenderische PHP-Seite index.php .
    $ ab -t 60 -n 100000 -c 10 http://localhost/index.php  
    This is ApacheBench, Version 2.3 <$Revision: 1826891
    
    
    
    
    

    gt;
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/

    Benchmarking localhost (be patient)
    Completed 10000 requests
    Completed 20000 requests
    Completed 30000 requests
    Completed 40000 requests
    Completed 50000 requests
    Completed 60000 requests
    Completed 70000 requests
    Completed 80000 requests
    Completed 90000 requests
    Completed 100000 requests
    Finished 100000 requests

    Server Software: Apache/2.4.35
    Server Hostname: localhost
    Server Port: 80

    Document Path: /index2.php
    Document Length: 116 bytes

    Concurrency Level: 10
    Time taken for tests: 35.064 seconds
    Complete requests: 100000
    Failed requests: 0
    Total transferred: 30700000 bytes
    HTML transferred: 11600000 bytes
    Requests per second: 2851.89 [#/sec] (mean)
    Time per request: 3.506 [ms] (mean)
    Time per request: 0.351 [ms] (mean, across all concurrent requests)
    Transfer rate: 855.01 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.2 0 3
    Processing: 1 3 1.2 3 27
    Waiting: 0 3 1.2 3 27
    Total: 1 3 1.3 3 28

    Percentage of the requests served within a certain time (ms)
    50% 3
    66% 4
    75% 4
    80% 4
    90% 5
    95% 6
    98% 7
    99% 7
    100% 28 (longest request)
    It isn't a big surprise what the results show. The static content is served much faster than the wasteful page that also need to go trough the php interpreter. And with this we have shown in a simple example how the Apache Bench tool can be used to gather statistics on the response time of our webservices.


Linux
  1. So installieren Sie Apache Tomcat unter Linux RHEL 8 / CentOS 8

  2. So installieren Sie Apache unter RHEL 8 / CentOS 8 Linux

  3. So installieren Sie Spark auf RHEL 8

  4. So installieren Sie Apache Maven CentOS 7 / RHEL 7

  5. Wie installiere ich Apache auf Ubuntu?

So installieren Sie Apache Maven CentOS 8 / RHEL 8

So installieren Sie Apache mit Let’s Encrypt auf RHEL 8

So installieren Sie Apache Solr 8.9 auf CentOS/RHEL 8

So installieren Sie Apache Solr unter CentOS &RHEL 8

So installieren Sie Apache Kafka in CentOS/RHEL 7

So installieren Sie Apache unter Ubuntu 20.04