Question

Je pense que de nombreux développeurs connaissent ce sentiment désagréable lorsque les utilisateurs leur disent que "L'application est lente (à nouveau).".

Dans une application Web complexe, il peut y avoir de nombreuses raisons pouvant entraîner une dégradation des performances (perçues): réponse lente de la base de données, problèmes de bande passante, mise en cache incorrecte, etc. Certains problèmes ne se poseront jamais un environnement de développement ou de transfert.

Maintenant ma question:

Existe-t-il un ensemble d’outils et / ou de méthodes qui fourniraient un programme "en direct" complet? sur un système de production IIS / ASP.NET / SQL Server de manière visuelle (pas uniquement des compteurs de performance):

  • Requêtes HTTP actuelles (par exemple, les n dernières minutes)
  • Exceptions / délais d'attente
  • Données de bande passante
  • Nombre de connexions / appels de base de données ouverts
  • ...

L'objectif principal est de voir d'un coup d'œil (ou après avoir regardé de plus près) quel problème est la cause des problèmes de performances.

Était-ce utile?

La solution

Je pense que la catégorie de logiciel que vous recherchez est ".net profiler". ou ".net tracer". Un de ces outils que vous pourriez envisager est le dotTrace de JetBrains. Il vous fournit des traces de pile à l'exécution et un tableau de compteurs indiquant les goulots d'étranglement possibles.

Autres conseils

Les outils mentionnés précédemment fonctionneront certainement. Dans notre magasin, nous avions besoin d’informations plus fines et construit notre propre solution (histoire longue: il était plus facile de coder que de discuter des outils et des données récupérables).

J'ai utilisé le LogParser pour parcourir le Journaux IIS et création de rapports de sortie de ces journaux (par exemple, décomposition du code de résultat, etc.).

J'ai utilisé une combinaison de compteurs de performance et de valeurs WMI pour obtenir le reste. Vous pouvez les lire en utilisant un C # assez simple. Vous disposez ainsi d'un contrôle total que vous pouvez ensuite transférer dans .csv, etc., pour l'affichage / le traitement dans Excel ou si vous mettez à jour une page en tant que centre de contrôle.

Je voudrais probablement aussi regarder IIS.net comme une excellente ressource pour les outils IIS, notamment le débogage, la sécurité etc.

J'ai suivi les conseils d'urig et trouvé ce logiciel appelé SmartInspect .

Quelqu'un connaît-il cet outil de journalisation / surveillance? Cela semble être une combinaison de console en temps réel et de bibliothèque de développeurs.

CLR 4.5 disposera de nouvelles fonctionnalités qui vous aideront à surveiller les performances ASP.NET en direct, sans redémarrer votre application. En gros, vous pouvez modifier votre code pour y inclure des points de contrôle, puis inspecter le temps passé dans les classes / méthodes, etc.

Je suis sûr que dotTrace et d'autres outils de profilage exploiteront cela automatiquement, mais il vaut la peine de vérifier: C9 - Inside Re-JIT avec David Broman

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