Инструменты и методы для оперативного мониторинга ASP.NET веб-приложения?

StackOverflow https://stackoverflow.com/questions/259105

Вопрос

Я думаю, многим разработчикам знакомо это неприятное чувство, когда пользователи говорят им это "Приложение работает медленно (снова)".

В сложном веб-приложении могут быть много возможных причин за ухудшение (воспринимаемой) производительности:медленный отклик базы данных, проблемы с пропускной способностью, плохое кэширование и т.д.Безусловно, существуют проблемы, которые никогда не возникнут в среде разработки или промежуточной среде.

Теперь мой вопрос:

Существует ли набор инструментов и / или методов, которые обеспечивали бы всеобъемлющее "текущее" состояние в производственной системе IIS / ASP.NET / SQL Server визуально (не только счетчики производительности):

  • Текущие HTTP-запросы (скажем, за последние n минут)
  • Исключения / тайм-ауты
  • Данные о пропускной способности
  • Количество открытых подключений к базе данных / вызовов базы данных
  • ...

Основная цель состоит в том, чтобы сразу увидеть (или присмотревшись повнимательнее), какая проблема вызывает проблемы с производительностью.

Это было полезно?

Решение

Я думаю, что категория программного обеспечения, которое вы ищете, - это ".net profiler" или ".net tracer".Одним из таких инструментов, который вы могли бы рассмотреть, является JetBrains' Точечный след.Это дает вам трассировки стека времени выполнения и массив счетчиков, которые указывают на возможные узкие места.

Другие советы

Ранее упомянутые инструменты, безусловно, будут работать.В нашем магазине нам нужна была более подробная информация, и мы создали наше собственное решение (длинная история:кодировать было проще, чем спорить об инструментах и извлекаемых данных).

Я использовал Анализатор журналов чтобы просмотреть журналы IIS и создать выходные отчеты по этим журналам (напримерразбивки кода результата и т.д.).

Я использовал комбинацию счетчиков производительности и значений WMI, чтобы получить остальное - вы можете прочитать их, используя довольно простой C # - это дает вам полный контроль, который вы можете затем сбросить в файл .csv и т.д. Для просмотра / обработки в Excel или при обновлении страницы в качестве центра управления.

Я бы, вероятно, также посмотрел на IIS.net как отличный ресурс для инструментов IIS, включая отладку, безопасность и т.д.

Я последовал за ним совет урига и нашел это программное обеспечение называется SmartInspect.

Кто-нибудь знает этот инструмент ведения журнала / мониторинга?Похоже, это комбинация консоли реального времени и библиотеки разработчика.

Среда CLR 4.5 получит некоторые новые возможности, которые помогут вам отслеживать ASP.NET производительность в реальном времени - без перезапуска вашего приложения.В принципе, вы можете переделать свой код, чтобы включить в него некоторые перехватчики мониторинга, а затем проверить время, проведенное в классах / методах и т.д.

Я уверен, что dotTrace и другие инструменты профилирования будут использовать это автоматически, но это стоит проверить: C9 - Внутренняя перепевка с Дэвидом Броманом

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top