Technische Universität München Application Performance Monitoring of a scalable Java web-application in a cloud infrastructure Final Presentation August 5, 2013 Student:Michael Rose Supervisor:Prof. Dr. Florian Matthes Advisor:Alexander Schneider Dr. Thomas Büchner
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure Agenda Application Performance Monitoring APM for Tricia Evaluation Further Work Summary August 5, 20132
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure Application Performance Monitoring (APM) „Monitoring is the process of maintaining surveillance over the existence and magnitude of state change and data flow in a system.“ 1 How fast is my application?... If the application is not fast... –When is it slow?everytime, on a certain time of the day,... –What is slow?everything, a certain type of operation, a single request,... –Why is it slow?bug in the application, insufficient resources, wrong configuration,... Solve the problem August 5, 20133
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure APM - Stakeholders Customers –improve their business –application must be available and usable Cloud Operations –Is there need for action? (more resources, more servers,...) –require application-level information –standardized interface Developers –Are there any Problems? –If so: What are they? How can they be solved? August 5, 20134
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure APM – Key Metrics Overall response time Handler duration Database operation execution time Elasticsearch operation execution time Requests per Minute Database operations per Minute Elasticsearch operations per Minute System Load Process Load Memory Consumption August 5, 20135
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure APM – Means of Evaluation Checking for problems Performance Snapshot created at a regular interval (e.g. 2 hours) detailed information for all monitors in the system use as indicators maximum execution time August 5, 20136
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure APM – Means of Evaluation Verifying a Problem Graphical Visualization create time series see if just a singular event detect dependencies August 5, 20137
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure APM – Means of Evaluation Tracking a Problem Performance Trace created in case of a problem gather all monitors used in the executed operation print detailed information Find the monitor responsible for the slowdown August 5, 20138
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure APM for Tricia Existing Solutions / Libraries –New Relic –Kieker –Java Simon –RRDTool Existing Standards –Java Management Extensions (JMX) –Nagios –collectd, ganglia,... August 5, 20139
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure APM for Tricia - Architecture August 5,
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure APM for Tricia - Architecture August 5, Tricia Monitoring Tool Performance Snapshots Performance Traces Graphical Visualization Detection Tracking Detection Verification
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure APM for Tricia - Architecture August 5,
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure APM for Tricia - Architecture August 5,
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure Evaluation - Context August 5,
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure Evaluation – Problem August 5, Customers reported slow performance Specific tasks took around 10 seconds to complete Creation of a workpace Problem was reproducable
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure Evaluation – Checking for a problem August 5, Look at Performance Snapshots NameHitsAvgTotalMax handler entity.persist es es.searchables_production_ multitenancy.commit db
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure Evaluation – Verification August 5, Graphical visualization
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure Evaluation – Tracking Down August 5, Perform slow request Analyze Performance Trace 9 607ms for /space/submit NameHitsTotal webserver.handlerRequests handler es es.searchables_production_multitenancy.commit18 686
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure Evaluation – Tracking Down August 5, Commit operation performed by a single method Method is basic ES library call Implementation according to documentation Research on the internet produced no results Only environment with this problem
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure Evaluation – Results August 5, Low-level analysis revealed slow file deletion No bug in Tricia Issue caused by target infrastructure Provider was notified, working on solution
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure Further Work August 5, Higher degree of automatization –Extract data from log files –Aerts & Notifications Even more data via JMX –Performance Snapshots –Performance Trace
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure Summary August 5, Identification of key metrics Examination of existing solutions & standards Successfully employed APM in Tricia Evaluation of developed solution How-To for using the solution
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure August 5, Questions & Discussion
Technische Universität München Application Performance Monitoring of a scalable Java web- application in a cloud infrastructure August 5, Thank you for your attention. Michael Rose