Если у меня есть инфраструктура с некоторыми веб-серверами (Windows 2003 и IIS) и базой данных (SQL Server 2005) и ASP.net, мне интересно, есть ли универсальный инструмент, который просто позволяет мне сказать: «Хорошо, теперь я открываю эта страница, и вы мне точно расскажете, что происходит на ASP.net, IIS и SQL, CPU, RAM и жестком диске ».
Конечно, я могу добавить трассировку в свой ASP.net, а затем в свой SQL Server, а затем мне нужно посмотреть, как работать с IIS (например, изображения не проходят через ASP.net), но мне интересно, есть ли у кого-нибудь способ получить простой обзор практически всего? Желательно бесплатно, но если он хороший, то он может стоить денег.
Посмотрите на совместное использование трассировок SQL Server Profiler и монитора производительности Windows Server. SQL Server 2005 позволяет связать эти два файла вместе. В этой статье рассказывается, как это хорошо сделать.
В дополнение к этому, если вы используете название приложения = в строке подключения к SQL Server, вы можете зафиксировать это в трассировке Profiler и использовать его как способ передачи информации из вашего приложения asp.net/asp, например, какое имя файла выполняется.
Вы можете попробовать коммерческие инструменты, такие как BMC AppSight, или, если он основан только на .Net, AVICode. Если вы хотите сделать это дешево, комбинация журналов IIS и счетчиков Perfmon удовлетворит ваши потребности.
Монитор производительности Windows - довольно хороший выбор. Он будет встроен в качестве элемента управления ActiveX на веб-страницу, поэтому вы можете просто открыть его, и его счетчики могут отслеживать практически все аспекты сервера (при условии, что они могут быть представлены в числовом виде).
Вы можете контролировать удаленные серверы, если у учетной записи, на которой он работает, есть права администратора над ними.
Счетчики, которые мы обычно запускаем для визуального ознакомления:
Есть множество метрик на основе SQL (время ожидания, количество запросов в секунду, среднее время выполнения запроса и т. Д.), Которых у меня сейчас нет под рукой, но они довольно гибкие в отчетности. То же самое и с ASP.net - вы можете настроить отчет по отдельным приложениям или использовать счетчик _total для всех из них.
Хм. Я не знаком с одним инструментом, который даст вам все, но вы можете добиться этого с помощью комбинации инструментов.
Вы упомянули SQL Server, поэтому SQL Profiler - это то, на что вы должны обратить внимание, чтобы отслеживать все, что происходит в вашей базе данных.
Для всего, что происходит через Http, вы должны посмотреть Скрипач.
ЦП, ОЗУ и жесткий диск можно контролировать с помощью perfmon.exe (встроенного в Windows) или Обозреватель процессов.