Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-9587
Autor(en): Hidiroglu, Alper
Titel: Detecting performance anti-patterns in enterprise applications by analyzing execution traces
Erscheinungsdatum: 2016
Dokumentart: Abschlussarbeit (Bachelor)
Seiten: xv, 101
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-96045
http://elib.uni-stuttgart.de/handle/11682/9604
http://dx.doi.org/10.18419/opus-9587
Zusammenfassung: Application performance management (APM) deals with performance issues within applications. With application performance monitoring the software’s behaviour is investigated with the help of a program, in the following called agent. When the applications software runs, the agent collects performance-relevant data, which can be evaluated. For example, methods get instrumented, so that data can be collected, when the method is executed. Typical examples for such data are the response time or the CPU time of a method. There are many APM tools, that provide such an agent to collect performance data. Modern tools provide monitoring and alerting, but not root-cause analysis. Therefore, the NovaTec Consulting GmbH [NTC16b] and the University of Stuttgart (Reliable Software Systems group) are developing the diagnoseIT [dIT15] to systematically detect and analyze performance problems in applications software. The results of the diagnoseIT analysis are summarized in a report, which is then presented to the user. To provide concrete approaches for a solution concerning a performance problem within the monitored software, one part of the diagnoseIT analysis deals with detection of software performance anti-patterns [ap00]. A performance anti-pattern describes a frequently made mistake, when implementing a software and which results in performance problems. Because the mistake is made often and well known, concrete approaches for a solution can be proposed. To detect anti-patterns in collected data, diagnoseIT uses a rule engine. Thereby, a rule can represent an anti-pattern by comparing the collected data with the characteristics of the anti-pattern. When a rule detects an anti-pattern, the diagnoseIT analysis automatically can provide concrete solutions for a performance problem [HHO+15]. In its current state, diagnoseIT has only a few rules to detect anti-patterns. So in this bachelor thesis, we add more rules to the diagnoseIT to detect other performance antipatterns. Also, diagnoseIT has no possibility to detect anti-patterns, that get visible over time, because it has no possibility to save data. Therefore, in this bachelor thesis, we extend the diagnoseIT analysis with a special database, so that performance anti-patterns can be detected, which become visible in a longer observation period of performance data. The concluding evaluation of this work shows, that the implemented rules correctly detect anti-patterns. However, the evaluation also identifies limitations of the rules, that lead to wrong results in some cases.
Application Performance Management (APM) beschäftigt sich mit der Performanz von Anwendungen. Beim Application Performance Monitoring wird das Verhalten der Software mithilfe eines Programms, im folgenden Agent genannt, überwacht. Der Agent sammelt bei der Ausführung der Anwendungssoftware im Hinblick auf Performanz relevante Daten, die ausgewertet werden können. Zum Beispiel werden Methoden instrumentiert, sodass bei der Ausführung der Methode Daten gesammelt werden können. Typische Beispiele für solche Daten sind die Antwortzeit oder die Prozessorzeit einer Methode. Es existieren viele APM-Werkzeuge, die einen solchen Agenten zur Verfügung stellen. Moderne Tools bieten Monitoring an und können Warnungen aussprechen, jedoch bieten sie keine Ursachenanalyse an. Die NovaTec Consulting GmbH [NTC16b] und die Universität Stuttgart (Abteilung Reliable Software Systems) entwickeln aus diesem Grund das diagnoseIT [dIT15], um Probleme bezüglich Performanz in Anwendungssoftware systematisch zu erkennen und zu analysieren. Die Ergebnisse von diagnoseIT werden dem Benutzer in Form eines Berichts präsentiert. Um dem Benutzer konkrete Lösungsvorschläge für Probleme im Bericht bereitzustellen, befasst sich ein Teil der Analyse von diagnoseIT mit der Erkennung von Software Performance Anti-Patterns [ap00]. Ein Performance Anti-Pattern beschreibt einen häufig getätigten Fehler bei der Implementierung einer Software, welcher eben zu Problemen in der Performanz führt. Da die Fehler häufig auftreten und somit bekannt sind, können hierfür konkrete Lösungsvorschläge bereitgestellt werden. Um die Anti-Patterns automatisch in gesammelten Daten zu erkennen, benutzt das diagnoseIT eine Rule Engine. Eine Regel kann dabei ein Anti-Pattern repräsentieren, indem sie die gesammelten Daten mit den Merkmalen des Anti-Patterns vergleicht. Entdeckt eine Regel ein Anti-Pattern, so kann die Analyse automatisch entsprechende Lösungsvorschläge bereitstellen [HHO+15]. Da diagnoseIT bisher nur wenige Regeln besitzt, um Anti-Patterns zu erkennen, fügen wir diagnoseIT in dieser Bachelorarbeit weitere Regeln hinzu, um entsprechend Anti-Patterns zu erkennen. Bisher war es diagnoseIT zudem nicht möglich Anti-Patterns zu erkennen, die mit der Zeit sichtbar werden, weil diagnoseIT keine Möglichkeit hatte, Daten zu speichern. Wir erweitern diagnoseIT in dieser Bachelorarbeit darum um eine spezielle Datenbank, sodass auch Anti-Patterns erkannt werden können, die sich eventuell erst in einem längeren Beobachtungszeitraum von Performanz-Daten herauskristallisieren. Die abschließende Evaluation dieser Arbeit zeigt, dass die entwickelten Regeln Anti-Patterns richtig erkennen. Jedoch zeigt die Evaluierung auch Grenzen der Regeln auf, die in manchen Fällen zu falschen Resultaten führen.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
DetectingPerformanceAntiPatternsInEnterpriseApplicationsByAnalyzingExecutionTraces.pdf2,31 MBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.