JFlooder - Application performance testing with QoS assurance



Similar documents
Features of The Grinder 3

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

WEBLOGIC ADMINISTRATION

Oracle WebLogic Server 11g: Administration Essentials

Performance Testing Oracle SOA Platform and Services

Configuration Management of Massively Scalable Systems

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

Evaluation of Load/Stress tools for Web Applications testing

A standards-based approach to application integration

Performance Monitoring and Analysis System for MUSCLE-based Applications

Integration of the OCM-G Monitoring System into the MonALISA Infrastructure

Integrated Performance Monitoring

A Talk ForApacheCon Europe 2008

A common interface for multi-rule-engine distributed systems

Red Hat Network: Monitoring Module Overview

USING JE THE BE NNIFE FITS Integrated Performance Monitoring Service Availability Fast Problem Troubleshooting Improved Customer Satisfaction

Web Application Testing. Web Performance Testing

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

Methods and tools for data and software integration Enterprise Service Bus

WebLogic Server Administration

Load Testing with JMeter

JBOSS OPERATIONS NETWORK (JBOSS ON) MONITORING

Performance Testing and Optimization in Web-Service Based Applications

Performance Testing. Why is important? An introduction. Why is important? Delivering Excellence in Software Engineering

WHITE PAPER. Domo Advanced Architecture

A Survey Study on Monitoring Service for Grid

5 Days Course on Oracle WebLogic Server 11g: Administration Essentials

CHAPTER 2 BACKGROUND AND OBJECTIVE OF PRESENT WORK

BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use

Ball Aerospace s COSMOS Open Source Test System

Performance Testing Process

Cloud Utilization for Online Price Intelligence

Glassfish Architecture.

How To Test A Web Server

Open Source Software Test Tools. Norbert Jansen Capgemini

A Software Development Platform for SOA

Learn Oracle WebLogic Server 12c Administration For Middleware Administrators

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

SOA Solutions & Middleware Testing: White Paper

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

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

Manjrasoft Market Oriented Cloud Computing Platform

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

Oracle WebLogic Server: Remote Monitoring and Management

WEBSPHERE APPLICATION SERVER ADMIN V8.5 (on Linux and Windows) WITH REAL-TIME CONCEPTS & REAL-TIME PROJECT

Open Source and Commercial Performance Testing Tools

Introduction to Testing Webservices

A Scalable Network Monitoring and Bandwidth Throttling System for Cloud Computing

WebSphere XD Virtual Enterprise v7.0: virtualization and infrastructure optimization

<Insert Picture Here> Application Testing Suite Overview

Monitoring Extended Server Environments with GSX Monitor V9 Gain a unified view of your Domino, Sametime, Exchange, and Blackberry Servers

Application Servers - BEA WebLogic. Installing the Application Server

Contents Huntcliff, Suite 1350, Atlanta, Georgia, 30350, USA

How To Use The Dcml Framework

Analyzing large flow data sets using. visualization tools. modern open-source data search and. FloCon Max Putas

How To Use Ibm Tivoli Composite Application Manager For Response Time Tracking

RTI Quick Start Guide for JBoss Operations Network Users

Top Weblogic Tasks You can Automate Now

Oracle WebLogic Server 11g Administration

ILOG JRules Performance Analysis and Capacity Planning

XpoLog Center Suite Data Sheet

Performance Analysis and Capacity Planning Whitepaper

10 Best Practices for Application Performance Testing

Chapter 1 - Web Server Management and Cluster Topology

Performance Analysis of Lucene Index on HBase Environment

Converting Java EE Applications into OSGi Applications

Oracle EXAM - 1Z Oracle Weblogic Server 11g: System Administration I. Buy Full Product.

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

Middleware Platforms for Application Development: A Product Comparison

Automated performance testing using Maven & JMeter. George Barnett, Atlassian Software

Introduction to WebSphere Administration

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

Summer Internship 2013 Group No.4-Enhancement of JMeter Week 1-Report-1 27/5/2013 Naman Choudhary

RRF Reply Reporting Framework

Application Performance Testing Basics

VERITAS Cluster Server Traffic Director Option. Product Overview

TDAQ Analytics Dashboard

Analysis of Cloud Solutions for Asset Management

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008.

Web Application s Performance Testing

Apache Jakarta Tomcat

Radio Network Configuration and Management System

Developing SOA solutions using IBM SOA Foundation

JBOSS ENTERPRISE APPLICATION PLATFORM MIGRATION GUIDELINES

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

TORNADO Solution for Telecom Vertical

AquaLogic ESB Design and Integration (3 Days)

FUJITSU Software ServerView Cloud Monitoring Manager V1 Introduction

Oracle Managed File Getting Started - Transfer FTP Server to File Table of Contents

AquaLogic Service Bus

Java Management Extensions (JMX) and IBM FileNet System Monitor

Real Time Performance Dashboard for SOA Web Services ORION SOA

PRTG NETWORK MONITOR. Installed in Seconds. Configured in Minutes. Masters Your Network for Years to Come.

Application Testing Suite Oracle Load Testing Introduction

OASIS Implementation - Version 1.1.1

QoS Management in SOAs. Service-Oriented Architectures

Management Packs for Database

How To Choose Between A Relational Database Service From Aws.Com

Transcription:

JFlooder - Application performance testing with QoS assurance Tomasz Duszka 1, Andrzej Gorecki 1, Jakub Janczak 1, Adam Nowaczyk 1 and Dominik Radziszowski 1 Institute of Computer Science, AGH UST, al. Mickiewicza 30, 30-059 Krakow, Poland Abstract Contemporary distributed systems, such as Grids, must guarantee high efficiency, scalability and failover. Attainment of these features requires complex tuning of numerous highly coupled configuration parameters at system, middleware and application level. Popular tools available for performance testing suffer from lack of automation in results comparison, dynamic load characteristic changes and support for QoS requirements. This imperfections induce authors to create a new tool - JFlooder. This paper covers basics of JFlooder features and possible usage scenarios. Contemporary distributed systems, such as Grids, must guarantee high efficiency, scalability and failover. Attainment of these features requires complex tuning of numerous highly coupled configuration parameters at system, middleware and application level. Because even little, outwardly not significant, change of one parameter may affect system efficiency and even stability, tuning of distributed system must be validated by series of load tests[1]. Planning, implementation, execution, presentation and comparison of results of these tests are not easy tasks; it is a main reason why in many installations these tests are skipped or reduced to simple stress testing. Well performed load tests are build upon QoS (Quality of Service) requirements and can help in detecting system behavior under different load - only results of such tests can be compared and may answer the question whether system tuning was correct and, what is more important, how the system will perform in a real production environment[4]. Popular tools available for generation of system load and results acquisition like Grinder[5] or JMeter[2] help a little but suffer from a lack of automation in results comparison, dynamic load characteristic changes and support for QoS requirements [4, 3]. Imperfections of available application performance testing tools induce authors to create a new tool - JFlooder, which is described in this paper. The paper is strucure as follows: in the first chapter general architecture of JFlooder is presented, second chapter addresses concept of testing plugins, next two chapter covers metrics and optimal operating point. The paper is concluded with the future development plans. 1 Architecture JFlooder is a program that performs load tests of SOA conform application and middleware running on distributed infrastructure (cluster and grid). It

consists of agents running on worker nodes and central graphical management console - Fig.1. Fig. 1: JFlooder general architecture The console is responsible for agent coordination during the test execution, results gathering and presentation. Agents are responsible for test scenario execution and generation of desired system load. They can work in two base data gathering modes: off-line results are gathered after the test has been performed, such behaviour gives better relevance of it, on-line results are gathered and processed while the test is being performed user is able to see test results during its execution. JFlooder supports definition of load characteristics. Among built-in load characteristics: plain and peak load, user can define his own load functions. This powerful mechanisms allows for simulation of almost any system load characteristic. 2 Plugins Plugin architecture is one of the most outstanding features of JFlooder, it allows for very flexible definition of system-under-test access technology and test scenarios. Built-in plugins allows for easy definition of multi-technology tests performing load tests of: RMI based services - with supplied RMI plugin, Web Services - with supplied WS plugin,

SMTP and HTTP servers - with supplied HTTP plugin, custom services - with plugin implemented over supplied plugin s API. Supported test scenarios can vary from simple to very complex. Simple scenarios are limited to the execution of a selected set of methods on a tested system. Set of parameters required by the plugin to its execution (e.g. destination URL which is used to test HTTP server) is defined through unified configuration GUI. Fig. 2: Sample plugin configuration screen More complicated test scenarios can be coded by a specific plugin and configured via GUI provided by this plugin. Current JFlooder s distribution provides two plugins of that type: JRuby plugin, Jython plugin. These plugins support programming of test scenarios in JRubby and Jython respectively. Both plugins expose GUI with syntax highlighting, compilation and execution output console. 3 Metrics Introduction of plugins concept caused a variance in tests results (metrics). Each plugin produces results conform to plugin specific set of metrics. Metric set contains list of metrics i.e. name and description of values that can be measure

by a plugin during test execution (e.g. awaiting connections count, current free memory size etc). JFlooder can handle different metrics in a very flexible way. The only limitation is plugins ability to measure something, this something regarding its type, can be presented by standard JFlooder visualization module - Fig.3. Standard, build-in plugins can handle basic metrics: system response time, system load and operation correctness. Custom plugins may perform any activity and measure any custom metrics. Fig. 3: JFlooder - test execution results screen JFlooder lets one do more than just return and display some values from a plugin. It allows to process values and visualize them in a convenient way. Test execution results can be filtered, according to the filters defined during test definition. These filters can include typical aggregation functions like deviation, average, min, max etc. After filtering results can be presented as a single-value field (ie. to know the minimum free memory size after the test) or plotted in time domain as charts. Moreover after the test completion, it is possible to save all results in CSV format for further processing by external systems, charts can be saved as images. 4 Optimal operation point The unique ability of the program is a possibility of detection of the optimal operation point for a system under test. Optimal operation point is a highest

system load under which the system can still guarantee given QoS parameters. As an example the following situation can be considered. Imagine you created a perfect system and you are going to deliver it to your client. Because the client spend a lot of his money for this system, he is very concerned about it. He just asks one simple question: How many transactions can my system serve with response time less then 0.5s?. You may quickly respond: A huge.. But really, how many? 100? 1000? All you need is to perform number of tests for various number of requests and load characteristics and check; sounds like a lot of work... What needs to be found out is an optimal operation point; with JFlooder only simple configuration needs to be set up. JFlooder starts with a low system load and perform tests collecting metrics (with special interest in QoS parameters), next it automatically increases the load by starting additional agents and does the testing again - this process is repeated up to the moment in which QoS parameters are violated - optimal operation point is detected. This mechanism is very helpful for detection of system characteristic in a new or tuned environment. It answers, without much effort, the question what is the maximum load for which QoS parameters are kept. Fig. 4: Optimal operating point 5 Future JFlooder has also been successfully used for testing adaptation mechanisms of a component system. The most recent work cover SOA-related topics, such as testing workflow-based applications. It is being consequently improved and will be available as open source project in the near future.

References 1. Peter Zadrozny, Philip Aston, Ted Osborne: J2EE Performance Testing with BEA WebLogic Server, Expert 70 (2005). 2. The Apache Jakarta Project - JMeter: JUnit user s manual, 2006. 3. Krzysztof Zielinski, Marcin Jarzab, Damian Wieczorek, Kazimierz Balos: JIMS Extensions for Resource Monitoring and Management of Solaris 10, 1039-1046, International Conference on Computational Science, 2006. 4. Dominik Radziszowski: Scalable, component system for collecting and storing of data origin from monitoring of distributed systems, Phd Thesis, AGH University of Science and Technology, 2007. 5. Philip Aston: The Grinder: Load Testing for Everyone, Dev2Dev, 2002.