Auteur : Nix Article lu 8 873 fois
Description : Cet article vous montre comment optimiser les performances de votre serveur web IIS 6.0 en activant la compression GZip. Grâce à cette option votre server web enverra les pages plus vite aux clients sans perdre en performance (niveau CPU)
|
La compression de pages ASP .NET dans IIS 6.0 apporte principalement 2 améliorations :
-
Cette manipulation permet d'économiser de la bande passante
-
Si vos pages sont volumineuses, cela vous permet d'envoyer les pages plus rapidement.
À titre d'exemple, suite à la compression de vos pages ASP .NET dans IIS 6.0, une page de 100 Ko arriva au moins 10 fois plus vite dans le navigateur du visiteur. Les performances du serveur ne sont pas affectées par cette compression à la volée des pages (contrairement à ce que l'on pourrait penser).
Appuyons-nous sur un exemple concret : les sites CodeS-SourceS.
Ces sites web sont très fréquentés (entre 80 et 90 000 visiteurs par jour, 300 000 pages délivrées par jour) et les pages sont assez volumineuses (entre 60 et 120ko selon les pages).
Avant la compression des pages, celles-ci mettaient entre 2 et 3 secondes à s'afficher dans le navigateur du visiteur (alors qu'en local l'affichage était instantané). Je pensais que cela était dû au nombre de visiteurs en simultané sur ces sites, qui faisaient ralentir l'application. Mais depuis que la compression des pages ASP .NET a été activée, les pages ne mettent plus que quelques centièmes de secondes à s'afficher dans le navigateur du visiteur !
En terme de bande passante, l'économie est d'environ 40 à 50%. Il est à noter que cette compression n'a pas d'effet sur les fichiers zip et images jpeg. Par contre, si le site n'a que du HTML alors l'économie peut avoisiner les 75 à 80% !
Pour activer cette compression dans IIS 6.0 :
- Allez dans le menu démarrer, "Tous les programmes", "Outils d'administration", "Gestionnaire de services Internet (IIS)"

- Faites un clic droit sur le dossier Sites Web_Propriétés

- Faites un clic droit sur le dossier Sites Web, Propriétés allez dans l'onglet Service

- Dans la rubrique "Compression HTTP", cochez les cases "Compresser les fichiers d'application" et "Compresser les fichiers statiques".
Même si avec cette manipulation la compression sous IIS 6.0 est activée, elle ne permet pas encore de rendre effective la compression pour des pages .aspx (ASP .NET).
- Pour activer la compression des pages ASP .NET, il vous faut ouvrir le fichier «C:\WINDOWS\system32\inetsrv\MetaBase.xml» dans le bloc-notes (mise en garde : faites une copie de sauvegarde de ce fichier AVANT TOUTE MODIFICATION. Ce fichier est un fichier sensible pour le bon fonctionnement de votre IIS).

- Dans le bloc-notes, recherchez alors la balise XML : <IIsCompressionScheme> comportant l'attribut : Location ="/LM/W3SVC/Filters/Compression/gzip"
Dans l'attribut "HcScriptFileExtensions", rajoutez "aspx", afin d'obtenir ceci :
HcScriptFileExtensions = " asp
Aspx
Dll
Exe "
Je vous recommande également d'activer la compression pour les .css et .js dans "HcFileExtensions", après les tests que j'ai effectués, j'ai encore senti une amélioration supplémentaire !

-
Redémarrez ensuite les services IIS (dans Démarrer\Exécuter, tapez « iisreset /restart » puis validez). La compression de pages ASP.NET est maintenant activée !
Petite astuce :
Pour tester vous pouvez utiliser le script du site "http://www.pipeboost.com/report.asp" proposant de voir le gain de compression d'une page.
Ci-dessous le rapport de compression généré par ce script :
URL Donwloaded :
http://www.vbfrance.com/
Original File size: 93 881
Compressed File size: 23 845
Original file size reduction: 74.62%
On peut voir que l'économie de la bande passante avoisine les 75% sur la page principale !