web-dev-qa-db-fra.com

IIS 7.5 Optimisations pour un site servant uniquement de contenu statique

Je cherche à configurer un domaine sans cookie destiné à servir du contenu statique pour une application Web, similaire au site http://sstatic.net/ site que les sites d'échange de pile utilisent.

Ma question est de savoir quelles optimisations puis-je apporter à mon IIS 7.5 Configuration pour un tel domaine? Par exemple, il ne sera jamais responsable de quoi que ce soit mais servant de contenu statique, la désactivation de l'intégration ASP.NET Soyez un bon coup pour ce site?

Toute suggestion ou références sur la mise en place d'un tel site avec IIS 7.5 serait le bienvenu.

Edit

Juste pour clarifier, ce n'est pas le seul site sur le serveur, de sorte que les optimisations suggérées devraient cibler le niveau du site et non la configuration du niveau du serveur.

21
DanP

Il y a plusieurs considérations dans cette situation, certaines qui sont traitées sur IIS (compression HTTP, en-têtes de mise en cache FX) et certains qui sont traités lors du processus de construction/avant le déploiement (tel que JavaScript et CSS File Concaténation & WhitSpace Minification) .

En tant que tel, il est un peu difficile de vous donner une exécution complète dans une réponse, car certaines dépendent de vos méthodes de construction et de libération. En étapes de haut niveau:

  • Le site est "Cookieless" en vertu de vous à l'aide d'un nouveau domaine, qui n'est pas lié à votre application WebApplication. Puisque vous ne définissez aucun cookies pour le domaine (à l'aide du code d'application F.X. .NET), il est alors "Cookieless".

  • Vous devriez Absolument ​​ Activer la compression HTTP pour le contenu de texte statique tel que JavaScript et CSS.

  • Je ne suis pas le plus grand administrateur IIS, mais aussi loin que je peux le dire, vous n'avez besoin que des composants par défaut IIS associés au rôle de serveur Web BASIC "(IIS)" .

  • Vous devriez Absolument ​​Activer En-têtes de cache longue pour le contenu statique . La recommandation générale est de 31 jours, mais vous pouvez la définir plus haut ou plus bas. N'oubliez pas que si vous servez de contenu statique avec des en-têtes de cache longs, vous devez modifier l'URL si vous modifiez le fichier, pour éviter le nouveau contenu mis en cache étant réutilisé par les clients.

  • Vous Devriez Activer HTTP Keep-Vive (mêmes documents que les en-têtes de mise en cache).

En plus de cela, il existe des tâches de pré-déploiement, telles que WhitSpace compressant le JavaScript et CSS , et Compressez idéalement que le PNG est meilleur , etc. Ceci est Vos outils de développement et votre cycle de construction contribuent à décider comment procéder.

Lorsque vous avez terminé, essayez de télécharger quelques fichiers à partir de votre serveurs statiques avec Yslow activé . Je trouve que le fichier de règles "classique v2" Donne le plus grand impact sur l'effort, je vais donc suggérer de vérifier votre score contre ce jeu de règles Yslow.

Du jeu de règles "Classic V2", ces règles s'appliquent proprement sur vos instances et contenus sur le serveur STATIC IIS:

3. Add an Expires or a Cache-Control Header
4. Gzip Components
10. Minify JavaScript and CSS
11. Avoid Redirects
13. Configure ETags
19. Use Cookie-Free Domains for Components
22. Make favicon.ico Small and Cacheable
18
Jesper M

Il y a ne écriture très intéressante ici où quelqu'un utilise IIS pour servir des fichiers statiques. Il se concentre principalement sur modifier les paramètres de mise en cache de fichier IIS pour limiter l'activité de disque (qui était son goulot d'étranglement). Il dit qu'il a vu une augmentation de 20 fois de performance.

9
UpTheCreek