qos enabled application server the controller service [email protected] bologna, february...
TRANSCRIPT
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
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 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/