2009-02-05 47 views
1

J'ai une application Web IIS7 qui sert principalement les demandes de service Web. Dans le cadre de notre solution, nous avons deux serveurs Web et un équilibreur de charge, et l'équilibreur de charge demande périodiquement une page à partir de chacune de ses boîtes à équilibrage de charge. La page des charges d'équilibrage de charge est nommé « Health.aspx », il ne pas ont un code derrière, et le contenu du fichier Health.aspx est:Des problèmes connus concernant les pages * .aspx vides avec IIS7?

OK 

Cependant, nous observons 400 erreurs occasionnelles à partir de l'équilibreur de charge lorsque vous demandez cette page tout au long de la journée, ce qui provoque l'éjection de la machine de sa rotation pendant un certain temps. Bien qu'il y ait potentiellement un certain nombre de choses qui pourraient causer un problème, je voulais commencer par les boîtes web et déterminer si une page * .aspx presque vide sans code derrière pourrait causer des problèmes périodiques.

Répondre

0

Il s'avère que le problème était juste le nombre de demandes et un temps de réponse intempestif (ou vraiment demande temps - nos connexions client sont très lent) pour gérer les demandes. Demandes pour Health.aspx ont été rattrapés avec des connexions client lent et la valeur par défaut MaxConcurrentRequestsPerCPU de 12 limitait artificiellement notre nombre réel de demandes/seconde. En augmentant ce nombre à 100, en testant soigneusement notre matériel en fonction de la charge pour notre application particulière, nous avons résolu le problème.

1

Vous devez créer Health.html et l'utiliser à la place. Cela vous donnera également une idée de savoir si c'est ASP.NET qui vous donne les 400 problèmes ou IIS.

+0

Je l'ai suggéré et j'espère que nous utiliserons cette méthode pour résoudre les problèmes. – cfeduke

1

« 400 erreurs » couvre un large éventail de problèmes potentiels, d'un simple non trouvé 404 à une mauvaise demande 401, et interdit 403.

Certains d'entre eux pourraient être causés par les mauvais câbles réseau, cartes réseau, charge moche équilibreur, serveur (s) surchargé (s), etc.

Incidemment, non, une page web sans code ne va pas lancer ça. Aussi, je ferais probablement un petit peu plus dans le fichier health.aspx pour vérifier que le serveur fonctionne réellement. Comme lancer une analyse ou faire une demande de base de données simple. Après tout, IIS pourrait simplement mettre en cache le fichier.

Questions connexes