In computing, a performance problem is idenfitied by slowed responses or by complete failures to respond. These usually occur because of an increase in system load, and are the result of some part of the system reaching a limit on its ability to respond. This part of the system, and the limit itself, are referred to as a bottleneck.
A handful of techniques are used to improve performance. Among them are code optimization, load balancing, caching strategy, and distributed computing. See each section below.
Performance tuning is the activity of improving the performance of a system.
This is typically a computer application, but the same methods can be applied to economic markets, bureaucracies or other complex systems.
The motivation for such activity is called a performance problem, which can be real or anticipated.
Most systems will respond to increased load with some degree of decreasing performance.
A system's ability to accept higher load is called scalability, and modifying a system to handle a higher load is synonymous to performance tuning.
Systematic tuning follows these steps:
Assess the problem and establish numeric values that categorize acceptable behaviour.
Measure the performance of the system before modification.
Identify the part of the system that is critical for improving the performance. This is called the bottleneck.
Modify that part of the system to remove the bottleneck.
Measure the performance of the system after modification.
This is an instance of the measure-evaluate-improve-learn cycle from quality assurance.
In organizational development (OD), a performance problem is found any time there is a discrepancy between the sought-after results and the actual results. This can occur at various levels:
individual performance problems
team performance problems
unit (e.g. department or division) performance shortfalls
organizational performance problems
There are many causes of performance problems including: