Question

J'ai une application Web, écrite dans ColdFusion, qui commence périodiquement à utiliser 100% de la CPU du serveur et plante le service ColdFusion.

Comme je ne suis pas parvenu à reproduire le problème moi-même, j'aimerais trouver un utilitaire qui me préviendra par courrier électronique dès que l'utilisation du processeur commencera à augmenter, afin que je puisse sauter sur le serveur, regardez FusionReactor pour voir ce qu'il en est. passe et identifie le code qui se comporte mal.

J'ai cherché sur Google et je suis incapable de trouver un utilitaire approprié. Je me suis donc demandé si d'autres programmeurs avaient trouvé un outil capable de faire ce type de surveillance. Vu les spécificités de mes besoins, je préférerais ne pas écrire mon propre outil de suivi.

Si vous avez d'autres suggestions pour aborder le problème dans son ensemble, j'aimerais également les entendre.

Réponses aux réponses:

Utiliser Windows perfmon pour déclencher une ligne de commande semble prometteur. Quelqu'un peut-il m'indiquer un tutoriel sur la manière de procéder?

Nous n'avons pas de système de surveillance configuré pour recevoir les interruptions SNMP.

Nous utilisons ColdFusion 8 Standard Edition, qui n'inclut pas les outils de surveillance des performances ColdFusion - seule l'entreprise les inclut.

La réponse de Peter Boughton me permettra probablement de résoudre le problème, mais cela ne m'aide pas à résoudre le problème de manière proactive car le processeur commence à prendre de l'ampleur. Je cherche donc toujours une solution de notification.

Était-ce utile?

La solution

J'ai eu un problème similaire il y a quelques semaines et j'ai été dirigé vers un programme appelé AlwaysUp.

http://www.coretechnologies.com/products/AlwaysUp/

Surveille tous les processus en combinant:

  • Utilisation de la mémoire
  • Utilisation du processeur
  • absence de réponse
  • Exécutez un script personnalisé pour déterminer s'il doit être réinitialisé

À partir de là, vous pouvez redémarrer le service, envoyer des courriels de notification ou exécuter un script pour consigner des éléments, etc.

.

Ils ont une démo de 30 jours, j'ai été vendu le deuxième jour .. Une bonne solution rapide pour vous permettre de comprendre le fond du problème.

Autres conseils

Sous Windows, vous pouvez utiliser les outils de performance et de surveillance (perfmon) fournis en standard avec Windows. Lorsque la CPU atteint un certain point, elle peut déclencher une notification SNMP qui peut être détectée par la plupart des outils de surveillance du système et vous en avertir. Il peut également exécuter une commande ou effectuer toute une série d’activités utiles qui pourraient vous aider à comprendre.

Si vous utilisez Coldfusion 8, l’analyseur de performances, une autre alternative s’offre à vous. Vous pouvez configurer des alertes pour vous envoyer un courrier électronique, appeler un autre CFC, etc. pour différents critères.

J'utilise beaucoup le moniteur de serveur - c'est un excellent outil même si je n'ai pas trop utilisé les alertes elles-mêmes, elles valent sans doute la peine d'être examinées, car elles semblent faciles à configurer.

En ce qui concerne les approches globales ...

Dans notre société, nous utilisons Windows Perfmon d’un serveur pour interroger tous les serveurs CF toutes les 30 secondes afin d’obtenir des statistiques telles que le nombre total de processeurs et le temps de réponse moyen. Nous enregistrons cela dans un fichier CSV. Toutes les quelques minutes, une tâche planifiée est exécutée, qui lit les détails de ces fichiers et les enregistre dans une table de base de données. Il tronque ensuite les fichiers pour qu'ils ne deviennent pas trop volumineux.

Enfin, une fois par jour, nous envoyons à notre service technique un rapport détaillant toutes les mesures de serveur, qui représente graphiquement l’UC et le temps de réponse moyen de tous nos serveurs.

Nous trouvons que c’est un excellent moyen de garder les performances du serveur à l’esprit des développeurs et de détecter les tendances (telles que la faible utilisation de l’UC). Nous l’avons trouvé très efficace car vous ne pouvez pas savoir si vos performances sont mauvaises tant que vous n'avez pas commencé à mesurer vos métriques.

Vous n'avez pas nécessairement besoin de cette notification lorsqu'elle survient - FusionReactor ayant des fichiers journaux, vous pouvez les vérifier une fois que cela s'est produit et identifier les scripts en cours d'exécution à ce moment-là.

Et si vous n'êtes pas sûr du moment où cela se produit, je suis à peu près sûr que l'un des journaux contient de la mémoire et de l'utilisation du processeur - bien que je ne me souvienne plus du nom actuel, mais que vous avez un problème journaux et vous devriez trouver les informations pertinentes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top