Ettore Delprino

Web oriented software developer

Portfolio


Ettore Delprino nasce a Chiavari nel 1989, cresciuto con la passione dell'informatica e l'amore per la natura. Pratica ormai da parecchi anni il free-climbing. È iscritto al corso di Ingegneria Informatica dell'Unversità degli Studi di Genova.

Contatti

L’importanza della cache

21 novembre 2011

Secondo me una frase che un buon programmatore dovrebbe sempre tenere a mente, soprattutto in questi momenti di crisi è : “sfrutta quello che hai già!”.

L’ottimizzazione delle risorse è il punto fondamentale! Ottimizzare quello che si ha già! Come molti di voi sapranno WordPress è un mostro mangia memoria. Un’installazione pulita per ogni pagina vista richiede circa 30MB di ram, senza contare i numerosi cicli di clock che il processore deve spendere per elaborare il codice PHP e per le query SQL (minimo 50-60). Ci sono vari sistemi per ottimizzare, si può installare un web server più leggero come nginx, si può utilizzare APC per PHP o imporstare la cache per l’sql ma secondo me il sistema migliore, quello che incrementa veramente le prestazioni di un sito è un semplice sistema di caching dei contenuti.

Se ci pensate, un blog deve essere aggiornato solamente quando viene inserito un nuovo post, quando si inserisce un commento (sempre che non si ci affidi a un sistema esterno come facebook comments o altro) e basta, quindi perché generare sempre le stesse pagine per ogni utente? Basta che siano generate alla prima visita e poi andranno salvate su disco cosicché alle successive richieste non dovranno essere ricreate ma saranno subito pronte.

Se non siete convinti guardate i risultati di due tests che ho eseguito con siege prima e dopo l’attivazione di Lite Cache su WordPress.

Senza cache:

Transactions:		         150 hits
Availability:		      100.00 %
Elapsed time:		       23.47 secs
Data transferred:	        0.33 MB
Response time:		        6.34 secs
Transaction rate:	        6.39 trans/sec
Throughput:		        0.01 MB/sec
Concurrency:		       40.51
Successful transactions:         150
Failed transactions:	           0
Longest transaction:	        8.51
Shortest transaction:	        0.73

Con cache:

Transactions:		         150 hits
Availability:		      100.00 %
Elapsed time:		        3.15 secs
Data transferred:	        0.34 MB
Response time:		        0.07 secs
Transaction rate:	       47.62 trans/sec
Throughput:		        0.11 MB/sec
Concurrency:		        3.48
Successful transactions:         150
Failed transactions:	           0
Longest transaction:	        0.18
Shortest transaction:	        0.00

Come potete vedere i risultati sono cambiati notevolmente, il tempo di risposta è passato da 6.34 a 0.07 secondi, senza parlare della notevole diminuizione di carico del server.

Aspetta! c'è dell'altro!

  • Fans e FanPage, questo è il problema
  • Perché utilizzare un framework PHP Standard
  • Una morte sconosciuta
  • Look at my Portfolio
  • Hai trovato l'articolo interessante?

    Lascia un commento!