Производительность приложений

85

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

В ОС Microsoft Windows определено множество объектов производительности, наподобие System, Memory, Objects, Process, Processor, Thread, Cache и т.д. Каждый из этих объектов имеет множество счетчиков для наблюдения. Например, с помощью объекта Process можно отслеживать время пользователя, счетчик дескрипторов, сбои страниц, счетчик потоков и т.д., причем как для всех процессов, так и для определенных экземпляров процессов. Некоторые приложения, такие как SQL Server, также добавляют специфичные объекты.

Классы мониторинга производительности

Пространство имен System.Diagnostics предлагает следующие классы для мониторинга производительности:

PerformanceCounter

Может использоваться для мониторинга и для записи счетчиков. С помощью этого класса также можно создавать новые категории производительности.

PerformanceCounterCategory

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

PerformanceCounterInstaller

Используется для установки счетчиков производительности. Его применение подобно рассмотренному ранее классу EventLogInstaller.

Построитель счетчиков производительности

Пример PerformanceCounterDemo представляет собой простое Windows-приложение с двумя кнопками, предназначенное для демонстрации написания счетчиков производительности. В обработчике одной кнопки регистрируется категория счетчика производительности, а в обработчике другой — записывается значение счетчика производительности. Аналогично можно добавлять счетчики производительности к службе Windows, к сетевому приложению, равно как к любому другому приложению, от которого необходимо получать актуальные значения счетчиков.

Чтобы создать новую категорию счетчиков производительности в Visual Studio, выберите счетчики производительности в окне Server Explorer, щелкните правой кнопкой мыши и выберите в контекстном меню пункт Create New Category (Создать новую категорию). Откроется диалоговое окно Performance Counter Builder (Построитель счетчиков производительности):

Диалоговое окно Performance Counter Builder

Установите для имени категории счетчиков производительности значение Performance Counters.Ниже описаны все счетчики производительности службы квот:

Имя Описание Тип
# of button clicks Общее количество щелчков мыши NumberOfItems32
# of button clicks/sec Количество щелчков мыши в секунду RateOfCountsPerSecond32
# of mouse move events Общее количество событий перемещения мыши NumberOfItems32
# of mouse move events/sec Количество событий перемещения мыши в секунду RateOfCountsPerSecond32

Инструмент Performance Counter Builder записывает конфигурацию в базу данных производительности. Это также допускается делать динамически с помощью метода Create() класса PerformanceCounterCategory из пространства имен System.Diagnostics. Установщик для других систем может быть легко добавлен позднее в среде Visual Studio.

Пройди тесты
Лучший чат для C# программистов