SPECjEnterprise2010 & Java Enterprise Edition (EE) PCM Model Generation DevOps Performance WG Meeting 2014-07-11



Similar documents
Using Dynatrace Monitoring Data for Generating Performance Models of Java EE Applications

Model-Based Performance Evaluations in Continuous Delivery Pipelines

WebSphere Server Administration Course

IBM WebSphere Server Administration

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.

Using Performance Models to Support Load Testing in a Large SOA Environment Industrial Track

MagDiSoft Web Solutions Office No. 102, Bramha Majestic, NIBM Road Kondhwa, Pune Tel: /

Integrating the Palladio-Bench into the Software Development Process of a SOA Project

Oracle WebLogic Server 11g Administration

Towards a Performance Model Management Repository for Component-based Enterprise Applications

ITG Software Engineering

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

Towards Performance Awareness in Java EE Development Environments

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

Performance Optimization For Operational Risk Management Application On Azure Platform

Delivering Quality in Software Performance and Scalability Testing

WEBLOGIC ADMINISTRATION

Holistic Performance Analysis of J2EE Applications

Insight into Performance Testing J2EE Applications Sep 2008

Project Manager 1 Post == Experience years in Project Management in reputed company, Salary Rs.1,20,000/-

<Insert Picture Here> Java Application Diagnostic Expert

APAC WebLogic Suite Workshop Oracle Parcel Service Overview. Jeffrey West Application Grid Product Management

Oracle Weblogic. Setup, Configuration, Tuning, and Considerations. Presented by: Michael Hogan Sr. Technical Consultant at Enkitec

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Monitoring Custom Applications User and Reference Guide

Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist

Tuning Your GlassFish Performance Tips. Deep Singh Enterprise Java Performance Team Sun Microsystems, Inc.

Oracle im Open Source Kontext Abgrenzung GlassFish vs. JBoss und wozu noch WebLogic?

A Scalability Study for WebSphere Application Server and DB2 Universal Database

Model-based Performance Evaluation of Large-Scale Smart Metering Architectures

for High Performance Computing

This presentation will provide a brief introduction to Rational Application Developer V7.5.

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

WASv6_Scheduler.ppt Page 1 of 18

Solutions for detect, diagnose and resolve performance problems in J2EE applications

Converting Java EE Applications into OSGi Applications

Foglight. Monitoring Application Servers User and Reference Guide

White Paper. How to Achieve Best-in-Class Performance Monitoring for Distributed Java Applications

WebSphere Application Server - Introduction, Monitoring Tools, & Administration

How To Monitor A Server With Zabbix

This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance.

IBM Boston Technical Exploration Center 404 Wyman Street, Boston MA IBM Corporation

Configuration Management of Massively Scalable Systems

Stream Processing on Demand for Lambda Architectures

<Insert Picture Here> Java EE 7. Linda DeMichiel Java EE Platform Lead

Agility Database Scalability Testing

zen Platform technical white paper

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Oracle WebLogic Server 11g: Administration Essentials

Why IBM WebSphere Application Server V8.0?

Agile Performance Testing

JBOSS OPERATIONS NETWORK (JBOSS ON) MONITORING

JBS-102: Jboss Application Server Administration. Course Length: 4 days

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

A Beginners Guide to Fusion Middleware

The Enterprise Java Internet Provider

<Insert Picture Here> Java EE 7: the New Cloud Platform

Apache Jakarta Tomcat

Using Tomcat with CA Clarity PPM

UBS Training Course Catalog

Architectural Overview

11.1 inspectit inspectit

JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers

Performance Analysis of Web based Applications on Single and Multi Core Servers

Learning GlassFish for Tomcat Users

enterprise^ IBM WebSphere Application Server v7.0 Security "publishing Secure your WebSphere applications with Java EE and JAAS security standards

B M C S O F T W A R E, I N C. BASIC BEST PRACTICES. Ross Cochran Principal SW Consultant

Impact of Java Application Server Evolution on Computer System Performance

Extreme Java G

JBoss Enterprise Middleware. The foundation of your open source middleware reference architecture

EclipseLink. Solutions Guide for EclipseLink Release 2.5

Introduction to Sun ONE Application Server 7

No.1 IT Online training institute from Hyderabad URL: sriramtechnologies.com

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

HP OO 10.X - SiteScope Monitoring Templates

NetIQ AppManager for WebLogic Server UNIX. Management Guide

Performance brief for IBM WebSphere Application Server 7.0 with VMware ESX 4.0 on HP ProLiant DL380 G6 server

Java EE 6 development with Eclipse, Netbeans, IntelliJ and GlassFish. Ludovic Champenois Oracle Corporation

WebLogic Server 11g Administration Handbook

Aplicações empresariais de elevada performance com Oracle WebLogic e Coherence. Alexandre Vieira Middleware Solutions Team Leader

Operations and Monitoring with Spring

Monitoring applications in multitier environment. Uroš Majcen A New View on Application Management.

Oracle WebLogic Server Monitoring and Performance Tuning

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

Building Web Applications, Servlets, JSP and JDBC

WebOTX Application Server

Various Load Testing Tools

Oracle WebLogic Server 11g: Monitor and Tune Performance

Basic TCP/IP networking knowledge of client/server concepts Basic Linux commands and desktop navigation (if don't know we will cover it )

JBoss Enterprise Middleware

Tomcat 5 New Features

Monitoring Experience Redefined

Java Mission Control

Monitoring and Managing a JVM

Best practices for performance tuning JBoss Enterprise

<Insert Picture Here> Java EE 7: the New Cloud Platform

Java Platform, Enterprise Edition (Java EE) From Yes-M Systems LLC Length: Approx 3 weeks/30 hours Audience: Students with experience in Java SE

Core Java+ J2EE+Struts+Hibernate+Spring

Transcription:

SPECjEnterprise2010 & Java Enterprise Edition (EE) PCM Model Generation DevOps Performance WG Meeting 2014-07-11 Andreas Brunnert Performance & Virtualization Group, Information Systems Division fortiss GmbH An-Institut Technische Universität München

Agenda SPECjEnterprise2010 Architecture Orders Domain Workload Benchmark Execution Procedure Pitfalls Automatic Performance Model Generation Data Collection Data Aggregation Model Generation Next Steps 2 DevOps Performance WG

Agenda SPECjEnterprise2010 Architecture Orders Domain Workload Benchmark Execution Procedure Pitfalls Automatic Performance Model Generation Data Collection Data Aggregation Model Generation Next Steps 3 DevOps Performance WG

SPECjEnterprise2010 Architecture Image Source: http://www.spec.org/jenterprise2010/docs/designdocumentation.html#1_2_business_and_application_env [2] Details about components, db tables: http://www.spec.org/jenterprise2010/docs/designdocumentation.html 4 DevOps Performance WG

SPECjEnterprise2010 Architecture Orders Domain (CRM): Java EE Web Application Manufacturing Domain Enterprise JavaBeans (EJBs) driven by the Orders Domain and a special Manufacturing Domain Workload to produce cars Supplier Domain (SCM) Web-Services used by the Manufacturing domain to order parts required during the manufacturing process no specific driver only indirectly Image Source: Brunnert, Andreas; Vögele, Christian and Krcmar, Helmut (2013): "Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications." In: Computer Performance Engineering 10th European Workshop on Performance Engineering, EPEW 2013, Venice, Italy, S. 74-88. 5 DevOps Performance WG

SPECjEnterprise2010 Orders Domain Workload Image Source: Brunnert, Andreas; Vögele, Christian and Krcmar, Helmut (2013): "Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications." In: Computer Performance Engineering 10th European Workshop on Performance Engineering, EPEW 2013, Venice, Italy, S. 74-88. 6 DevOps Performance WG

SPECjEnterprise2010 Benchmark Execution Procedure SPECjEnterprise uses the Faban Benchmarking Harness to specify the workload and to execute load on the system Most important input variable: Scale (Needs to be at least 50) Scale specifies: The number of users; Scale*10 Their behavior - in terms of how many entitities they access during the execution The number of items in the database 7 DevOps Performance WG

SPECjEnterprise2010 Benchmark Execution Procedure SPECjEnterprise2010 checks the SUT configuration (e.g. database content, caching behavior of JPA) before every benchmark execution!!! Therefore, one always needs to reload the database before executing a benchmark! Afterwards, the Benchmark can be executed however, one still needs to specify a Ramp-Up, steady state and Ramp-Down phase for the benchmark execution. This time depends on: Scale/Number of Users JVM settings such as Xms/Xmx The minimum ramp-up time can be calculated based on the delay that is specified between thread-starts (default: 100ms) We recommend ~10 minutes for ramp-up (even for up to 4300 users) and a thread start delay of 100ms. 8 DevOps Performance WG

SPECjEnterprise2010 Benchmark Execution Procedure 9 DevOps Performance WG

SPECjEnterprise2010 Pitfalls Not fully loaded databases: SPECjEnterprise2010 allows a small tolerance for the database content This means that one is able to re-run a benchmark if a previous one has been canceled after a few minutes (as not many items have been modified) However, this might change your results Different JPA implementations (Hibernate vs. EclipseLink) Check your persistence.xml carefully to see if caching is disabled in the correct technology specific - syntax Stateful JPA Some JPA Implementations (e.g. the one in JBoss 7.1.1.) are quite sensitive to schema changes, so two reboots might be required to get the atomicity tests running 10 DevOps Performance WG

SPECjEnterprise2010 Pitfalls Full garbage collections during the benchmark execution Either make sure that the memory is big enough to handle one benchmark run or let the benchmark run long enough to reduce the impact of single spikes in the results For Linux: set all language and time settings to en_us!!! Otherwise you might not be able to see the graph results in your benchmark harness Use systems with the ability to measure time intervals below 10 ms (e.g. CenOS, opensuse, Solaris, AIX, ) and not Windows or Ubuntu as you might get incorrect results See dissertation of Michael Kuperberg for more details Make sure that the hostname in the Driver configuration matches the one in hosts file of the driver OS 11 DevOps Performance WG

Agenda SPECjEnterprise2010 Architecture Orders Domain Workload Benchmark Execution Procedure Pitfalls Automatic Performance Model Generation Data Collection Data Aggregation Model Generation Next Steps 12 DevOps Performance WG

Automatic Performance Model Generation Java Enterprise Edition (Java EE) Typical Java EE Application Architecture (Example): Components according to the Java EE Specification: Servlets / Java Server Pages (JSP) handle requests/responses [2] Enterprise Java Beans (EJB) contain Business-Logic Database contains persistent data 13 Content Source: Brunnert, Andreas; Vögele, Christian and Krcmar, Helmut (2013): "Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications." In: Computer Performance Engineering 10th European Workshop on Performance Engineering, EPEW 2013, Venice, Italy, S. 74-88. [2] Image Source: Neubig, Stefan (2014): "Evaluierung der Ressourcenabschätzung einer beispielhaften Unternehmensanwendung auf Basis eines automatisch generierten Performance-Modells." Bachelor's Thesis, Technische Universität München 2014. Performance fortiss GmbH DevOps Performance WG

Automatic Performance Model Generation Data Collection To represent these predefined component types the following data needs to be collected Servlets, JSPs, EJBs names Component operation names [2] Component relationships on the level of their public operations Resource demand of these component operations External systems such as databases 14 Content Source: Brunnert, Andreas; Vögele, Christian and Krcmar, Helmut (2013): "Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications." In: Computer Performance Engineering 10th European Workshop on Performance Engineering, EPEW 2013, Venice, Italy, S. 74-88. [2] Image Source: Neubig, Stefan (2014): "Evaluierung der Ressourcenabschätzung einer beispielhaften Unternehmensanwendung auf Basis eines automatisch generierten Performance-Modells." Bachelor's Thesis, Technische Universität München 2014. Performance fortiss GmbH DevOps Performance WG

Automatic Performance Model Generation Data Collection To represent these predefined component types the following data needs to be collected Servlets, JSPs, EJBs names Component operation names [2] Component relationships on the level of their public operations Resource demand of these component operations JDBC Wrapper External systems such as databases 15 Content Source: Brunnert, Andreas; Vögele, Christian and Krcmar, Helmut (2013): "Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications." In: Computer Performance Engineering 10th European Workshop on Performance Engineering, EPEW 2013, Venice, Italy, S. 74-88. [2] Image Source: Neubig, Stefan (2014): "Evaluierung der Ressourcenabschätzung einer beispielhaften Unternehmensanwendung auf Basis eines automatisch generierten Performance-Modells." Bachelor's Thesis, Technische Universität München 2014. Performance fortiss GmbH DevOps Performance WG

Automatic Performance Model Generation Data Collection To represent these predefined component types the following data needs to be collected Servlets, JSPs, EJBs names Component / Operation name Component operation names [2] Component relationships on the level of their public operations Resource demand of these component operations JDBC Wrapper External systems such as databases 16 Content Source: Brunnert, Andreas; Vögele, Christian and Krcmar, Helmut (2013): "Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications." In: Computer Performance Engineering 10th European Workshop on Performance Engineering, EPEW 2013, Venice, Italy, S. 74-88. [2] Image Source: Neubig, Stefan (2014): "Evaluierung der Ressourcenabschätzung einer beispielhaften Unternehmensanwendung auf Basis eines automatisch generierten Performance-Modells." Bachelor's Thesis, Technische Universität München 2014. Performance fortiss GmbH DevOps Performance WG

Automatic Performance Model Generation Data Collection To represent these predefined component types the following data needs to be collected Servlets, JSPs, EJBs names Control flow (ID + Call Order + Stack Depth) Component operation names [2] Component relationships on the level of their public operations Resource demand of these component operations JDBC Wrapper External systems such as databases 17 Content Source: Brunnert, Andreas; Vögele, Christian and Krcmar, Helmut (2013): "Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications." In: Computer Performance Engineering 10th European Workshop on Performance Engineering, EPEW 2013, Venice, Italy, S. 74-88. [2] Image Source: Neubig, Stefan (2014): "Evaluierung der Ressourcenabschätzung einer beispielhaften Unternehmensanwendung auf Basis eines automatisch generierten Performance-Modells." Bachelor's Thesis, Technische Universität München 2014. Performance fortiss GmbH DevOps Performance WG

Automatic Performance Model Generation Data Collection To represent these predefined component types the following data needs to be collected Resource demand: CPU end CPUstart Servlets, JSPs, EJBs names Heap end Heapstart Component operation names [2] Component relationships on the level of their public operations Resource demand of these component operations JDBC Wrapper External systems such as databases 18 Content Source: Brunnert, Andreas; Vögele, Christian and Krcmar, Helmut (2013): "Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications." In: Computer Performance Engineering 10th European Workshop on Performance Engineering, EPEW 2013, Venice, Italy, S. 74-88. [2] Image Source: Neubig, Stefan (2014): "Evaluierung der Ressourcenabschätzung einer beispielhaften Unternehmensanwendung auf Basis eines automatisch generierten Performance-Modells." Bachelor's Thesis, Technische Universität München 2014. Performance fortiss GmbH DevOps Performance WG

Automatic Performance Model Generation Data Collection To represent these predefined component types the following data needs to be collected Servlets, JSPs, EJBs names Performance Curves which capture #of calls and response time within the scope of specific requests Component operation names [2] Component relationships on the level of their public operations Resource demand of these component operations JDBC Wrapper External systems such as databases 19 Content Source: Brunnert, Andreas; Vögele, Christian and Krcmar, Helmut (2013): "Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications." In: Computer Performance Engineering 10th European Workshop on Performance Engineering, EPEW 2013, Venice, Italy, S. 74-88. [2] Image Source: Neubig, Stefan (2014): "Evaluierung der Ressourcenabschätzung einer beispielhaften Unternehmensanwendung auf Basis eines automatisch generierten Performance-Modells." Bachelor's Thesis, Technische Universität München 2014. Performance fortiss GmbH DevOps Performance WG

Automatic Performance Model Generation Data Aggregation The Data Collection and Model Generation Components can work with either work with InvocationBasedPersistence Services (Files) or AggregatedPersistenceServices (MBeans, DBs) Java EE Server Data Collection MBeans Model Generation Files Data Aggregation Analysis DB Image Source (adapted): Brunnert, Andreas; Vögele, Christian and Krcmar, Helmut (2013): "Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications." In: Computer Performance Engineering 10th European Workshop on Performance Engineering, EPEW 2013, Venice, Italy, S. 74-88. 20 DevOps Performance WG

Automatic Performance Model Generation Model Generation Java-based client Usage Model Based on Data: Stored in Runtime Mbeans Repository Model Stored in Files or an Analysis Database Default repository, system, allocation and System Model resource environment are generated automatically PCCurve Specification file is also generated Allocation Model automatically and is also associated with the system model and its corresponding repository Resource Environment model interfaces Image Source: Wischer, Kilian (2014): "Abbildung von Ressourcen-Profilen für Unternehmensanwendungen durch Performance-Modelle." Master's Thesis, Technische Universität München 2014. 21 DevOps Performance WG

Automatic Performance Model Generation Model Generation Image Source (adapted): Brunnert, Andreas; Vögele, Christian and Krcmar, Helmut (2013): "Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications." In: Computer Performance Engineering 10th European Workshop on Performance Engineering, EPEW 2013, Venice, Italy, S. 74-88. 22 DevOps Performance WG

Agenda Introduction Motivation Automatic Performance Model Generation Data Collection Data Aggregation Model Generation Evaluation SPECjEnterprise2010 Deployment Model Generation Measurement and Simulation Results in Comparison Related Work Outlook 23 DevOps Performance WG

Outlook Usage Model Generation Master Thesis ongoing based on session traces Setting thread limits for each tier (Web, EJB, JDBC Conn. Pools) Representing Distributed systems Distributing the transaction ID within distributed Java EE environments using the Application Response Measurement (ARM) standard or similar means Aggregating data from multiple Java EE instances Modeling Java EE server clusters Supporting new component types: JSF, web-services, Message driven beans, Other Java EE 7.0 enhancements, e.g. Batch Jobs,.. 24 DevOps Performance WG

Thanks for your attention! Questions? Contact // Andreas Brunnert fortiss GmbH An-Institut Technische Universität München Guerickestraße 25 80805 München Germany tel: +49 89 3603522 510 mail: andreas.brunnert@fortiss.org fax: +49 89 3603522 50 web: www.fortiss.org 25 DevOps Performance WG