Подтвердить что ты не робот

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

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

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

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

Я использовал комбинацию счетчиков производительности и значений WMI, чтобы получить остальное - вы можете прочитать их с помощью довольно простого С# - это дает вам полный контроль над тем, чтобы вы могли сбрасывать на .csv и т.д. для просмотра/обработки в excel или if вы обновляете страницу в качестве центра управления.

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

Ответ 4

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

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