2016-04-05 2 views
1

J'ai un site Web Azure qui s'exécute pendant 6 mois et le vendredi 1er avril 2016 à 21h50 le processeur était très élevé et cela a eu un impact sur les performances du site Web site. L'arrêt et le redémarrage du service Web ont résolu le problème mais il est revenu à 13h00. Depuis, le processeur est resté élevé et a rendu le site Web inutilisableAzure Web Site CPU Haute à des intervalles aléatoires du jour

J'ai essayé tous les outils de surveillance, Daas, Event Logs, vérifié les connexions ouvertes et je m'assure que mon logiciel ferme ou élimine correctement les objets.

Mais le CPU est encore élevé. Le seul moyen de résoudre est de redémarrer le service Web, mais je ne veux pas continuer à le faire.

Quelqu'un d'autre a rencontré un problème similaire et quelles étaient les solutions. La seule chose qui ressort des journaux d'événements qui posent problème est l'erreur "Une erreur liée au réseau ou à une instance s'est produite lors de l'établissement d'une connexion à SQL Server", ce qui peut être dû au fait que SQL Aure n'est pas disponible.

S'il vous plaît aider

+0

est le morceau de code qui parle à la faute db sql tolérance? avez-vous utilisé une logique de réessai? S'il y a eu une erreur lors de la connexion à la base de données en utilisant la nouvelle tentative, essayez plusieurs fois et voyez si cela fonctionne. ou enfin écrire un journal de l'erreur et passer à autre chose. – Aravind

+0

Quel processus est en cours d'exécution? Avez-vous des tâches en cours d'exécution sur le serveur. Y a-t-il des demandes de longue durée? – Peter

+0

Salut Aravind, nous n'avons pas DB Fault Tolerant. Souhaitez-vous sentir que cela empêcherait le CPU élevé si nous avons géré les connexions de base de données Un-Successfully –

Répondre

0

Hmmm, élevé signifie que votre cpu site web est en cours d'exécution du code, peut-être une boucle tort sur un certain chemin de code pas fréquent. La méthode de la force brute pour identifier le code en cours d'exécution serait d'ajouter le suivi à votre solution par System.Diagnostics.Trace.WriteLine ("Je suis ici"), puis de vérifier le journal des applications Azure.

Une autre façon serait d'attacher le débogueur Visual Studio en haute cpu et vérifier ce qui est en cours d'exécution

L'autre façon serait de prendre une décharge ou minidump à partir du site Kudu et analyser avec WinDbg: 1) Quel fil est conuming cpu: emballement 2) Qu'est-ce que ce fil fait: clrstack

HTH, Aldo