Bonjour à tout le monde,

Suite à un changement de serveur dédié, j'ai migré une partie de mes sites de IIS6 à IIS7. Mais je me retrouve actuellement avec des problèmes de performance importants et qui je pense sont dû à mon manque de connaissance sur le fonctionnement du nouveau serveur web de Microsoft et notamment au niveau des pools d'applications. J'apprécierai vraiment le conseil de personnes ayant des connaissances avancées sur le fonctionnement de IIS7.

Je vous explique ma situation :

Le serveur web contient actuellement environs 50 sites asp.net qui aux heures de pointes totalisent plus de 3000 utilisateurs simultanés. Il y a beaucoup d'objets et de sessions en mémoire.

Sur l'ancien serveur IIS6, j'avais configuré un seul pool d'application qui contenait l'ensemble des sites et ça fonctionnait plutôt bien. Le processeur était en moyenne à 50% en pleine charge et le pool occupait 1 Go de mémoire.

Sur le nouveau serveur IIS7, j'ai donc recréé la même configuration, c'est à dire un pool unique qui contient toutes les applications.

Mais voila en pleine charge le serveur a un comportement vraiment très erratique. En fait il alterne des période "normale" (30% de moyenne et 150 requêtes/s) et toutes les 1 ou 2 minutes il se met à ne quasiment plus traiter aucune requête http et le processeur tombe a 5% (contre 30%) et puis hop il repart.
Le processus utilise entre 800 Mo et 1 Go mais ils oscille beaucoup (en tout cas beaucoup plus que son équivalent IIS6).

Mais surtout le plus gros souci c'est que même les fichiers statiques sont servis très lentement. Par exemple un simple fichier .js mets plus de 5 secondes (testé avec firebug).

Donc sachant qu'il me semble que IIS utilise des threads séparés pour servir les requêtes asp.net et les requêtes d'IO, je me dit qu'il y a vraiment un souci quelque part.

Ma première pensée serait que contrairement à IIS6 ou il était conseillé de ne pas créer une multitude de pool (autant pour la mémoire que pour le processeur), j'ai l'impression que ça ne fonctionne pas pareil sur IIS7.

Si un expert pouvait me confirmer ça et m'expliquer comment un serveur web dont le processeur a une moyenne de 30%, dont 25% de la mémoire vive est utilisée et dont 10% de la bande passante est utilisée peut mettre 5 secondes pour servir un simple fichier .js de quelques Ko, je serait vraiment très reconnaissant !

Merci d'avance pour vos réponses.