Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Application Response Measurement ( ARM ) - это открытый стандарт, опубликованный Open Group для мониторинга и диагностики узких мест производительности в сложных корпоративных приложениях, использующих слабосвязанные конструкции или сервис-ориентированные архитектуры .

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

История [ править ]

Версия 1 ARM была разработана совместно Tivoli Software и Hewlett Packard в 1996 году. Версия 2 была разработана отраслевым партнерством (Рабочая группа ARM) и стала доступна в декабре 1997 года как открытый стандарт, одобренный Open Group . ARM 4.0 была выпущена в 2003 году и пересмотрена в 2004 году.

По состоянию на 2007 год , ARM 4.1 версии 1 является последней версией стандарта ARM.

Введение [ править ]

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

В распределенных приложениях непросто оценить, насколько хорошо работает приложение. Следующие вопросы помогают при оценке распределенных приложений:

  • Успешны ли бизнес-операции, и если нет, то в чем причина неудач?
  • Какое время отклика транзакции?
  • Где узкие места, какая суб-транзакция может вызвать узкое место?
  • Какие и сколько транзакций выполняется в приложении?
  • Как настроить приложение или его среду для повышения производительности?

ARM помогает ответить на эти вопросы. Важно отметить, что преимущества ARM, как они здесь определены, теперь являются лишь подмножеством области управления производительностью приложений .

Подход [ править ]

Основной подход к использованию ARM:

  1. Определите бизнес, а также технические операции, которые представляют интерес.
  2. Вставьте вызовы в приложение к интерфейсу ARM, чтобы измерить эти определенные транзакции.
  3. Разверните инструментированное приложение в их обычной среде с установленным агентом ARM.
  4. Используемая реализация ARM теперь предоставляет интересующие измерения транзакций.

Концепции [ править ]

ARM определяет следующие концепции для обеспечения описанной функциональности.

Приложение ARM [ править ]

Сложные распределенные приложения обычно состоят из множества разных отдельных приложений (процессов). Чтобы понять взаимосвязь между всеми отдельными приложениями, в версии 4.0 стандарта ARM представлена ​​концепция приложения ARM. Каждая транзакция ARM выполняется точно в одном приложении ARM.

Транзакция ARM [ править ]

Транзакции являются основной концепцией стандарта ARM и представляют собой единое измерение производительности. Определение транзакции определяет тип (имя) и дополнительные атрибуты транзакции ARM. Транзакция может выполняться (запускаться и останавливаться) несколько раз, что приводит к нескольким измерениям. Каждое измерение имеет базовые атрибуты, такие как статус завершения (хорошо, не удалось, прервано), отметки времени начала и окончания, итоговая продолжительность и системный адрес (хост), на котором оно было выполнено. Кроме того, с измерением транзакции могут быть связаны специальные метрики или свойства контекста.

Системный адрес ARM [ править ]

Однозначно определяет хост по его имени, IP-адресу или другой уникальной информации.

Коррелятор ARM [ править ]

Корреляторы ARM используются для выражения корреляции между двумя транзакциями ARM. Это синхронные отношения, также известные как родительско-дочерние отношения. Обычно родительская транзакция запускает дочернюю транзакцию и продолжает ее выполнение только после завершения дочерней транзакции. Используя корреляторы, можно разделить сложную транзакцию на несколько вложенных дочерних транзакций, где каждая дочерняя транзакция может иметь собственные дочерние транзакции. В результате получается дерево транзакций, причем самая верхняя родительская транзакция является корнем дерева.

ARM 4.1 определяет асинхронные отношения для поддержки архитектур, управляемых потоками данных.

ARM Metric [ править ]

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

ARM Properties [ править ]

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

Пользователь ARM [ править ]

Определяет имя пользователя, от имени которого было выполнено измерение транзакции.

Инструментальные приложения ARM [ править ]

Следующие приложения уже оснащены вызовами ARM:

  • HTTP-сервер Apache с использованием модуля ARM 4.0 mod_arm4. [1] [2] Все HTTP- запросы измеряются с помощью ARM.
  • Mozilla Firefox использует расширение ARM 4.0 XPCOM npARM. [3]
  • Сервер приложений IBM WebSphere . [4] Различные запросы, такие как URI , JSP и другие, измеряются с помощью ARM.
  • IBM HTTP Server. [5]
  • Сервер базы данных IBM DB2 . [6]
  • SAS (программное обеспечение) уже давно поддерживает ARM 2.0. Начиная с версии 9.2 своего выпуска, он также поддерживает ARM 4.0. [7]
  • Baan 5 и Infor ERP Ln 6.1
  • IBM Tivoli Access Manager

Ссылки [ править ]

  1. ^ "Модуль Apache ARM 4.0" . Httpd.apache.org . Проверено 20 мая 2012 .
  2. ^ "Для производительных сред модифицированный модуль Apache ARM 4.0" . Myarm.com. 2011-06-13 . Проверено 20 мая 2012 .
  3. ^ "Расширение npARM xpcom для Mozilla Firefox" . Myarm.com. 2011-11-26 . Проверено 20 мая 2012 .
  4. ^ "WAS v6.1 ARM Транзакции" . Publib.boulder.ibm.com. 2012-04-04 . Проверено 20 мая 2012 .
  5. ^ «Включение ARM на HTTP-сервере» . Publib.boulder.ibm.com . Проверено 20 мая 2012 .
  6. ^ http://publib.boulder.ibm.com/infocenter/eserver/v1r2/topic/ewlminfo/eicaaarmdb2.html [ постоянная мертвая ссылка ]
  7. ^ «Использование интерфейса SAS 9.2 ARM с существующими приложениями ARM: интерфейс SAS 9.2 ARM с обзором существующих приложений SAS» . Support.sas.com. 2010-05-27 . Проверено 20 мая 2012 .

Внешние ссылки [ править ]

  • Официальный веб-сайт Open Group ARM и SDK с открытым исходным кодом
  • Реализация Java с открытым исходным кодом ARM4 с открытым исходным кодом
  • MyARM Полностью совместимая с ARM 4.0 реализация C / C ++, Java, CSharp .NET и Python, а также бесплатная версия для сообщества