GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer apache bench sur RHEL 8

Apache Bench est un petit outil utile pour tester le temps de réponse d'un webservice, et donc les performances du serveur web. Nous pouvons spécifier le nombre de requêtes à envoyer, l'URL cible, configurer la simultanéité, pour n'en nommer que quelques-uns des paramètres de cet outil.

Bien que de telles charges de travail simulées ne génèrent pas exactement les mêmes données que le trafic réel, il est toujours judicieux de tester avant de passer en production. Peut-être qu'avant de déployer une nouvelle version de l'application, nous pourrions exécuter les tests sur la nouvelle version et comparer les résultats avec les données de test précédentes pour voir si notre application servira plus lentement ou plus rapidement que la dernière version. Avec des tests bien planifiés, cet outil peut montrer les éventuels goulots d'étranglement de l'application et peut fournir des points d'intérêt où nous devrions examiner notre code pour une éventuelle optimisation.

Dans ce didacticiel, nous allons installer Apache Bench sur Red Hat Enterprise Linux 8, ainsi qu'un serveur Web Apache pour exécuter des tests.

Dans ce didacticiel, vous apprendrez :

  • Comment installer Apache Bench
  • Comment installer le serveur Web httpd et ajouter du contenu de base
  • Comment exécuter des tests simples sur le serveur Web

Exécution de tests de performances sur un serveur Web local avec Apache Bench.

Configuration logicielle requise et conventions utilisées

Configuration logicielle requise et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version du logiciel utilisée
Système Red Hat Enterprise Linux 8
Logiciel Apache Bench 2.3
Autre Accès privilégié à votre système Linux en tant que root ou via le sudo commande.
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

Comment installer apache bench sur Redhat 8 instructions étape par étape

Apache Bench est disponible dans les sources logicielles de base après avoir activé les référentiels de gestion des abonnements avec Apache httpd serveur Web. Pour tester notre outil, nous allons ajouter du contenu de base au serveur Web, à la fois statique et écrit en php .

  1. Pour installer Apache Bench, qui se trouve dans httpd-tools package, nous utiliserons dnf :
    # dnf install httpd-tools
  2. Pour créer un environnement de test, nous utiliserons notre ab outil activé, nous allons installer un serveur Web avec prise en charge de php :
    # dnf install httpd php
  3. Nous allons ajouter une page HTML statique /var/www/html/index.html avec le contenu suivant :
    <html>
    <head>
    <title>Title of the webpage</title>
    </head>
    <body>
    <p>This is a simple html page.</p>
    </body>
    </html>

    Et une autre page qui aboutit au même contenu, mais qui est écrite en php de manière intentionnellement inutile. Le fichier sera /var/www/html/index.php , avec le contenu ci-dessous :

    <?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";
    ?>

    Notez que comme nous servons du texte statique, nous n'aurions besoin que d'un seul echo , ou pas de php du tout. Nous créons cette page uniquement pour voir la différence dans les temps de réponse.

  4. Nous pouvons démarrer notre serveur Web :
    # systemctl start httpd
  5. Nous n'avons pas besoin de root privilèges pour l'analyse comparative. Pour le premier test, nous exécuterons ab par rapport à la page statique index.html , fournissant 100 000 requêtes (-n) pour la page dans 10 threads simultanés (-c), dans un délai maximum de 60 secondes (-t). Sur la machine de laboratoire, ce nombre de requêtes sera traité en une minute, mais selon le matériel, cela peut ne pas être suffisant. Notez également que nous avons éliminé le véritable trafic réseau en comparant l'hôte local, et nous poussons la charge de l'exécution des requêtes et de leur traitement sur le même matériel.
    $ 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. Le deuxième test s'exécutera avec le même ensemble de paramètres, mais contre la page php inutile 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. Comment installer Apache Tomcat sur Linux RHEL 8 / CentOS 8

  2. Comment installer Apache sur RHEL 8 / CentOS 8 Linux

  3. Comment installer Spark sur RHEL 8

  4. Comment installer Apache Maven CentOS 7 / RHEL 7

  5. Comment installer Apache sur Ubuntu ?

Comment installer Apache Maven CentOS 8 / RHEL 8

Comment installer Apache avec Let's Encrypt sur RHEL 8

Comment installer Apache Solr 8.9 sur CentOS/RHEL 8

Comment installer Apache Solr sur CentOS &RHEL 8

Comment installer Apache Kafka dans CentOS/RHEL 7

Comment installer Apache sur Ubuntu 20.04