Application Response Measurement

Der Application Response Measurement (ARM), ist ein Standard der Open Group und dient zur Performancemessung von Transaktionen aus der Sicht des Benutzers. Technisch ist ARM eine Programmierschnittstelle, die für spätere Auswertungen in das Programm eingebaut werden muss. ARM ist verfügbar für die Programmiersprachen C und Java.

Inhaltsverzeichnis

Geschichte

Der Application Response Measurement (ARM) wurde ursprünglich von Tivoli und Hewlett-Packard entwickelt und in der Version 1.0 im Jahre 1996 veröffentlicht. Dieser Standard spezifiziert ein API zur Performancemessung für die Programmiersprache C.

1997 wurde der ARM 2.0 Standard unter dem Dach der Computer Measurement Group (CMG) von der ARM Working Group entwickelt und erlaubte die Korrelation von Parent-Child-Transaktionen in einem verteilten Computersystem.

ARM 3.0 wurde 2001 von der Open Group als Standard angenommen. Dieser Standard spezifiziert ein API für die Programmiersprache Java.

Im Herbst 2003 wurde die Version 4.0 des ARM Standards von der Open Group angenommen. Diese Version bietet nun ein API sowohl für die Programmiersprache C als auch für Java. Im Dezember 2004 wurde die Version 4.0 in einer zweiten Auflage überarbeitet.

ARM 4.1 erschien im Sommer 2007.

Einführung

Moderne Anwendungen werden immer komplexer und oft auch über mehrere Rechner in einem Netzwerk verteilt. Hieraus ergeben sich neue Herausforderungen für Werkzeuge zur Beobachtung und Analyse dieser verteilten Anwendungen. Für diese Aufgabe wurde der ARM-Standard entworfen. Um einen genaueren Einblick das Verhalten einer verteilten Anwendung zu bekommen, können folgende Fragen gestellt werden:

  1. Werden Geschäftstransaktionen ausgeführt und, wenn nicht, was sind die Gründe dafür?
  2. Wie groß ist die Antwortzeit einer Transaktion?
  3. Wo ist die Schwachstelle, welche Unter-Transaktionen können die Schwierigkeiten auslösen?
  4. Welche und wie viele Transaktionen werden in einer Anwendung ausgeführt?
  5. Wie kann die Performance einer Anwendung verbessert werden?

ARM kann die Beantwortung dieser Fragen erleichtern, indem die Performance von definierten Transaktionen gemessen und die Verfügbarkeit von Anwendungen überprüft wird. Es können sowohl sogenannte Geschäftstransaktionen als auch technische Transaktionen (also solche, die einen technischen Sachverhalt näher analysieren) gemessen werden.

Vorgehensweise

Die grundsätzliche Vorgehensweise um Anwendungen mit ARM zu instrumentieren und Performancedaten zu gewinnen ist wie folgt:

  1. Ermitteln und Definieren sowohl der Geschäftstransaktionen als auch technischer Transaktionen.
  2. Instrumentierung der Anwendung mit Aufrufen zur ARM API.
  3. Start der instrumentierten Anwendung in ihrer gewohnten Laufzeitumgebung und Aufruf der fraglichen Transaktionen.
  4. Die benutzte ARM Implementierung stellt nun Messdaten zur Verfügung, die betrachtet, weiter verarbeitet oder statistisch analysiert werden können.

Konzepte

ARM stellt verschiedene Konzepte zur Modellierung einer Anwendung und deren Performancemessung zur Verfügung. Die im nachfolgenden dargestellten Konzepte der ARM Applikation und der ARM Transaktion unterscheiden zwischen Definitionen und Instanzen. Eine Definition beschreibt die Eigenschaften eines Konzepts wohingegen eine Instanz die eigentliche Messung beschreibt:

ARM Applikation (Application)
In verteilten Systemen (klassisch Client/Server-Anwendungen) operieren viele verschiedene Anwendungen zusammen. Erst dieses Zusammenspiel beschreibt das komplette verteilte System. Zur Identifizierung einzelner Anwendungen im ARM-Kontext wird das Konzept einer Applikation in ARM etabliert. Wird ein und dieselbe Anwendung mehrfach gestartet, so wird es mehrere ARM Applikationsinstanzen geben, jedoch nur eine Applikationsdefinition.
ARM Transaktion (Transaction)
Eine Transaktion stellt das Hauptkonzept des ARM-Standards dar und beschreibt genau eine Performance Messung. Eine Transaktionsdefinition legt dabei die Randbedingungen fest (z.B. welche Daten werden aufgezeichnet, an welcher Stelle der Applikation wird die Transaktion gestartet und gestoppt usw.). Wird ein und dieselbe Transaktion mehrfach durchgeführt, resultieren daraus viele Transaktionsinstanzen, es gibt aber nach wie vor nur eine Transaktionsdefinition. Eine Transaktion besteht im Wesentlichen aus einem Status (Gut, Fehlerhaft, Abgebrochen), einem Start- bzw. Stopzeitpunkt, der daraus resultierenden Dauer und der Beschreibung des Rechners (SystemAddress), auf dem die Transaktion aufgezeichnet wurde. Zusätzlich können weitere Informationen wie spezielle Metriken (Metrics) oder Zeichenketten (Properties) an eine Transaktion gebunden werden.
ARM System Adresse (SystemAddress)
Beschreibt eindeutig einen Rechner z.B. durch seinen Namen, seine IP-Adresse oder sonstige eindeutige Beschreibungen.
ARM Korrelatoren (Correlators)
Ein Korrelator beschreibt im ARM Kontext genau eine Transaktionsinstanz als eine Folge von Bytes. Mit Hilfe eines solchen Korrelators können Eltern/Kind Beziehungen zwischen Transaktionsinstanzen hergestellt werden. Somit ist es möglich, eine komplexe Transaktion in ihre einzelnen Bestandteile zu zerlegen.
Beispiel: Zeige mir den ARM-Wikipedia-Artikel in meinem Web-Browser an. Hierfür könnten beliebig viele sogenannte Sub-Transaktionen (Kinder) gemessen werden, wie Zugriff auf den Web-Server, Datenbankzugriff oder dass Zeichnen der Seite im eigenen Browser.
ARM Metriken (Metrics)
Metriken im ARM Sinne sind zusätzliche Daten (Zähler, Füllstand, IDs), die einer Transaktion zugeordnet werden können. Zum Beispiel kann die Anzahl gedruckter Seiten eines Druckauftrags und dessen Dauer eine genauere Beurteilung über die Performance eines Drucksystems geben als die reine gemessene Zeit für dessen Durchführung.
ARM Eigenschaften (Properties)
Sogenannte Properties erlauben einer Transaktion beliebige Daten anzuhängen. Properties bestehen aus zwei Zeichenketten, einem Namen und einem Wert. Diese Zeichenketten können mit spezieller Semantik für jede Transaktionsdefinition versehen werden.
ARM Benutzer (User)
Eine Transaktionsinstanz kann genau einem Benutzer zugeordnet werden. Hierbei ist zu beachten, dass der Benutzer keineswegs der Benutzer sein muss, der sich gerade am Rechner befindet und sich dort angemeldet hat.

ARM instrumentierte Anwendungen

Folgende Anwendungen sind bereits mit ARM instrumentiert:

  • Apache HTTP Server mittels des ARM 4.0 Moduls mod_arm4.[1][2] Alle HTTP Anfragen werden mittels ARM gemessen.
  • IBM WebSphere Applikationsserver.[3] Verschiedene Anfragen wie URI, JSP und andere können direkt mit ARM gemessen werden.
  • IBM HTTP Server.[4]
  • IBM DB2 Datenbank Server.[5]
  • Das Software-System von SAS Institute unterstützt ARM 2.0 schon länger; mit der Version 9.2 wird nun auch ARM 4.0 unterstützt. [6]
  • Baan 5 und Infor ERP Ln 6.1

Weblinks

Einzelnachweise

  1. Apache ARM 4.0 Modul
  2. Für produktiven Einsatz modifiziertes Apache ARM 4.0 Modul
  3. WAS v6.1 ARM Transaktionen
  4. Enabling ARM on HTTP Server
  5. Enabling ARM on DB2 Universal Database
  6. http://support.sas.com/documentation/cdl/en/armref/61526/HTML/default/a003282868.htm

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Application Response Measurement — (ARM) is an open standard published by the Open Group for monitoring and diagnosing performance bottlenecks within complex enterprise applications that use loosely coupled designs or service oriented architectures.It includes an API for C and… …   Wikipedia

  • measurement — /mezh euhr meuhnt/, n. 1. the act of measuring. 2. a measured dimension. 3. extent, size, etc., ascertained by measuring. 4. a system of measuring or measures: liquid measurement. [1745 55; MEASURE + MENT] * * * Association of numbers with… …   Universalium

  • Measurement and Signature Intelligence — Measurement and Signature Intelligence, or MASINT, refers to intelligence gathering activities that bring together disparate elements that do not fit within the definitions of the major disciplines mentioned above. As a means of collecting… …   Wikipedia

  • Measurement and signature intelligence — (MASINT) is a branch of intelligence gathering activities. MASINT, may have aspects of intelligence analysis management, since certain aspects of MASINT, such as the analysis of electromagnetic radiation received by signals intelligence are more… …   Wikipedia

  • Measurement microphone calibration — In order to take a scientific measurement with a microphone, its precise sensitivity must be known (in volts per Pascal). Since this may change over the lifetime of the device, it is necessary to regularly calibrate measurement microphones. This… …   Wikipedia

  • Response to intervention — In education, Response To Intervention (commonly abbreviated RTI or RtI) is a method of academic intervention used in the United States designed to provide early, effective assistance to children who are having difficulty learning. Response to… …   Wikipedia

  • Computer Measurement Group — The Computer Measurement Group (CMG), founded in 1974, is a worldwide non profit organization of data processing professionals whose work involves measuring and managing the performance of computing systems. In this context, performance is… …   Wikipedia

  • Real User Measurement — (auch kurz RUM) steht in der Informatik für die Leistungsüberwachung (Performance Monitoring) von Webapplikationen aus der Perspektive des Endnutzers (Client). Die Notwendigkeit zum Real User Measurement begründet sich mit dem sogenannten… …   Deutsch Wikipedia

  • Rich Internet application — Articleissues article =September 2008 OR = July 2008 refimprove = July 2008 advert = July 2008 cleanup = July 2008Rich Internet applications (RIAs) are web applications that have the features and functionality of traditional desktop applications …   Wikipedia

  • radiation measurement — ▪ technology Introduction       technique for detecting the intensity and characteristics of ionizing radiation, such as alpha, beta, and gamma rays or neutrons, for the purpose of measurement.       The term ionizing radiation refers to those… …   Universalium

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”