Tag Archives: gzip

Ottimizzare le performance di IIS6 grazie a GTmetrix

Internet deve essere un esperienza veloce e completa.
Questi secondo molti sono le due caratteristiche importanti per cui, non solo gli utenti ma anche Google premiano un sito. Per cercare di arrivare alla perfezione, oltre a curare il codice durante la fase di programmazione, si deve avere lo stesso tipo di attenzione anche lato server, dove è possibile con piccoli accorgimenti, migliorare, e di molto, la situazione.

Il server in esame, non ha personalizzazzioni importanti se non l’installazione del modulo ISAPI_Rewrite3 che con queste versione, ha raggiunto una forte compatibilità con il più famoso mod_rewrite di Apache.

Dallo screen, preottimizazzione possiamo notare come GTmetrix, ci fornisca facilmente i motivi della nostra pessima valutazione:

Per migliorare la situazione, basta solamente seguire le indicazioni fornite, ma come ci si comporta in ambiente IIS6? Ecco la soluzione generale al problema:

  • Abilitare l’HTTPCompression: in questo modo la risposta sarà inviata dal server al client in modo compresso, utilizzano gzip. Per attivare il modulo e configurarlo ci si deve spostare nella directory “c:\inetpub\adminscripts\” con la console di windows.
    Ora, se si elencano i file presenti, si potrà notare la presenza del file adsutil.vbs, utility di microsoft, creata per aiutare a configurare IIS, proprio quello che fa al caso nostro. Diamo quindi il seguente comando:

    adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression true

    Dopo aver abilitato la compressione, si deve indicare il metodo gzip,

    cscript adsutil.vbs get W3SVC/Filters/Compression/gzip/HcFileExtensions

    Specificando la tipologia di file che rispetteranno questa regola

    cscript adsutil.vbs set W3SVC/Filters/Compression/gzip/HcFileExtensions "js" "css" "html" "htm"

    Si possono inserire anche i file immagine, quali jpg o png, ma questo richiederà senza dubbio un carico di memoria ulteriore al server, con dei dubbi giovamenti per quanto riguarda le performance.

  • Abilitare l’Expires Headers, ovvero informare il client che il contenuto presente nella cache del browser è valido, perchè non è stato modificato rispetto all’ultima visita. Grazie a questa impostazione si possono ridurre notevolmente il numero di chiamate HTTP fra client e server e visualizzare con un notevole anticipo la pagina desiderata.
    Se però il contenuto della pagina è variato, si può correre il rischio che il client non visualizzi correttamente il contenuto; per eludere questo problema, basta rinominare, quando possibile i file modificati!
    Per attivare questa opzione, si può agire a livello di serve oppure di singola cartella, entrando nelle sue proprieta attraverso l’IIS Manager, selezionare la tab HTTP Headers e definire il lasso di tempo, come si vede qui sotto.
    httpheadersSuggerisco di settare come periodo di validatà della cache 30 giorni.

Una volta riavviato il server IIS (iisreset) si può eseguire nuovamente il test, ed ecco i risultati:

Come si nota, la valutazione è nettamente migliorata,suggerndo prontamente altre modifiche.