You can optimize performance by system tuning. This is the process of making adjustments to the way in which various system resources are used so that they correspond more closely to the overall usage patterns of the system. You can improve the overall response time of the system by locating and removing system bottlenecks. You can also customize the various resources to correspond to the needs of an application that is run frequently on the system. Any system tuning that you perform is limited because the performance of an operating system depends closely on the hardware on which it is installed.
To tune a system efficiently, you need a good understanding of the various system resources and of how the system is going to be used. This might also involve understanding how different applications use system resources. System tuning is an ongoing process. A well-tuned system may not remain so if the mix of applications and users changes. Once a system has been successfully tuned, you should monitor performance regularly as part of routine system administration. This allows you to make modifications when changes in performance first occur, and not when the performance degrades to the point where the system becomes unusable.
You may be able to extend a system's resources by adding or reconfiguring hardware, but remember that these resources always remain finite. Also you should always bear in mind that there is no exact formula for tuning a system -- performance is based on the mixture of applications running on the system, the individuals using them, and your perception of the system's performance.
The flowchart shown in ``Flowchart illustrating the methodology for system performance tuning'' illustrates the tuning methodology we recommend you follow. Its most important feature is its feedback loop -- you may not always get the result you expect when you make changes to your system. You must be prepared to undo your changes so that you can restore your system to its earlier state.
The steps outlined in the methodology are described in the following sections. They are further illustrated by the set of case studies discussed in ``Performance tuning case studies''.
Flowchart illustrating the methodology for system performance tuning