Once the system is installed, the performance measurements such as SPEC are less important. More important is how fast web pages are loaded or how fast applications run or perhaps how long emacs takes to execute. This type of performance is workload performance. Once the workload performance measure is obtained for the installed system then "bad performance" can seen as less than the measured workload performance.
Computer resources can be compared to freeway traffic. With normal traffic, cars travel from their start to destination at reasonable speeds. With more traffic, the traffics slows and possibly stops. This is referred to both on the freeway and with computer resources as a bottleneck. Bottlenecks are not an uncommon problem. They occur when computer resources are stretched beyond there capacity, because of errant activities or because the workload is too great. To determine the which of the computers resources is the source of the bottleneck, investigation into these four general categories is advised.
A Unix system executes processes by sending them to a CPU. Unix systems may have multiple CPUs and processes must queue up to use them. This queuing is done to ensure fair use of the CPU time that is available. Very simply, the more processes active on a system the less CPU time is available to a process and the more clock time is required to perform the task.
All Unix processes use memory, real or virtual. Since the total amount of real memory is fixed, the kernel uses virtual memory space to save and retrieve processes. The memory management of both of these resources enable the CPU to execute programs much larger than the available physical memory. It also lets many more programs execute at the same time. Virtual memory, however, is stored on a hard drive it is significantly slower to access than real or physical memory.The amount of real and virtual memory that is required for a system is dependent upon the workload. The amount of memory may be increased to meet the needs of the system workload.
Increasing the real memory will allow more processes to stay resident and therefore allows for faster process loading and execution. Increasing the virtual memory will allow a greater number of processes to be running, or perhaps larger processes to execute but may create additional delays in process loading. Constant use of virtual memory space degrades system performance noticeably. Trashing is the end result of heavy use of virtual memory. Trashing is when a system spends the majority of the time moving processes to an from virtual memory.
Almost all of the Unix systems utilize the SCSI bus for data storage. The rate at which a systems can access the data on the SCSI bus is specified by the SCSI implementation. SCSI2 allows 10 megabytes per second and Fast and Wide SCSI allows 20 megabytes per second. Since the SCSI is designed in a bus fashion all peripherals on the bus share the bandwidth provided. Additionally the hard disks tape drives and other storage devices have varying throughput which may reduce access to the data on the device to below the SCSI bus throughput.
This is the amount of data, measured most commonly in bits per second, that travel to or from the system. The upper limit is set by the installed networking hardware and software. For standard 10BaseX, Ethernet networks the ideal maximum is 10 megabits per second which, at the very best, 80% usage can be realized. Other networking hardware maximums are set by the hardware and software utilized, for instance an ATM adapter using the OC3c standard allows an ideal maximum throughput of 155 megabits per second.