On some variants of UNIX
you may find that the performance monitoring
command that has been used, e.g. vmstat,
returns a disk utilization figure and the
rate of transfers per second, but does not
return a measured service time. If we assume
that the disk is behaving according to M/M/1
queuing assumptions (often the case, so
try not to worry about the detail) then
we can calculate the service time from the
following formula:
Service time = utilization/transfer rate.
Thus if a disk is running at 45% utilization
(0.45 for the purpose of the above equation,
i.e. active for 0.45 seconds each second),
and has a transfer rate of 15 transfers
per second, then the equation yields:
0.030 = 0.45/15
i.e. a 30 millisecond service time.
On the other hand, if we know the average
queue length and transfer rate for the disk
then we can again use M/M/1 assumptions
to calculate the service time. For example,
a disk has a measured queue length of 2.
We can now use the following equation:
Queue length = utilization/(1
- utilization)
Or in other words:
utilization = 1 - (1/(Queue Length + 1))
Thus a queue length of 3 = a utilization
of 0.75 or 75%.
Now that we have the utilization figure
we can also calculate the service time using
the previous equation.
Next
modeling Tip |