Handling Session Classes for Predicting ASP.NET Performance Metrics

Download Report

Transcript Handling Session Classes for Predicting ASP.NET Performance Metrics

Handling Session Classes
for Predicting ASP.NET
Performance Metrics
Ágnes Bogárdi-Mészöly,
Tihamér Levendovszky, Hassan Charaf
Budapest University of Technology and Economics, Hungary
Department of Automation and Applied Informatics
Outline


Introduction
Backgrounds
 Queueing model of web applications

Model demonstration and validation in ASP.NET
environment
 Model parameters estimation based on one
measurement
 Model evaluation with the help of MATLAB
 Model validation

Conclusions and future work
Introduction


Web-based information systems
An important factor: performance
 Low response time
 High availability
 Certain level of throughput

Properly designed performance model
 Performance prediction
 At early stages of the development process

Prominent technology: Microsoft .NET
Queueing Model of Web Applications 1

Application – network of M queues
 Application tier
– queue with processor sharing discipline
 A request can take multiple visits to each queue
– transitions to its successor and its predecessor

Session-based workload
– infinite server queueing system
 Active session – occupying one server
Queueing Model of Web
Applications 2
Evaluation algorithm

Mean-Value Analysis (MVA)
 Recursive algorithm
 Introduce customers one by one
 Terminate when all customers have been
entered
 Visit numbers instead of transition probabilities

Utilization law
 Utilization of the queues
Multiple session classes

Model enhancement:
 Incoming sessions classified into multiple classes
 Service times, visit ratios, user think time
on a per-class basis



Time and space complexities of MVA ~
number of feasible population
Approximate MVA algorithm in a few steps
Balanced job bounds in one step
Model demonstration

Three-tier ASP.NET test web application
Presentation layer
ASP.NET web forms
Business logic layer
C# classes
Data access layer
ADO.NET
Database layer
SQL server
Model parameters estimation and
model evaluation

Each page and class belonging to the presentation,
business logic or database were measured separately
 Based on one measurement
Number of customers
Max. number of customers
Number of tiers
Average user think time
Visit numbers
Average service times
MVA
Approximate
MVA
Balanced job
bounds
Response time
Throughput
Tier utilization
Experimental configuration 1

Application Center Test
 Warm-up time for the load to reach a steady-state
 Sleep times to simulate realistic usage of the
application
 When we handle one session class, the number of
simultaneous browser connections varied.
 When we handle multiple session classes, there were
two classes: a database reader and a database writer.
The number of session of one class was constant 10,
while the number of simultaneous browser connections
of the other class was varied.
 Average response time and throughput were measured.
Experimental configuration 2

Observed response times and throughputs
Model validation – one session class 1

Performance prediction with MVA algorithm
 Model predicts the response time and the throughput
acceptably
Model validation - one session class 2

Utilization
o presentation tier is the first that becomes congested
o database queue is the second (29%)
o business logic queue is the last one (17%)
Model validation - one session class 3

Performance prediction with balanced job bounds

Model predicts the response time and the throughput
acceptably
Model validation - one session class 4

Utilization
o presentation tier is the first that becomes congested
o database queue is the second
o business logic queue is the last one
Model validation – two session classes 1

Performance prediction with approximate MVA algorithm
 Model predicts the response time and the throughput
acceptably
Model validation – two session classes 2

Utilization
o presentation tier is the first that becomes congested
o database queue is the second (76%)
o business logic queue is the last one (15%)
Model validation – two session classes 3

Performance prediction with balanced job bounds

Model predicts the response time and the throughput
acceptably
Model validation – two session classes 4

Utilization
o presentation tier is the first that becomes congested
o database queue is the second
o business logic queue is the last one
Conclusions and future work 1

Model parameters have been estimated
from one measurement

MVA, approximate MVA evaluation algorithm
and calculation of balanced job bounds have been
implemented with the help of MATLAB

Measurement process was executed
in order to experimentally validate the models
Conclusions and future work 2

Models predicts acceptably
 response time
 throughput
 tier utilization

Model must be enhanced to handle
 limits of the four thread types
in .NET thread pool
 global and application queue limit

Model may be enhanced by other features
Thank you for your attention.