Trucchi e suggerimenti per migliorare la performance di un applicazione web.
Ci sono molti modi per ottimizzare la performance di un applicazione web, qui ne scrivo alcuni:
1) L’utilizzo di un sottodominio per i file statici. Suggerirei utilizzare un webserver come lighttpd oppure nginx in modo da ottenere una risposta ottimale (nella mia esperienza apache non è il massimo per questo tipo di utilizzo). Il Web Server dovrebbe essere installato su un server separato, se ciò non è possibile per vari motivi, si può installarlo su una porta diversa dal server principale.
2) Utilizzare cache control sui file statici per impostare la scadenza molto in la del tempo.
Dentro .htaccess
ExpiresDefault "modification plus 10 years" ExpiresByType text/html "modification plus 1 minute"
3) Usare css Sprites. Se nella vostra pagina principale ci sono richiami a 15 immagini, al webserver arriveranno 15 chiamate. Anche se si utilizza keep-alive, è un overhead inutile. Utilizzando la tecnica di css sprites, viene caricata solamente un immagine che viene usata per tutti 15 elementi. Unica nota: in questo caso non bisogna esagerare, per esempio: se voi nella stessa sprite mettete le immagini di menu e la vostra foto della pagina “contattaci”, un utente che naviga attraverso il sito caricherà questo peso considerevole anche nelle pagine dove non verrà mai usata. Quindi suggerirei di usare tale tecnica solamente per le immagini relative ai menu, background degli elementi, et similar.
4) Effettuare il preloading. Si tratta di una tecnica piuttosto intelligente: per esempio se nella vostra home page avete un grosso banner che cita “Promozione solo per oggi” potrebbe valere la pena precaricare (tramite javascript per esempio) i contenuti della pagina a cui punta il banner. In questo modo il caricamento per l’utente averrà molto più rapidamente. Anche qui vale la regola di non overusare la tecnica poiché potrebbe provocare inutili rallentamenti all’utente finale.
5) L’utilizzo di gzip per tutto il contenuto. Non c’è molto da dire qui, il contenuto compresso viene trasmesso più rapidamente. Potete farlo utilizzando il mod_gzip di Apache
6) Utilizzare il Cdn per i file. Se le finanze ve lo permettono, potrebbe valere la pena di appoggiare i file statici presso un Cdn. Da notare che vale la pena di farlo solo se il cdn scelto offre la velocità maggiore del vostro server e/o se il target del vostro sito è multinazionale.
7) Compressione dei file js/css: potrebbe valere la pena di comprimere i vostri file js/css in modo da minimizzare la velocità di trasferimento di essi.
8) Utilizzare YSlow per ulteriori suggerimenti.
Se avete altri suggerimenti/critiche, scrivete nei commenti
No Comments