Spike00
18-05-2009, 20:01
Buondì,
il forum mi risulta troppo lento (connettività Telecom (Alice Business o giù di lì non ricordo abbiamo cambiato da poco)), browser qualsiasi e comunque firefox come riferimento.
Difficile dall'esterno valutare compiutamente, tuttavia ho visto che ci sono alcune cose che si potrebbero fare per migliorare la situazione (sempre con le pinze perchè potrebbero d'altro canto andare a peggiorare le performance della cpu, ma in tutti i siti in cui ho applicato questo script ho ottenuto enormi benefici).
Cosa c'è che degrada le performances?
1) Assenza di compressione (gzip) (per i css e js è poco importante, ma per il documento html è fondamentale, soprattutto quando si va a caricare ad esempio la sezione 'dolce' del forum (è solo un esempio) dove si hanno 209 Kb solo di html.
2) Enorme numero di richieste http per costruire una pagina (sempre l'esempio della sezione dolce del forum), ci sono 118 richieste http, la maggior parte delle quali rappresentata da immagini (non 'gestite' da css).
Se si riuscisse a gestirle (non tutte ovviamente, ma la maggior parte) tramite css, con lo script di cui parlo dopo si otterrebbero benefici enormi.
E' vero che queste 97 immagini vanno in cache, ma senza la gestione degli header expires, richiamando la stessa pagina rimangono comunque 118 richieste HTTP.
Non è facilmente quantificabile il tempo di 'esecuzione' di una richiesta http, tuttavia un browser 'comune' senza accorgimenti particolari è in grado di gestirne contemporaneamente mi pare 2 o 3 e se una di queste tarda ad essere soddisfatta, non va avanti....
La riduzione del peso delle pagine da scaricare (anche senza variare il peso dei singoli elementi) e la riduzione del numero di richieste http, non solo vanno a beneficio dell'utente, ma ovviamente anche del server...
Se un utente, al primo accesso alla sezione dolce deve scaricare 645Kb per aprire la pagina e 212 ad ogni 'accesso' successivo (ovviamente considerando che non abbia disabilitato la cache nel suo browser), moltiplicando per 150 utenti contemporanei (poco fa), abbiamo (ipotizzando tutti secondi accessi, ma tutti sulla sezione dolce) 31,8 Mb di richiesta e 17700 richieste HTTP.
Con il solo gzip si potrebbe forse arrivare a 80Kb per un totale di 12Mb contro 31,8 e probabilmente circa una decina di richieste HTTP, per un totale di 1500 contro 17700.
Credo che il server ringrazierebbe ;)
Per un'analisi dettagliata basta utilizzare Yslow di firefox (da installare 'sopra' firebug). Allego un paio di immagini ottenute con Yslow sull'apertura della pagina principale della sezione dolce.
E una prova rapidissima per implementare il 90% di quanto segnala Yslow, consiste nell'usare smartoptimizer uno script semplice ma geniale realizzato da un ragazzo iraniano, peraltro molto disponibile a risolvere eventuali bug(la 1.7 è uscita due giorni dopo che gli avevo segnalato un problema con i files htc inclusi via css).
Lo script si trova qui: http://farhadi.ir/works/smartoptimizer
La cosa fantastica è che salvo casi particolari non si deve fare nulla a parte trasferire i (pochi) files via FTP.
Saluti
il forum mi risulta troppo lento (connettività Telecom (Alice Business o giù di lì non ricordo abbiamo cambiato da poco)), browser qualsiasi e comunque firefox come riferimento.
Difficile dall'esterno valutare compiutamente, tuttavia ho visto che ci sono alcune cose che si potrebbero fare per migliorare la situazione (sempre con le pinze perchè potrebbero d'altro canto andare a peggiorare le performance della cpu, ma in tutti i siti in cui ho applicato questo script ho ottenuto enormi benefici).
Cosa c'è che degrada le performances?
1) Assenza di compressione (gzip) (per i css e js è poco importante, ma per il documento html è fondamentale, soprattutto quando si va a caricare ad esempio la sezione 'dolce' del forum (è solo un esempio) dove si hanno 209 Kb solo di html.
2) Enorme numero di richieste http per costruire una pagina (sempre l'esempio della sezione dolce del forum), ci sono 118 richieste http, la maggior parte delle quali rappresentata da immagini (non 'gestite' da css).
Se si riuscisse a gestirle (non tutte ovviamente, ma la maggior parte) tramite css, con lo script di cui parlo dopo si otterrebbero benefici enormi.
E' vero che queste 97 immagini vanno in cache, ma senza la gestione degli header expires, richiamando la stessa pagina rimangono comunque 118 richieste HTTP.
Non è facilmente quantificabile il tempo di 'esecuzione' di una richiesta http, tuttavia un browser 'comune' senza accorgimenti particolari è in grado di gestirne contemporaneamente mi pare 2 o 3 e se una di queste tarda ad essere soddisfatta, non va avanti....
La riduzione del peso delle pagine da scaricare (anche senza variare il peso dei singoli elementi) e la riduzione del numero di richieste http, non solo vanno a beneficio dell'utente, ma ovviamente anche del server...
Se un utente, al primo accesso alla sezione dolce deve scaricare 645Kb per aprire la pagina e 212 ad ogni 'accesso' successivo (ovviamente considerando che non abbia disabilitato la cache nel suo browser), moltiplicando per 150 utenti contemporanei (poco fa), abbiamo (ipotizzando tutti secondi accessi, ma tutti sulla sezione dolce) 31,8 Mb di richiesta e 17700 richieste HTTP.
Con il solo gzip si potrebbe forse arrivare a 80Kb per un totale di 12Mb contro 31,8 e probabilmente circa una decina di richieste HTTP, per un totale di 1500 contro 17700.
Credo che il server ringrazierebbe ;)
Per un'analisi dettagliata basta utilizzare Yslow di firefox (da installare 'sopra' firebug). Allego un paio di immagini ottenute con Yslow sull'apertura della pagina principale della sezione dolce.
E una prova rapidissima per implementare il 90% di quanto segnala Yslow, consiste nell'usare smartoptimizer uno script semplice ma geniale realizzato da un ragazzo iraniano, peraltro molto disponibile a risolvere eventuali bug(la 1.7 è uscita due giorni dopo che gli avevo segnalato un problema con i files htc inclusi via css).
Lo script si trova qui: http://farhadi.ir/works/smartoptimizer
La cosa fantastica è che salvo casi particolari non si deve fare nulla a parte trasferire i (pochi) files via FTP.
Saluti