GNU/Linux >> Linux Esercitazione >  >> Linux

Come confrontare le prestazioni del server Web con Apache Bench

Se sei un webmaster, potresti essere spesso preoccupato per le prestazioni delle tue applicazioni web. Potresti porre domande come "come eseguo il test di carico della mia applicazione?" o "la mia applicazione sarà in grado di gestire molti utenti?" In questi casi, Apache Bench può essere di grande aiuto. Apache Bench è uno strumento gratuito e open source per misurare le prestazioni di un server Web con un'interfaccia a riga di comando semplice e facile da usare; può aiutarti a capire come funziona la tua attuale installazione di Apache.

In questo tutorial, ti mostreremo come installare e utilizzare Apache Bench su Linux.

Prerequisiti

  • Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.Net Cloud.
  • Sul tuo server è configurata una password di root.

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 1GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il seguente comando per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.

apt-get update -y

Passaggio 2:installazione di Apache Bench

Apache Bench fa parte del pacchetto del server web Apache, quindi non è necessario installare Apache Bench se il server web Apache è installato sul tuo sistema.

Per il sistema operativo Ubuntu/Debian, installa lo strumento Apache Bench con il seguente comando:

apt-get install apache2-utils -y

Per il sistema operativo RHEL/CentOS, installa lo strumento Apache Bench con il seguente comando:

yum install httpd-tools -y

Puoi visualizzare tutte le opzioni disponibili con lo strumento Apache Bench utilizzando il seguente comando:

ab

Dovresti vedere la seguente schermata:

Di seguito una breve spiegazione delle opzioni più comunemente utilizzate:

  • -n: Specificare il numero di richieste di connessione inviate al server web.
  • -c: Specifica il numero di richieste di connessione simultanee inviate al server web.
  • -t: Specifica il numero di secondi in cui il comando ab deve continuare a inviare richieste.

Nota: A volte potresti ricevere un errore di "connessione scaduta". Il motivo è la tua richiesta di connessione bloccata da un firewall o il server web Apache non è stato in grado di gestire ulteriori richieste.

Fase 3:esecuzione di uno stress test

A questo punto, lo strumento Apache Bench è installato. Ora puoi eseguire uno stress test sul tuo server web in locale o utilizzando il nome di dominio.

Eseguiamo uno stress test sul tuo server web Apache inviando 800 richieste su 300 connessioni simultanee.

ab -n 800 -c 300 http://your-domain-name/

Questo funzionerà per 800 richieste con una simultaneità di 300 come mostrato di seguito:

This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Finished 800 requests
Server Software:        Apache/2.4.29
Server Hostname:        localhost
Server Port:            80
Document Path:          /
Document Length:        10918 bytes
Concurrency Level:      300
Time taken for tests:   0.459 seconds
Complete requests:      800
Failed requests:        0
Total transferred:      8953600 bytes
HTML transferred:       8734400 bytes
Requests per second:    1743.53 [#/sec] (mean)
Time per request:       172.064 [ms] (mean)
Time per request:       0.574 [ms] (mean, across all concurrent requests)
Transfer rate:          19056.29 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    6   7.8      0      20
Processing:     8   92 124.3     44     437
Waiting:        4   92 124.4     43     437
Total:         22   98 128.9     44     453
Percentage of the requests served within a certain time (ms)
  50%     44
  66%     50
  75%     53
  80%     56
  90%    435
  95%    445
  98%    450
  99%    452
 100%    453 (longest request)

Nell'output sopra, puoi vedere che Apache ha gestito 1743,53 richieste al secondo e ci sono voluti un totale di 0,459 secondi per soddisfare le richieste totali.

Eseguiamo un altro stress test sul tuo server web Nginx e confrontiamolo con il risultato di Apache inviando 800 richieste su 300 connessioni simultanee.

ab -n 800 -c 300 http://your-domain-name/

Dovresti vedere il seguente output:

This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
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 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Finished 800 requests
Server Software:        nginx/1.14.0
Server Hostname:        localhost
Server Port:            80
Document Path:          /
Document Length:        10918 bytes
Concurrency Level:      300
Time taken for tests:   0.184 seconds
Complete requests:      800
Failed requests:        0
Total transferred:      8930400 bytes
HTML transferred:       8734400 bytes
Requests per second:    4354.95 [#/sec] (mean)
Time per request:       68.887 [ms] (mean)
Time per request:       0.230 [ms] (mean, across all concurrent requests)
Transfer rate:          47474.91 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1   12   7.5      9      32
Processing:     5   33  12.8     30      56
Waiting:        4   26  12.9     22      49
Total:         15   46  13.6     46      70
Percentage of the requests served within a certain time (ms)
  50%     46
  66%     56
  75%     58
  80%     60
  90%     64
  95%     66
  98%     70
  99%     70
 100%     70 (longest request)

Nell'output sopra, puoi vedere che Apache ha gestito 4354,95 richieste al secondo e ci sono voluti un totale di 0,184 secondi per soddisfare le richieste totali.

Puoi vedere che Nginx può gestire più richieste di Apache. Dopo aver confrontato il risultato di entrambi i server, avrai un'idea di quale scegliere per la tua applicazione web.

Conclusione

Nella guida sopra, abbiamo imparato come testare le prestazioni del server web con Apache Bench. Ora puoi esplorare lo strumento Apache Bench ed eseguirlo con diverse opzioni per misurare le prestazioni del tuo server web; provalo oggi su VPS Hosting da Atlantic.Net!


Linux
  1. Come configurare un server web Apache

  2. Come configurare più siti Web con il server Web Apache

  3. Come installare Apache Web Server su CentOS 7

  4. Come installare Apache Web Server su Centos 8

  5. Come installare il server Web Apache su Ubuntu

Come configurare WordPress Multisite con Apache Web Server su Ubuntu

Come installare il server Web Apache su Debian 11

Come installare Apache Web Server su Ubuntu 18.04

Come ottimizzare il server Web Apache?

Come installare Drupal su un server Ubuntu 20.04 con Apache

Come impostare l'autenticazione della password con Apache su Ubuntu 18.04