Capacity Forecasting Techniques & Approach

Capacity Forecast Approach

a) Historical performance database (Statspack/AWR Report)

b) Looking the profile for (Correlate workload data with %CPU busy)

c) Cap models in EXCEL (Modeling)

Capacity Forecast Techniques

1.Capacity benchmarking

a)Load testing

2.Capacity trending

a)Linear trend analysis
b)Statistical approaches

3.Capacity modeling

a)Analytic modeling
b)Simulation modeling

Selecting Best Techniques

Load testing is necessary early in the deployment process

Statistical analysis is great to select a subset of systems for further analysis

Modeling is best when you need an accurate predication of the resources required to support a given workload

Why Queuing Theory

a) Queuing theory - certain types of lines can be described mathematically

b) All need to do is figure out the right formulas and plug in some numbers
Easy - but requires assumptions that may not hold in some situation

c) Simulation- we build a model of the system and play with it- this is more work but also more flexible - so the model can be more accurate

d) This theory permits the derivation and calculation of several performance measures including

The average waiting time in the queue or the system

The expected number waiting or receiving service

e) The probability of encountering the system in certain states, such as empty, full, having an available server or having to wait a certain time to be served



Queuing Theory Assumptions

“Infinite” number of processes
Arrival rate of l (Poisson distribution)
Unlimited queue lengths allowed
Single line queue
First-come-first-served (FCFS) queue priority
Only 1 server per process
Service rate of u (exponential distribution)
Mean length of service is s = 1/ u

Queuing Theory Formula



What these formula to tell us ?

Database Server Process arrive at the rate of 25 per minute. The server can serve one process in 2 seconds. (Assume Poisson arrival and exponential service rates).

A) What is the average utilization of the server ?

l = 25 processes /minute
u = 1 Process/ 2 Sec (1 min/ 60sec) = 30 processes / minute


B) What is the average number of processes in the line ?



C) What is the average number of processes in the system ?




D) What is average waiting time in line ?



E) What is average waiting time in the system ?



The arrival rate l

Transactions arrive into a computing system.

There are many statistics we can use to measure the arrival rate.

Common statistics from v$sysstat; logical reads, blocks changes, physical writes, user calls, logons, executes,user commit, and user rollbacks.

The Servers

CPU , Memory , Network and IO devices are servers.

Each transaction on the server consumes service time,S.

The service time is how long it takes a server to process a transaction.

The busyness of a server is called the utilization, U.

When a server gets above 70% utilized,transactions start to wait.

The Queues

When a transaction waits, it is placed into a queue.

Each queue has a length, L.

Each transaction is in the queue has a time W.

Performance decreases when a server gets busy and transactions queue.

This occurs at around 60% to 75%.

Response Time



Forecasting Steps

Customer requirement

Workload Data Collection

Utilization Data Collection

Identify the workload data for the driving utilization factor. Co-relate all the workload matrices with the Utilization matrices.

Calculate the extra CPU needed

Prepare the report

Data Collection

Oracle Enterprise Management

SAR files

Customized data collection Scripts

Identify the workload factor

Choose those Matrices as arrival rate whose correlation coefficient is highest among all the workload matrices.

Greater the number of sample for calculating correlation coefficient , the better the workload relation with the utilization.

The higher the correlation factor the better the accuracy.



Formulas



Real Life example


Analysis

1 comment:

Anonymous said...

Probably I can say with this blog make, more some interesting topics.