Visual Basic Programmer, Sydney
Microsoft Access Database Programmer

Custom Built Software
System Optimisation
Office Automation
Phone Australia
(02) 9453-0456

Windows PC Tuning: Identifying Resource Bottlenecks

PC Performance Tuning: Identifying Resource BottlenecksThe best way to tune a Network Server or PC system is to target Bottlenecks – that is sub-systems that limit a computer's performance and responsiveness.

A bottleneck occurs when performance is restricted by a single resource (i.e. CPU, Memory or Disk I/O) – and the resource is limited by its capacity to deliver.

This will occur frequently on a stressed computer system – when the system is unable to respond at an acceptable level.

Other resources will be idle when waiting for the Bottleneck to clear. On a fully loaded system, the elimination of the first Bottleneck will result in a further Bottleneck when another resource in turn becomes overloaded. There is always another Bottleneck!

Resource Bottlenecks: Upgrading the Hardware

The problem may be ameliorated by hardware replacement. Hardware is relatively cheap – but when the time and expense of an upgrade is taken into account, the exercise can turn out to be expensive. The new computer system will initially run without problem. But if time is not spent in system tuning – performance degradation will reoccur. With a busy PC, this could be within months of purchase.

Where the software on an old computer cannot be reinstalled on a new computer, there is no option but to improve performance by tuning the computer resources.

Resource Bottlenecks: Measurement is the Key

Performance optimisation is not a mystery. If you want to optimise your system, you need to know what is happening on it and you need to measure what is happening.

When performance is poor, it is vital to identify the source of Bottlenecks. There are many causes of Bottlenecks – and most are amenable to improvement. Program software may be badly written, spurious processes may cause response degradation, etc, etc.

The Task Manager is helpful but for a complete analysis, a performance monitoring tool is essential.

The Causes of Resource Bottlenecks

Bottlenecks in a computer system are caused by:

  • A high number of actives processes
  • Conflicting or competing processes
  • Processes with high overhead.
  • Unbalanced workloads over the day
  • File placement
  • High Disk I/O rates
  • High Network packet rates
  • High Memory swap and page rates

Performance optimisation entails modifying a system to handle higher workloads. The problems identified should be fixed – and the exercise started all over again.

Resource Bottlenecks: CPU Usage

Performance problems may be caused by CPU contention. Processes need to use the CPU at the same time. Windows tries to allocate the CPU fairly – but at some point all the work cannot be done.

Having multiple Processors will help in sharing the CPU. Any one process will be limited to only one processor. So, for a two processor CPU, a process will be limited to 50% of the CPU.

Programs will monopolise as most of the CPU as they can – for short periods. But when this occurs over some time, tuning is needed.

CPU contention can be reduced by:

  • Running jobs at night or at low usage times
  • Eliminating unnecessary work from your system
  • Launching Windows jobs at a lower priority
  • Rescheduling workloads

Resource Bottlenecks: Memory Usage

Memory pressure arises when the active processes require more physical memory than is available. At this point the system starts paging – moving portions of memory to disk. Swapping is when the entire memory of a process is swapped to disk. Paging and Swapping reclaim memory space and is normal – but high rates indicate memory problems.

To prevent high page and swap rates, the competition between processes must be reduced. And a computer system can never have enough Memory.

Resource Bottlenecks: Network Usage

When a network is overloaded, the amount of data that needs to be transferred across the network is greater than the network's capacity. The transfer rate for any task will then be slow. Network load problems may be improved by changing the network's configuration or upgrading the router speed.

But mostly there are recalcitrant processes that cause Network problem. It is necessary to find out what processes are running when the LAN becomes overloaded.

Resource Bottlenecks: Disk I/O Usage

Disk I/O is particularly important to overall system performance. See Improving Disk Performance for detailed tuning advice.

Resource Bottlenecks: Program and System Services

The PC system can be overloaded at start up by Programs and Processes that are not needed. These use up precious resources – as well as making start up slow. Check that all programs that are installed are needed to ensure the maximum processing power is available. The same applies to system services – remove or disable any that are not essential.

Do not assume that all the processes running on your system are essential. Perfectly genuine processes can be installed by default that have no bearing on your requirements. They all need to be removed or disabled.

Spyware, Scamware and viruses will create performance problems. Use a reliable anti-virus checker to ensure that your system has no nasties.