2009-11-21 4 views
2

Nous avons actuellement une application Live ASP.NET (essentiellement un CMS) fonctionnant sur notre serveur Web IIS7.Débogage d'un site ASP.NET déjà en cours d'exécution dans IIS7

De temps en temps (Parler tous les quelques mois), son pool d'applications va utiliser 100% du CPU et y rester jusqu'à ce que la page arrive à expiration. Nous avons essayé d'augmenter le délai d'attente de la page à 30 minutes dans le fichier web.config, mais il reste juste à plein régime, donc je présume qu'il s'agit d'une forme de boucle infinie.

Il s'agit d'une application massive, l'une des plus importantes, et beaucoup trop grande pour rechercher un problème. L'opinion dominante est que, comme c'est si rare, nous pouvons simplement redémarrer l'app-pool à chaque fois que cela arrive, mais je préférerais de beaucoup le réparer. J'ai accès au code et à l'accès administrateur complet au serveur d'hébergement, et le logiciel de surveillance que nous utilisons me donne beaucoup de temps pour être sur le serveur pendant que le problème est en cours mais je ne trouve aucun façon d'obtenir des données utiles sur ce qui se passe à ce moment-là sans ajouter une surcharge constante massive sur le site (ce qui donné il faudra des mois pour arriver n'est pas vraiment viable).

Je me demande si quelqu'un a des conseils sur la façon d'affiner ma recherche? Une trace de pile des threads en cours d'exécution serait spectaculaire, mais même une simple liste des pages activement servies ferait une énorme différence. Je peux ajouter du code au projet pour le rendre plus traçable, mais consigner tout dans l'espoir de l'attraper serait irréaliste (il y a beaucoup de trafic et nous ne voulons pas ajouter de surcharge au chargement des pages).

Répondre

4

Le blog de Tess est une excellente ressource pour le débogage des applications de production asp.net.
Je pense que ce blog de son blog sera très utile pour commencer à déboguer ce problème: Hang debugging walkthrough.
Hope this helps

+0

Cela semble très prometteur, merci! Je mettrai un signet dessus et j'essaierai la prochaine fois que le problème se produira. – fyjham

+0

Le blog de Tess vient de faire la fête! –

0

Je vous recommande d'utiliser compteur de performance ASP.Net, (comme la file d'attente de demandes et le nombre de demandes)

+0

Je suis déjà assez confiant que ce n'est pas la quantité de demandes simplement en raison de la nature du site en question et la nature sporadique des pointes et le fait qu'un seul redémarrage IIS corrige instantanément le problème. – fyjham

+0

Je viens de vous donner un échantillon de compteurs de performance que vous pouvez utiliser –

Questions connexes