Per favore guidami attraverso i comandi che dovrei eseguire per capirlo.
Il test più semplice che puoi fare è eseguire 1000 richieste, 10 alla volta (che simula approssimativamente 10 utenti simultanei che ottengono 100 pagine ciascuno - per tutta la durata del test).
ab -n 1000 -c 10 -k -H "Accept-Encoding: gzip, deflate" http://www.example.com/
-n 1000
è il numero di richieste da effettuare.
-c 10
dice ad AB di fare 10 richieste alla volta, anziché 1 richiesta alla volta, per simulare meglio i visitatori simultanei (rispetto ai visitatori sequenziali).
-k
invia l' KeepAlive
intestazione, che chiede al server Web di non chiudere la connessione dopo ogni richiesta, ma di continuare a riutilizzarla.
Sto anche inviando l'intestazione aggiuntiva Accept-Encoding: gzip, deflate
perché mod_deflate è quasi sempre utilizzato per comprimere l'output text / html 25% -75%, i cui effetti non devono essere ignorati a causa del suo impatto sulle prestazioni complessive del server Web (ad esempio, può trasferire il doppio dei dati nello stesso lasso di tempo, ecc.).
risultati:
Benchmarking www.example.com (be patient)
Completed 100 requests
...
Finished 1000 requests
Server Software: Apache/2.4.10
Server Hostname: www.example.com
Server Port: 80
Document Path: /
Document Length: 428 bytes
Concurrency Level: 10
Time taken for tests: 1.420 seconds
Complete requests: 1000
Failed requests: 0
Keep-Alive requests: 995
Total transferred: 723778 bytes
HTML transferred: 428000 bytes
Requests per second: 704.23 [#/sec] (mean)
Time per request: 14.200 [ms] (mean)
Time per request: 1.420 [ms] (mean, across all concurrent requests)
Transfer rate: 497.76 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 1
Processing: 5 14 7.5 12 77
Waiting: 5 14 7.5 12 77
Total: 5 14 7.5 12 77
Percentage of the requests served within a certain time (ms)
50% 12
66% 14
75% 15
80% 16
90% 24
95% 29
98% 36
99% 41
100% 77 (longest request)
Per l'interpretazione più semplice, ignora tutto MA questa linea:
Requests per second: 704.23 [#/sec] (mean)
Moltiplicalo per 60 e avrai le tue richieste al minuto.
Per ottenere risultati dal mondo reale, ti consigliamo di testare Wordpress invece di alcuni file HTML o index.php statici perché devi sapere come tutto funziona insieme: incluso il codice PHP complesso e più query MySQL ...
Ad esempio, ecco i risultati del test di una nuova installazione di Wordpress sullo stesso sistema e ambiente WAMP (sto usando WampDeveloper, ma ci sono anche Xampp, WampServer e altri) ...
Requests per second: 18.68 [#/sec] (mean)
Ora è 37 volte più lento!
Dopo il test di carico, ci sono una serie di cose che puoi fare per migliorare le prestazioni complessive (Richieste al secondo) e anche rendere il web server più stabile sotto carico maggiore (ad esempio, aumentando -n
e -c
tende ad arrestare Apache), che puoi leggere qui:
Test di carico Apache con AB (Apache Bench)