Производительность приложений
85C# и .NET --- Основы .NET --- Производительность приложений
Мониторинг производительности позволяет получать информацию о нормальном поведении приложений. Это замечательный инструмент, который поможет понять рабочую нагрузку системы, наблюдать изменения и оценивать тенденции, особенно в серверных приложениях.
В ОС 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 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.