qos enabled application server the controller service [email protected] bologna, february...

18
QoS Enabled Application Server The Controller Service [email protected] Bologna, February 19 th 2004

Upload: denis-warren

Post on 02-Jan-2016

227 views

Category:

Documents


2 download

TRANSCRIPT

QoS Enabled Application Server

The Controller Service

[email protected], February 19th 2004

Outlines

Objective: Controller Service for JBoss Function: to adapt the system to changing workloads by

online optimization of the application serverCTRL SERVICE: Micro level control of an individual application serverCONFIGURATION SERVICE: Macro level control of cluster

The Controller MBeanDynamic TuningOn Selecting the ConfigurationExperimental AnalysisECperf Benchmarking: some samples

Controller MBean 1/2JBoss open-ended middleware

Extend services dynamically deploying new components

Service components are plugged into a JMX-based “server spine”Declared as MBean Services that are loaded into the server and administered through JMX

Implement TAPAS Middleware Services as MBeans, plugged in the “server-spine”

Controller MBean 2/2COMPARATOR

At the end of each CI, checks data on completing requests from the server If any metric has been violated decides actions to take

CONFIGURATION DECIDERProduces the newConf with the best QoS To find the best one, selects between a group of different configurations and asks the PERF.INT to calculate the related QoS

PERFORMANCE INTERPRETERCalculates QoS for each Conf, applying a model to data on avg Arrival Rate of req and Service Demand at each device

AR: computed using data on arrival process of req. during a CISD: computed using Device Utilization and the Throughput during a CI: SDcpu=Ucpu/Th

Tuning the ConfigurationModification of the configuration may be applied at each of the levels, dynamically, at run time, or statically, at set-up time

Modifications affect the configuration and the performance of layers above

Select the option –server -Xms128m -Xmx512m, to set the Java VM at 128M of initial and 512M of maximum Java heap size

Run the server with the –c option, to specify the type of server configuration: minimal, default, all

The Web Console 1/2

The Web Console 2/2

Dynamic TuningNumeric RW configurable attributes exposed by MBeans:

jboss.invoker.pooledMaxPoolSize (300)Backlog (200)

jboss.jca.ManagedConnectionPool.XAJDBCWrapperDSMaxSize (20)

Performance features: Thread Pools: maintain live server threads accepting requests from the waiting queue and handling simultaneous client sessionsDB Connection pools: maintain live physical database connections that can be reused in order reduce the overhead of opening and closing database connections With large pool:

Pro: more threads/connections to fulfil requestsCons: slower access on the server resources/connection table

Selecting the ConfigurationDifficult to estimate and plan the size and capacity needed to provide the desired QoS

How to select the best configuration and predict the effects

System performance modelAnalytical Model that uses formula and computational algorithm to generate performance metrics from model parameters

System load testingBenchmarking tool that produces a series of simulated events for measuring performance and scalability of a system

Analytic Model 1/2

Queuing Network Model

Single tier

Multiple tier

Analytic Model 2/2

It must be a good approximation of the reality

It does track the measured valuesIt aids in on-line optimization

Aim: to employ System load testing to understand the parameters to tune, and the provoked effects Comparison of measured and predicted

response time in Apache Web Server

System Load TestingUse benchmarking tool to generate artificial workloads on the system and to measure the characteristics of a systemResults aid to identify and isolate system bottlenecks, fine-tune the components and predict the behaviour

AdvantagesProvides accurate performance dataProvides good approximations of the environment’s sizing and capacity

DisadvantagesQuite expensive and time-consumingTesting carried out in a separate environment, so not always directly address the issues in the overall environment

ECperf Benchmark 1/2EJB Benchmark: incorporates e-commerce, B2B and supply chain management transactions

Business model: 4 domains, referring to a logical entity that describes a distinct business sphere of operation

Producer-consumer relationships and transactions are defined for each different domain, between domains in the company and to outside suppliers and customers

ECperf Benchmark 2/2Throughput: made of activities on the SUT of the Driver Agents (Order/Manufacturing agents)Injection Rate: rate at which business transactions requests from the OrderEntry application are injectedBBops/min: #Transactions in Customer Domain + #WorkOrders in Manufacturing Domain / minute

Experiments 1/2: the Environment

Oracle DB Server

JBoss 3.2.0Server

Ludgate.ncl.ac.uk:Pentium III – 931MHz1 GB RAM

Mill64.ncl.ac.uk:Pentium 4 – 2.40GHz512MB RAM

Mill59.ncl.ac.uk:Pentium 4 – 2.40GHz512MB RAM

100Mbps Switch

Client: ECperf Driver

SUT

Experiments 2/2: SamplesOn tuning the MaxPoolSize in JBoss.Invoker.Pooled

Number of Server Threads waiting for client requests

Experience shows that configurations with too many threads spend much more time in the kernel than those that are well tuned

Conclusions

So far:Design issues of the Controller MBean

Tuning the configuration

Instruments used

Future works:Conduct further experiments (collecting data on the devices performance as well)

Use the experiments to validate the Analytical Model of the application server

Apply the model for predicting the behaviour of JBoss application server in changing of the conditions

References

X. Liu, L. Sha, Y. Diao, S. Froehlich, J.L. Hellerstein, Sujay Parekh, “Online Response Time Optimization of Apache Web Server”. 11th International Workshop on Quality of Service, Monterey, CA, 2003 D. A. Menasce, D. Barbar, R. Dodge, “Preserving QoS of e-commerce sites through self-tuning: a performance model approach”, Proceedings of the 3rd ACM conference on Electronic Commerce, Florida, 2001.Sun Microsystems, “The ECperf 1.0 Benchmark. Specification”, June2001 http://java.sun.com/j2ee/ecperf/