Ramine
3/12/2016 8:26:00 PM
I correct my typos, please read again...
Hello......
Here is my ecommerce websites mathematical queuing theory
modeling that is good approximation..
Here is the ecommerce website network organized as inter-connected
queues in serial manner:
A -> M/G/c database servers queue -> M/M/1 Network queue -> M/M/1 Client
-> A
The M in M/G/c means markovian distribution of the arrivals to the
M/G/c queue and the G in M/G/c is a general distribution of the service.
A is the arrival rate to the network of queues.
M/G/c database server has an hyper-exponential service, i think
that to not get into simulation, since many ecommerce websites
have read-mostly workloads, the hyper-exponential service of the
M/G/c queue can be approximated with an M/M/n queue when the
writer and the delete transactions are less or equal to 30% of
the total transactions and the ecommerce website has read-mostly workloads.
And now i will give you the mathematical equations of the M/G/c
queue that has an hyper-exponential service that permit us to
model a database server, here they are:
The mean that is the the mean time of the service of each server
of the M/G/c queue is:
M1 = p1/a + p2/b + p3/c [1]
and the second moment of each server is:
M2 = 2*p1/a^2 + 2*p2/b^2 + 2*p3/c^2
and the variance of each queue is:
variance = M2 - M1^2
a , b and c are the service rates of the different transactions
such us read,write, delete.
and p1 , p2 and p3 are the percentage of the transactions.
And when you calculate and get M1 you will then calculate the
mean service time that is 1/M1 and you will plug it on your M/M/c
queue that is an approximation of the M/G/n queue of the database
server that has an hyper-exponential service on read-mostly workloads,
using the arrival rate.
So for the M/M/c queue we have that:
A good approximation of waiting time of the M/M/c queue is:
D = Phi^c / Mu*(1 - Phi^c) [2]
Phi: is the utilization
and Mu: is the the service rate in server queue.
Phi = U(Density of circulation) / c (number of servers in the M/M/c queue)
U = Lambda / Mu
Lambda is the arrival rate A to the M/M/c queue
and Mu is the service rate of each server of the M/M/C queue.
And the response time of the M/M/c queue is:
R = D + 1/Mu
and the perceived throughput of the M/M/c queue that is Pt = 1/R
And the mean number of transactions on the system is:
Ns = Lamda*R
Lambda is the arrival rate to the M/M/c queue.
And the mean number of transactions on the M/M/c waiting queue is:
Nq = Lambda*D
So from the above equation [1] we get the service rate of each
server of the M/M/c queue of the database server that is: 1/M1
so we plug that in equation [2] of the M/M/c queue, so we get:
D = Phi^c / ((1/M1)*(1 - Phi^c))
So we get the response time of the M/M/c that is:
R = D + 1/(1/M1) => R = D + M1.
For the other M/M/1 queues of the Network queue and the client queue
we have the following equation:
The waiting time of M/M/1 queue is:
D =Phi / (1- Phi)
and Phi = Lambda / Mu
Lambda is the arrival rate A
and Mu is the service rate of the M/M/1 queue.
And you have to not forget that in the M/M/1 Network queue
you have a protocol overhead that is approximatly equal to 20%
so you have to multiply the mean size of the files to be transferred on
the M/M/1 Network queue by 120% and calculate after that the service
rate of the M/M/1 Network queue. And you have to not forget about the
Knee of the M/M/c queue of the database server that is equal to 74% and
the Knees of the other M/M/1 queues that is equal to 50%.
So since the queues of the ecommerce website to be modeled are organized
in a serial manner, so the calculations are easy now, so i will let you
do the calculations easily now.
Thank you,
Amine Moulay Ramdane.