[apache] Utilizzare ApacheBench per testare le performance del nostro server Apache

Anzitutto installiamo ApacheBench se non lo abbiamo già fatto, eseguendo il comando:

Normalmente Apache viene eseguito sulla porta 80 (http) e 443 (https), ma queste porte possono cambiare, come, per esempio, nel caso di una configurazione combinata con nGinx. Per scoprire su quali porte si trova Apache è sufficiente digitare da terminale:

Dovremmo vedere un output simile a questo:

In questo caso testiamo apache sulle porte 7080 e 7081.

Per lanciare il test digitiamo:

Questo eseguirà 500.000 richieste a pacchetti di 500 richieste per volta (richieste concorrenti). Il parametro -s 3600 imposta il timeout per l’esecuzione su 3600 secondi, mentre il valore predefinito è di 30 secondi.

Otterremo un risultato simile a questo:

Questo significa che per rispondere a 500.000 richieste al tasso di 500 richieste per volta, il server ha impiegato in tutto 25,163 secondi. Il tempo medio per ogni chiamata (500 richieste concorrenti) è di 25,163 millisecondi. Il tempo medio per ogni singola richiesta concorrente è quindi di 0,050 ms, dove 25,163ms / 500 = 0,050326 ms.

Adesso possiamo provare ad aumentare il carico sul server aumentando il numero di richieste concorrenti.

Il risultato sarà simile a questo:

Vediamo come il tempo per singola richiesta concorrente è passato da 0,050 ms a 0,660 ms. Il numero di richieste concorrenti è aumentato di 2 volte, mentre il tempo di risposta è aumentato di 13,2 volte.

Se proviamo ad eseguire invece 5.000 richieste concorrenti digitando:

Otterremo il seguente errore:

socket: Too many open files (24)

Questo significa che abbiamo superato il massimo numero di file aperti contemporaneamente e consentiti dal sistema. Tale configurazione dipende dalle configurazioni di sicurezza del sistema ed è modificabile in /etc/security/limits.conf

Digitiamo:

Dentro il file possiamo stabilire i singoli servizi quali limiti avranno, per aumentare il limite di tutti i servizi possiamo aggiungere in fondo al file:

Questo imposterà il limite al massimo valore consentito.

Se volessimo impostare il limite a 5000 file contemporanei dovremmo digitare ovviamente 5000.

Lo stesso risultato si può ottenere con:

Il comando non renderà la modifica persistente e al prossimo riavvio il valore tornerà a quello predefinito.

A questo punto possiamo ritentare il benchmark con:

Attenzione ad eseguirlo al netto del limite possibile, perché è probabile che si raggiunga la saturazione per via di altri file aperti quando si è prossimi al limite.

Vedi articolo

[ubuntu] Installare Google PageSpeed Insights su server Apache

Su PageSpeed Insights Google mette a disposizione un utile strumento per verificare la velocità del proprio sito web, assieme a diversi parametri di ottimizzazione. Inutile dire che si tratta anzitutto di uno strumento di panoramica, che ci consente di verificare determinate caratteristiche tecniche del sito, che non devono essere per forza tutte soddisfatte (a volte è semplicemente impossibile, come quando segnala tra i javascript da ottimizzare quelli di Google Analytics stesso).

Vediamo come installarlo sul nostro server (come al solito nell’esempio utilizzo un Ubuntu Server 16.04).

Anzitutto apriamo il terminale e scarichiamo il file di installazione:

Questo comando scaricherà un file mod-pagespeed-stable_current_amd64.deb nella cartella che abbiamo selezionato.

Installiamo il pacchetto con:

A questo punto eseguiamo il controllo di tutte le dipendenze dei pacchetti installati con:

Se tutto è andato a dovere riavviamo apache.

Per attivare PageSpeed sarà sufficiente aggiungere, nella configurazione del virtual host, oppure in un file .htaccess l’istruzione:

Maggiori informazioni sui parametri di configurazione si trovano sul sito ufficiale.

 

Vedi articolo