Previous Table of Contents Next


The percentage of total data items are also of interest to performance analysts. Analysts interested in analyzing a particular resource, for instance, a disk, should include in their workload programs consuming a high percentage of that resource. For example, an analyst interested in studying a remote-disk server should choose programs observed to consume a high percentage of disk I/O’s. Programs consuming only, for instance, 0.01% of disk I/O’s, even though performing poorly on a system with a remote-disk server, will have little impact on the total system performance. Similarly, programs with a high percentage of total CPU time should be used to analyze the impact of new CPUs. Similarly, programs with a high percentage of total terminal I/O’s should be used to analyze the impact of new terminal devices, remote-terminal front ends, and network links connecting the terminals. Programs with a high percentage of total faults should be used to study new virtual memory schemes.

Per-second resource consumption rates are obtained by dividing the resource consumption by the elapsed time. These rates indicate the intensity of resource usage by the various programs. They can be used to calculate approximately the number of users that can be supported without making the resource a bottleneck. A higher number of users will increase the response time beyond the observed value. For example, disk I/O operations per second and disk I/O bytes per second determine the disk utilization or network link utilization in systems with remote-disk servers. System planners can use this information to determine the number and type of the disks required. Analysts and customers can use it to find out the programs that cause disks to become bottleneck. Similarly, a high CPU rate (CPU time per second) indicates highly compute-bound programs. A small number of highly compute-bound programs may saturate the CPU. Terminal I/O’s per second and terminal I/O bytes per second indicate utilization of terminals, remote-terminal front ends, and network links to these front ends.

Per-CPU-second resource consumption is obtained by dividing the resource consumption by the CPU time consumed. Per-CPU-second consumption is less variable than per-second consumption. This is because the elapsed time depends heavily on the system load, which varies widely over time. Each CPU second represents the execution of a certain number of instructions. Per-CPU-second data, therefore, gives an idea of resource demand per instruction of the program. For example, “page faults per CPU second” gives the number of instructions per page fault. Similarly, “page-read operations per CPU second” indicates the number of instructions between successive page-read operations. Performance analysts can use this data to compare their synthetic workloads with those measured on the system.

Per-CPU-second resource consumption also represents the ratio of the resource demand to CPU demand. Programs with higher per-CPU-second resource consumptions tend to impose higher demands on the particular resource than the CPU, and they tend to make the resource the bottleneck. For these programs, therefore, the maximum number of simultaneous users is determined by the capacity of the corresponding resource. For example, the programs with high disk I/O per CPU second are generally disk bound; the maximum number of simultaneous users of such programs on a system is determined by the throughput of the disk.

Finally, a word about the number and amount of I/O’s. Depending upon the I/O device, the number of I/O operations or the total bytes transferred may be more meaningful. For disk devices in which seeks take much longer than data transfer, which is the case with practically all disk devices, the disk time depends heavily on the number of I/O’s and is not influenced by the size of the I/O. On the other hand, for some mass storage devices, setup (seek and rotational latency) time is less than the transfer time. In such cases, the number of bytes transferred provides more meaningful information than the number of I/O’s. Similar arguments hold for terminal I/O’s and paging operations.

8.5 USING ACCOUNTING LOGS TO ANSWER COMMONLY ASKED QUESTIONS

There are two ways to organize a doctor’s prescription manual. One would be to list the diseases for each medicine. This is what has been done so far by describing how the data can be analyzed and what information can be obtained from each data item. Another alternative, probably a more useful one, is to list prescriptions for each disease. That is, given a performance question, which data items from the accounting log should be examined? This section, therefore, restates the information described in the previous section in a different manner. Given next are some examples of the commonly asked questions that can be answered using the accounting logs.


Previous Table of Contents Next

Copyright © John Wiley & Sons, Inc.