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.