Диагностика Azure — необходим ли настраиваемый счетчик производительности для получения счетчиков запросов по URL-адресу?

Я знаю, что счетчики Requests\Sec, Requests Total и т. д. доступны бесплатно (их нужно только настроить для сбора и передачи). Кто-нибудь знает о каких-либо доступных счетчиках, которые дают некоторые данные на основе URL-адреса запроса http? Итак, запросы/сек для определенного URL-адреса службы? Просто хочу убедиться, что ничего нет, прежде чем я начну писать пользовательские счетчики.


person Skill M2    schedule 12.03.2013    source источник


Ответы (2)


Вам нужно будет написать свой собственный. Я помог сделать это для клиента, который использует структуру MVC. Это было очень просто, так как единственный код, который нужно было инструментировать, находился в методе OnActionExecuting для необходимых контроллеров.

Не забудьте настроить создание пользовательского определения счетчика производительности с помощью сценария запуска, как описано здесь (шаг 2): http://www.windowsazure.com/en-us/develop/net/common.-tasks/performance-profiling/

person Igorek    schedule 13.03.2013

Вы можете пойти дальше и написать собственный код :)

Вот список счетчиков производительности, доступных по адресу http://blogs.msdn.com/b/avkaschauhan/archive/2011/04/01/list-of-performance-counters-for-windows-azure.-web-roles.aspx:

// счетчики .NET 3.5

@"\ASP.NET Apps v2.0.50727(Всего)\Всего запросов"

@"\ASP.NET Apps v2.0.50727(Всего)\Запросов/сек"

@"\ASP.NET v2.0.50727\Запросы в очереди"

@"\ASP.NET v2.0.50727\Запросы отклонены"

@"\ASP.NET v2.0.50727\Время выполнения запроса"

@"\ASP.NET v2.0.50727\Запросы в очереди"

// Последние счетчики .NET (4.0)

@"\Приложений ASP.NET(Всего)\Всего запросов"

@"\Приложений ASP.NET(Всего)\Запросов/сек"

@"\ASP.NET\Запросы в очереди"

@"\ASP.NET\Запросы отклонены"

@"\ASP.NET\Время выполнения запроса"

@"\ASP.NET\Запросы отключены"

@"\ASP.NET v4.0.30319\Текущие запросы"

@"\ASP.NET v4.0.30319\Время ожидания запроса"

@"\ASP.NET v4.0.30319\Запросы в очереди"

@"\ASP.NET v4.0.30319\Запросы отклонены"

@"\Процессор(_Total)\% процессорного времени"

@"\Память\Доступно МБ

@"\Память\Выделенные байты"

@"\TCPv4\Соединения установлены"

@"\TCPv4\Отправлено сегментов/сек"

@""\TCPv4\Ошибки подключения"

@""\TCPv4\Сброс соединений"

@"\Сетевой интерфейс(сетевой адаптер шины виртуальной машины Microsoft _2)\Получено байт/сек"

@"\Сетевой интерфейс (сетевой адаптер шины виртуальной машины Microsoft _2)\Отправлено байт/сек"

@"\Сетевой интерфейс(сетевой адаптер шины виртуальной машины Microsoft _2)\Всего байт/сек"

@"\Сетевой интерфейс()\Получено байт/сек" @"\Сетевой интерфейс()\Отправлено байт/сек"

@".NET CLR Memory(Global)\% времени в GC"

person Magnus Karlsson    schedule 12.03.2013
comment
Да, я знаю об этих, похоже, я должен написать свой собственный. Я подумал, что поскольку сервер должен знать, какие запросы приходят, возможно, есть способ вывести эту информацию на поверхность. - person Skill M2; 13.03.2013
comment
@ SkillM2 Думаю, я ответил на твой вопрос? - person Magnus Karlsson; 14.03.2013
comment
Спасибо, это было полезно, как и Игорек. - person Skill M2; 21.03.2013