GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare apache bench su RHEL 8

Apache Bench è un piccolo strumento utile per testare il tempo di risposta di un servizio web e quindi le prestazioni del server web. Possiamo specificare il numero di richieste da inviare, l'URL di destinazione, impostare la concorrenza, solo per nominare alcune delle impostazioni di questo strumento.

Sebbene tali carichi di lavoro simulati non restituiranno esattamente gli stessi dati del traffico nel mondo reale, è sempre una buona idea eseguire un test prima di passare alla produzione. Forse prima di distribuire una nuova versione dell'applicazione, potremmo eseguire i test sulla nuova versione e confrontare i risultati con i dati del test precedente per vedere se la nostra applicazione funzionerà più lentamente o più velocemente dell'ultima versione. Con test ben pianificati, questo strumento può mostrare i possibili colli di bottiglia dell'applicazione e può fornire punti di interesse in cui dovremmo esaminare il nostro codice per una possibile ottimizzazione.

In questo tutorial installeremo Apache Bench su Red Hat Enterprise Linux 8, oltre a un server Web Apache su cui eseguire alcuni test.

In questo tutorial imparerai:

  • Come installare Apache Bench
  • Come installare il server web httpd e aggiungere alcuni contenuti di base
  • Come eseguire semplici test sul server web

Esecuzione di test delle prestazioni sul server web locale con Apache Bench.

Requisiti e convenzioni software utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema Red Hat Enterprise Linux 8
Software Apache Bench 2.3
Altro Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Come installare Apache Bench su Redhat 8 istruzioni passo passo

Apache Bench è disponibile nelle fonti software di base dopo aver abilitato i repository di gestione degli abbonamenti insieme ad Apache httpd server web. Per provare il nostro strumento, aggiungeremo alcuni contenuti di base al server web, sia statici che scritti in php .

  1. Per installare Apache Bench, che si trova in httpd-tools pacchetto, useremo dnf :
    # dnf install httpd-tools
  2. Per creare un ambiente di test utilizzeremo il nostro ab strumento attivo, installeremo un server web con supporto php:
    # dnf install httpd php
  3. Aggiungeremo una pagina HTML statica /var/www/html/index.html con il seguente contenuto:
    <html>
    <head>
    <title>Title of the webpage</title>
    </head>
    <body>
    <p>This is a simple html page.</p>
    </body>
    </html>

    E un'altra pagina che risulta nello stesso contenuto, ma è scritta in php in modo intenzionalmente dispendioso. Il file sarà /var/www/html/index.php , con i seguenti contenuti:

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

    Nota che poiché serviamo testo statico, avremmo bisogno solo di un echo , o nessun php affatto. Creiamo questa pagina solo per vedere la differenza nei tempi di risposta.

  4. Possiamo avviare il nostro server web:
    # systemctl start httpd
  5. Non abbiamo bisogno di root privilegi per il benchmarking. Per il primo test, eseguiremo ab contro la pagina statica index.html , fornendo 100000 richieste (-n) per la pagina in 10 thread simultanei (-c), entro l'intervallo di tempo massimo di 60 secondi (-t). Sulla macchina del laboratorio questa quantità di richieste verrà servita in un minuto, ma a seconda dell'hardware potrebbe non essere sufficiente. Si noti inoltre che abbiamo eliminato il vero traffico di rete eseguendo il benchmarking da localhost e spingiamo il carico sia dell'esecuzione delle richieste che del servizio sullo stesso hardware.
    $ 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. Il secondo test verrà eseguito con lo stesso set di parametri, ma contro la pagina php dispendiosa 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. Come installare Apache Tomcat su Linux RHEL 8 / CentOS 8

  2. Come installare Apache su RHEL 8 / CentOS 8 Linux

  3. Come installare Spark su RHEL 8

  4. Come installare Apache Maven CentOS 7 / RHEL 7

  5. Come installare Apache su Ubuntu?

Come installare Apache Maven CentOS 8 / RHEL 8

Come installare Apache con Let's Encrypt su RHEL 8

Come installare Apache Solr 8.9 su CentOS/RHEL 8

Come installare Apache Solr su CentOS e RHEL 8

Come installare Apache Kafka in CentOS/RHEL 7

Come installare Apache su Ubuntu 20.04