Создание и использование счетчиков производительности в приложении Azure

Обновлено: Ноябрь 2015 г.

Как и в Windows Server, счетчики производительности можно использовать в приложении Azure, чтобы собирать данные, которые помогут определить узкие места и оптимизировать производительность системы и приложения. Веб-роли, рабочие роли и роли ВМ могут динамически настраивать счетчики производительности, собираемые монитором диагностики Azure, а также создавать и использовать пользовательские счетчики производительности для мониторинга приложения и управления им. Данные счетчиков производительности можно изучить непосредственно на узле приложений с помощью системного монитора, для доступа к которому используется удаленный рабочий стол и System Center Operations Manager с пакетом управления Windows Azure, а также другие средства мониторинга, использующие диагностические данные, передаваемые в хранилище Azure. Дополнительные сведения см. в разделе Хранение и просмотр диагностических данных в Azure. Сведения о настройке счетчиков производительности в приложении см. в разделе Как настроить счетчики производительности.

Счетчики производительности в мониторе диагностики по умолчанию выключены. Приложение или задача запуска должны изменить конфигурацию монитора диагностики по умолчанию, чтобы включить определенные счетчики производительности, которые требуется отслеживать для каждой роли экземпляра, если вам нужны данные счетчиков производительности.

Azure предоставляет подмножество счетчиков производительности для Windows Server 2008, IIS и стека ASP.NET. В следующей таблице перечислены некоторые счетчики производительности, представляющие интерес для приложений Azure.

 

Категория счетчика: Объект (экземпляр) Имя счетчика Справочник

Исключения CLR .NET (_Global_)

Число исключений/сек

Счетчики производительности исключений

Память CLR .NET (_Global_)

% времени сборки мусора

Счетчики производительности памяти

ASP.NET

Перезапусков приложения

Счетчики производительности для ASP.NET

ASP.NET

Время выполнения запроса

Счетчики производительности для ASP.NET

ASP.NET

Прервано запросов

Счетчики производительности для ASP.NET

ASP.NET

Перезапусков рабочего процесса

Счетчики производительности для ASP.NET

Приложения ASP.NET (__Total__)

Всего запросов

Счетчики производительности для ASP.NET

Приложения ASP.NET (__Total__)

Запросы/сек

Счетчики производительности для ASP.NET

ASP.NET v4.0.30319

Время выполнения запроса

Счетчики производительности для ASP.NET

ASP.NET v4.0.30319

Время ожидания запроса

Счетчики производительности для ASP.NET

ASP.NET v4.0.30319

Текущих запросов

Счетчики производительности для ASP.NET

ASP.NET v4.0.30319

Запросов в очереди

Счетчики производительности для ASP.NET

ASP.NET v4.0.30319

Отклонено запросов

Счетчики производительности для ASP.NET

Память

Доступно МБ

Счетчики производительности памяти

Память

Байтов выделенной виртуальной памяти

Счетчики производительности памяти

Процессор (_Total)

% процессорного времени

Счетчики производительности для ASP.NET

TCPv4

Отказов подключений

Объект TCP

TCPv4

Установлено подключений

Объект TCP

TCPv4

Сбросов подключений

Объект TCP

TCPv4

Отправлено сегментов/сек

Объект TCP

Сетевой интерфейс (*)

Получено байт/с

Объект сетевого интерфейса

Сетевой интерфейс (*)

Отправлено байт/с

Объект сетевого интерфейса

Сетевой интерфейс (адаптер магистральной сети виртуальной машины Майкрософт_2)

Получено байт/с

Объект сетевого интерфейса

Сетевой интерфейс (адаптер магистральной сети виртуальной машины Майкрософт_2)

Отправлено байт/с

Объект сетевого интерфейса

Сетевой интерфейс (адаптер магистральной сети виртуальной машины Майкрософт_2)

Всего байтов в секунду

Объект сетевого интерфейса

Azure поддерживает создание и изменения пользовательских счетчиков производительности для веб-ролей и рабочих ролей. Пользовательские счетчики производительности могут использоваться для отслеживания определенного поведения приложения. Категории и описатели счетчиков производительности можно создать или удалить в задаче запуска, веб-роли или рабочей роли с повышенными разрешениями.

noteПримечание
Для выполнения кода, который вносит изменения в пользовательские счетчики производительности, должны быть повышенные разрешения. Если код размещен в веб-роли или рабочей роли, то для правильной инициализации роль должна содержать тег <Runtime executionContext="elevated" /> в файле ServiceDefinition.csdef.

Пользовательские счетчики производительности можно включить и передать их данные в хранилище Azure со стандартными счетчиками производительности с использованием монитора диагностики.

Данные стандартных счетчиков производительности формируются процессами Azure. Данные пользовательских счетчиков производительности должны быть созданы приложением веб-роли сети или рабочей роли. Сведения о типах данных, которые могут храниться в пользовательских счетчиках производительности, см. в разделе Типы счетчиков производительности. Пример создания и установки данных пользовательских счетчиков производительности в веб-роли см. в разделе Пример PerformanceCounters.

Данные счетчиков производительности кэшируются в Azure с другими диагностическими сведениями. Эти данные доступны для удаленного мониторинга, пока экземпляр роли выполняется, используя удаленный рабочий стол для доступа к средствам просмотра, таким как системный монитор. Для сохранения данных за пределами экземпляра роли монитор диагностики должен передать данные в хранилище Azure. Ограничение размера кэшированных данных счетчиков производительности можно задать в мониторе диагностики, однако их также можно настроить как часть общего ограничения для всех диагностических данных. Дополнительные сведения об установке размера буфера см. в разделах OverallQuotaInMB и DirectoriesBufferConfiguration. Общие сведения о настройке монитора диагностики для передачи данных в учетную запись хранения см. в разделе Хранение и просмотр диагностических данных в Azure.

Каждый настроенный экземпляр счетчика производительности записывается с указанной частотой выборки, а данные передаются к учетной записи хранения плановым запросом передачи или запросом передачи по требованию. Можно запланировать автоматическую передачу с максимальной периодичностью раз в минуту. Данные счетчиков производительности, переданные монитором диагностики, хранятся в таблице WADPerformanceCountersTable в учетной записи хранения. К этой таблице можно обращаться и передавать запросы, используя стандартные методы API хранилища Azure. Пример запроса и отображения данных счетчиков производительности из таблицы WADPerformanceCountersTable см. в разделе Пример PerformanceCounters Windows Azure.

noteПримечание
В зависимости от частоты передачи монитора диагностики и задержки очереди самые последние данные счетчиков производительности в учетной записи хранения могут быть устаревшими на несколько минут.

См. также

Показ: