Вход |  Регистрация

Все Тэги

Мониторинг платформы .NET

03.09.2013707 просм.

Мы продолжаем нашу серию заметок о мониторинге. В этой заметке команда  разработчиков ALG даст рекомендации по мониторингу платформы .NET.

Введение

Большинство приложений, разработанных по технологии Microsoft, используют фреймворк .NET. Этот фреймворк предоставляет хорошую платформу как для разработки, так и для запуска приложений. И он тоже имеет счётчики для измерения и мониторинга производительности приложений.

Фреймворк .NET состоит из двух основных компонентов:

  • общеязыковая исполняющая среда Common Language Runtime (CLR);
  • библиотека классов.

CLR является основой фреймворка .NET. Можно сказать, что исполняющая среда – это некий агент, который управляет кодом во время выполнения, предоставляя основные сервисы, такие как управление памятью, потоками и удаленное взаимодействие, а также обеспечивая строгую безопасность типов и другие формы «правильности» кода, которые способствуют безопасности и надежности. Фактически, концепция управления кодом является фундаментальным принципом исполняющей среды. Код, который обращается к исполняющей среде, известен как управляемый код, в то время как код, который к ней не обращается, называется неуправляемым. Библиотека классов, второй основной компонент .NET, является всеобъемлющим, объектно-ориентированным набором типов, пригодных для многократного использования.

Исполняющая среда предназначена для повышения производительности. Хотя CLR предоставляет множество разных стандартных сервисов исполняющей среды, управляемый код никогда не интерпретируется. Это происходит благодаря технологии компиляции “на лету» (just-in-time [JIT]), которая позволяет выполнять весь управляемый код на исходном машинном языке системы, в которой происходит выполнение. Тем временем, менеджер памяти устраняет возможность фрагментации памяти и повышает локализацию ссылок памяти, для дальнейшего повышения производительности.

Счётчики производительности организованы и сгруппированы по категориям счётчиков. В целом, так же, как операционная система Windows обладает множеством счётчиков производительности, которые можно вызвать программным путём или используя Performance Monitor, CLR представляет свой собственный набор таких счётчиков в .NET. Они разбиты на 9 важных категорий, чтобы помочь тестеру мониторить и настраивать производительность приложения. Эти категории:

  1. Исключения. Предоставляет информацию об исключениях, возникающих в приложении.
  2. Память. Предоставляет информацию о сборщике мусора.
  3. Блокировки и потоки. Предоставляет информацию об управляемых блокировках и потоках, используемых приложением.
  4. Взаимодействие (Interop). Предоставляет информацию о взаимодействии приложения с компонентами COM, сервисами COM+ и библиотеками типов.
  5. JIT. Предоставляет информацию о коде, скомпилированном JIT компилятором.
  6. Загрузки. Предоставляет информацию о загруженных сборках, классах и AppDomain-ах.
  7. Сеть. Предоставляет информацию о данных, отправленных и полученных приложением по сети.
  8. Удалённый доступ. Предоставляет информацию об объектах, удаленно используемых приложением.
  9. Безопасность. Даёт описание проверок безопасности, производимых CLR по приложению.

Наиболее важные счётчики .NET

Приступая к мониторингу приложений .NET, рекомендуем начинать с мониторинга счётчиков операционной системы, которые измеряют утилизацию процессоров, памяти, сети, устройств ввода/вывода (подробно мы рассказывали в заметке о мониторинге Windows). Затем счётчики производительности .NET, включающую в себя все аспекты операций CLR, начиная с обработки исключений и заканчивая проверкой безопасности.

 

Метки: , , ,

Добавить комментарий

Для отправки комментария вам необходимо авторизоваться.

Партнеры DevOpsHub и DevOpsWiki