Home > Articles

  • Print
  • + Share This
This chapter is from the book

3.2 Basic Performance Results

This section presents the approach known as operational analysis [1], used to establish relationships among quantities based on measured or known data about computer systems. To see how the operational approach might be applied, consider the following motivating problem.

Motivating problem: Suppose that during an observation period of 1 minute, a single resource (e.g., the CPU) is observed to be busy for 36 sec. A total of 1800 transactions are observed to arrive to the system. The total number of observed completions is 1800 transactions (i.e., as many completions as arrivals occurred in the observation period). What is the performance of the system (e.g., the mean service time per transaction, the utilization of the resource, the system throughput)?

Prior to solving this problem, some commonly accepted operational analysis notation is required for the measured data. The following is a partial list of such measured quantities:

  • T: length of time in the observation period

  • K: number of resources in the system

  • Bi: total busy time of resource i in the observation period T

  • Ai: total number of service requests (i.e., arrivals) to resource i in the observation period T

  • A0: total number of requests submitted to the system in the observation period T

  • Ci: total number of service completions from resource i in the observation period T

  • C0: total number of requests completed by the system in the observation period T

From these known measurable quantities, called operational variables, a set of derived quantities can be obtained. A partial list includes the following:

  • Si: mean service time per completion at resource i; Si = Bi/Ci

  • Ui: utilization of resource i; Ui = Bi/T

  • Xi: throughput (i.e., completions per unit time) of resource i; Xi = Ci/T

  • λi: arrival rate (i.e., arrivals per unit time) at resource i; λi = Ai/T

  • X0: system throughput; X0 = C0/T

  • Vi: average number of visits (i.e., the visit count) per request to resource i; Vi = Ci/C0

Using the notation above, the motivating problem can be formally stated and solved in a straightforward manner using operational analysis. The measured quantities are:


Thus, the derived quantities are


Chapter 2 discussed the need to consider multiple class models to account for transactions with different demands on the various resources. The notation presented above can be easily extended to the multiple class case by considering that R is the number of classes and by adding the class number r (r = 1, ···, R) to the subscript. For example, Ui,r is the utilization of resource i due to requests of class r and X0,r is the throughput of class r requests.

The subsections that follow discuss several useful relationships—called operational laws—between operational variables.

3.2.1 Utilization Law

As seen above, the utilization of a resource is defined as Ui = Bi/T. Dividing the numerator and denominator of this ratio by the number of completions from resource i, Ci, during the observation interval, yields

Equation 3.2.1


The ratio Bi/Ci is simply the average time that the resource was busy for each completion from resource i, i.e., the average service time Si per visit to the resource. The ratio T/Ci is just the inverse of the resource throughput Xi. Thus, the relation known as the Utilization Law can be written as:

Equation 3.2.2


If the number of completions from resource i during the observation interval T is equal to the number of arrivals in that interval, i.e., if Ci = Ai, then Xi = λi and the relationship given by the Utilization Law becomes Ui = Si × λi.

If resource i has m servers, as in a multiprocessor, the Utilization Law becomes Ui = (Si × Xi)/m. The multiclass version of the Utilization Law is Ui,r = Si,r × Xi,r.

Example 3.1.

The bandwidth of a communication link is 56,000 bps and it is used to transmit 1500-byte packets that flow through the link at a rate of 3 packets/second. What is the utilization of the link?

Start by identifying the operational variables provided or that can be obtained from the measured data. The link is the resource (K = 1) for which the utilization is to be computed. The throughput of that resource, X1, is 3 packets/second. What is the average service time per packet? In other words, what is the average transmission time? Each packet has 1,500 bytes/packet × 8 bits/byte = 12,000 bits/packet. Thus, it takes 12,000 bits/56,000 bits/sec = 0.214 sec to transmit a packet over this link. Therefore, S1 = 0.214 sec/packet. Using the Utilization Law, we compute the utilization of the link as S1 × X1 = 0.214 × 3 = 0.642 = 64.2%. ▪

Example 3.2.

Consider a computer system with one CPU and three disks used to support a database server. Assume that all database transactions have similar resource demands and that the database server is under a constant load of transactions. Thus, the system is modeled using a single-class closed QN, as indicated in Fig. 3.1. The CPU is resource 1 and the disks are numbered from 2 to 4. Measurements taken during one hour provide the number of transactions executed (13,680), the number of reads and writes per second on each disk and their utilization, as indicated in Table 3.1. What is the average service time per request on each disk? What is the database server's throughput?

03fig01.gifFigure 3.1. Closed QN model of a database server.

Table 3.1. Data for Example 3.2


Reads Per Second

Writes Per Second

Total I/Os Per Second

















The throughput of each disk, denoted by Xi (i = 2, 3, 4), is the total number of I/Os per second, i.e., the sum of the number of reads and writes per second. This value is indicated in the fourth column of the table. Using the Utilization Law, the average service time is computed as Si as Ui/Xi. Thus, S2 = U2/X2 = 0.30/32 = 0.0094 sec, S3 = U3/X3 = 0.41/36 = 0.0114 sec, and S4 = U4/X4 = 0.54/50 = 0.0108 sec.

The throughput, X0, of the database server is given by X0 = C0/T = 13,680 transactions/3,600 seconds = 3.8 tps. ▪

3.2.2 Service Demand Law

Service demand is a fundamental concept in performance modeling. The notion of service demand is associated both with a resource and a set of requests using the resource. The service demand, denoted as Di, is defined as the total average time spent by a typical request of a given type obtaining service from resource i. Throughout its existence, a request may visit several devices, possibly multiple times. However, for any given request, its service demand is the sum of all service times during all visits to a given resource. When considering various requests using the same resource, the service demand at the resource is computed as the average, for all requests, of the sum of the service times at that resource. Note that, by definition, service demand does not include queuing time since it is the sum of service times. If different requests have very different service times, using a multiclass model is more appropriate. In this case, define Di,r, as the service demand of requests of class r at resource i.

To illustrate the concept of service demand, consider that six transactions perform three I/Os on a disk. The service time, in msec, for each I/O and each transaction is given in Table 3.2. The last line shows the sum of the service times over all I/Os for each transaction. The average of these sums is 36.2 msec. This is the service demand on this disk due to the workload generated by the six transactions.

Table 3.2. Service times in msec for six requests


Transaction No.

I/O No.



































Service demands are important because, along with workload intensity parameters, they are input parameters for QN models. Fortunately, there is an easy way to obtain service demands from resource utilizations and system throughput. By multiplying the utilization Ui of a resource by the measurement interval T one obtains the total time the resource was busy. If this time is divided by the total number of completed requests, C0, the average amount of time that the resource was busy serving each request is derived. This is precisely the service demand. So,

Equation 3.2.3


This relationship is called the Service Demand Law, which can also be written as Di = Vi × Si, by definition of the service demand (and since Di = Ui/X0 = (Bi/T)/(C0/T) = Bi/C0 = (Ci × Si)/C0 = (Ci/C0) × Si = Vi × Si). In many cases, it is not easy to obtain the individual values of the visit counts and service times. However, Eq. (3.2.3) indicates that the service demand can be computed directly from the device utilization and system throughput. The multiclass version of the Service Demand Law is Di,r = Ui,r/X0,r = Vi,r × Si,r.

Example 3.3.

A Web server is monitored for 10 minutes and its CPU is observed to be busy 90% of the monitoring period. The Web server log reveals that 30,000 requests are processed in that interval. What is the CPU service demand of requests to the Web server?

The observation period T is 600 (= 10 × 60) seconds. The Web server throughput, X0, is equal to the number of completed requests C0 divided by the observation interval; X0 = 30,000/600 = 50 requests/sec. The CPU utilization is UCPU = 0.9. Thus, the service demand at the CPU is DCPU = UCPU/X0 = 0.9/50 = 0.018 seconds/request. ▪

Example 3.4.

What are the service demands at the CPU and the three disks for the database server of Example 3.2 assuming that the CPU utilization is 35% measured during the same one-hour interval?

Remember that the database server's throughput was computed to be 3.8 tps. Using the Service Demand Law and the utilization values for the three disks shown in Table 3.1, yields: DCPU = 0.35/3.8 = 0.092 sec/transaction, Ddisk1 = 0.30/3.8 = 0.079 sec/transaction, Ddisk2 = 0.41/3.8 = 0.108 sec/transaction, and Ddisk3 = 0.54/3.8 = 0.142 sec/transaction. ▪

3.2.3 The Forced Flow Law

There is an easy way to relate the throughput of resource i, Xi, to the system throughput, X0. Assume for the moment that every transaction that completes from the database server of Example 3.2 performs an average of two I/Os on disk 1. That is, suppose that for every one visit that the transaction makes to the database server, it visits disk 1 an average of two times. What is the throughput of that disk in I/Os per second? Since 3.8 transactions complete per second (i.e., the system throughput, X0) and each one performs two I/Os on average on disk 1, the throughput of disk 1 is 7.6 (= 2.0 × 3.8) I/Os per second. In other words, the throughput of a resource (Xi) is equal to the average number of visits (Vi) made by a request to that resource multiplied by the system throughput (X0). This relation is called the Forced Flow Law:

Equation 3.2.4


The multiclass version of the Forced Flow Law is Xi,r = Vi,r × X0,r.

Example 3.5.

What is the average number of I/Os on each disk in Example 3.2?

The value of Vi for each disk i, according to the Forced Flow Law, can be obtained as Xi/X0. The database server throughput is 3.8 tps and the throughput of each disk in I/Os per second is given in the fourth column of Table 3.1. Thus, V1 = X1/X0 = 32/3.8 = 8.4 visits to disk 1 per database transaction. Similarly, V2 = X2/X0 = 36/3.8 = 9.5 and V3 = X3/X0 = 50/3.8 = 13.2. ▪

3.2.4 Little's Law

Conceptually, Little's Law [2] is quite simple and intuitively appealing. We describe the result by way of an analogy. Consider a pub. Customers arrive at the pub, stay for a while, and leave. Little's result states that the average number of folks in the pub (i.e., the queue length) is equal to the departure rate of customers from the pub times the average time each customer stays in the pub (see Fig. 3.2).

03fig02.gifFigure 3.2. Little's Law.

This result applies across a wide range of assumptions. For instance, consider a deterministic situation where a new customer walks into the pub every hour on the hour. Upon entering the pub, suppose that there are three other customers in the pub. Suppose that the bartender regularly kicks out the customer who has been there the longest, every hour at the half hour. Thus, a new customer will enter at 9:00, 10:00, 11:00, ..., and the oldest remaining customer will be booted out at 9:30, 10:30, 11:30, .... It is clear that the average number of persons in the pub will be 070fig01.gif, since 4 customers will be in the pub for the first half hour of every hour and only 3 customers will be in the pub for the second half hour of every hour. The departure rate of customers at the pub is one customer per hour. The time spent in the pub by any customer is 070fig01.gif hours. Thus, via Little's Law:


Also, it does not matter which customer the bartender kicks out. For instance, suppose that the bartender chooses a customer at random to kick out. We leave it as an exercise to show that the average time spent in the pub in this case would also be 070fig01.gif hours. [Hint: the average time a customer spends in the pub is one half hour with probability 0.25, one and a half hours with probability (0.75)(0.25) = 0.1875 (i.e., the customer avoided the bartender the first time around, but was chosen the second), two and a half hours with probability (0.75)(0.75)(0.25), and so on.]

Little's Law is quite general and requires few assumptions. In fact, Little's Law holds as long as customers are not destroyed or created. For example, if there is a fight in the pub and someone gets killed or a if a pregnant woman goes into the pub and gives birth, Little's Law does not hold.

Little's Law applies to any "black box", which may contain an arbitrary set of components. If the box contains a single resource (e.g., a single CPU, a single pub) or if the box contains a complex system (e.g., the Internet, a city full of pubs and shops), Little's Law holds. Thus, Little's Law can be restated as

Equation 3.2.5


For example, consider the single server queue of Fig. 3.3. Let the designated box be the server only, excluding the queue. Applying Little's Law, the average number of customers in the box is interpreted as the average number of customers in the server. The server will either have a single customer who is utilizing the server, or the server will have no customer present. The probability that a single customer is utilizing the server is equal to the server utilization. The probability that no customer is present is equal to the probability that the server is idle.

03fig03.gifFigure 3.3. Single server.

Thus, the average number of customers in the server equals

Equation 3.2.6


This simply equals the server's utilization. Therefore, the average number of customers in the server, Ns, equals the server's utilization. The departure rate at the server (i.e., the departure rate from the box) equals the server throughput. The average time spent by a customer at the server is simply the mean service time of the server. Thus, with this interpretation of Little's Law, 071fig01.gif. This result is simply the Utilization Law!

Now consider that the box includes both the waiting queue and the server. The average number of customers in the box (waiting queue + server), denoted by Ni, is equal, according to Little's Law, to the average time spent in the box, which is the response time Ri, times the throughput Xi. Thus, Ni = Ri × Xi. Equivalently, by measuring the average number of customers in a box and measuring the output rate (i.e., the throughput) of the box, the response time can be calculated by taking the ratio of these two measurements.

Finally, by considering the box to include just the waiting line (i.e., the queue but not the server), Little's Law indicates that 072fig01.gif, where 072fig04.gif is the average number of customers in the queue and Wi the average waiting time in the queue prior to receiving service.

Example 3.6.

Consider the database server of Example 3.2 and assume that during the same measurement interval the average number of database transactions in execution was 16. What was the response time of database transactions during that measurement interval?

The throughput of the database server was already determined as being 3.8 tps. Apply Little's Law and consider the entire database server as the box. The average number in the box is the average number N of concurrent database transactions in execution (i.e., 16). The average time in the box is the average response time R desired. Thus, R = N/X0 = 16/3.8 = 4.2 sec. ▪

3.2.5 Interactive Response Time Law

Consider an interactive system composed of M clients each sitting at their own workstation and interactively accessing a common database server system. Clients work independently and alternate between "thinking" (i.e., composing requests for the server) and waiting for a response from the server. The average think time is denoted by Z and the average response time is R. See Fig. 3.4. The think time is defined as the time elapsed since a customer receives a reply to a request until a subsequent request is submitted. The response time is the time elapsed between successive think times by a client.

03fig04.gifFigure 3.4. Interactive computer system.

Let 072fig02.gif and 072fig03.gif be the average number of clients thinking and the average number of clients waiting for a response, respectively. By viewing clients as moving between workstations and the database server, depending upon whether or not they are in the think state, 072fig02.gif and 072fig03.gif represent the average number of clients at the workstations and at the database server, respectively. Clearly, 072fig05.gif since a client is either in the think state or waiting for a reply to a submitted request. By applying Little's Law to the box containing just the workstations,

Equation 3.2.7


since the average number of requests submitted per unit time (throughput of the set of clients) must equal the number of completed requests per unit time (system throughput X0). Similarly, by applying Little's Law to the box containing just the database server,

Equation 3.2.8


where R is the average response time. By adding Eqs. (3.2.7) and (3.2.8),

Equation 3.2.9


With a bit of algebra,

Equation 3.2.10


This is an important formula known as the Interactive Response Time Law.

Example 3.7.

If 7,200 requests are processed during one hour by an interactive computer system with 40 clients and an average think time of 15 sec, the average response time is

Equation 3.2.11


Example 3.8.

A client/server system is monitored for one hour. During this time, the utilization of a certain disk is measured to be 50%. Each request makes an average of two accesses to this disk, which has an average service time equal to 25 msec. Considering that there are 150 clients and that the average think time is 10 sec, what is the average response time?

The known quantities are: Udisk = 0.5, Vdisk = 2, Sdisk = 0.025 sec, M = 150, and Z = 10 sec. From the Utilization Law,


Thus, Xdisk = 0.5/0.025 = 20 requests/sec. From the Forced Flow Law,


Finally, from the Interactive Response Time Law,


The multiclass version of the Interactive Response Time Law is Rr = Mr/X0,rZr. Figure 3.5 summarizes the main relationships discussed in the previous sections.

03fig05.gifFigure 3.5. Summary of Operational Laws.

  • + Share This
  • 🔖 Save To Your Account

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020