Load and performance measurements

There are many factors that can impact system load and performance, and these can be measured with the goal of improving performance.

When measuring performance, it is important to account for extraneous load. If a system has a significant amount of usage outside the process being measured, the elapsed time for the process is likely to be longer than when the system has less use. Even though the process has much of the same resource needs, such as memory or CPU processing power, in a busy or a quiet environment, heavy competition for those resources can stall execution. For this reason, elapsed time, or wall time as an example, is not the most appropriate measure of performance for a heavily used system.

Performance metrics should attempt to isolate the process being monitored. Better alternatives to elapsed time include user/system time or CPU time. When measuring CPU use, the proportion used by each application should be noted. Lastly, performance metrics should be done on a system with as little extraneous load as possible.

Occasionally, the combined user/system time or the CPU time of an execution will be acceptable, but the elapsed time is too high. In such cases, reducing the impact of extraneous load should reduce the gap between the two times. The impact results from a scarcity of one or more resources. Whether the scarce resource is CPU processing power or memory, reducing the impact of external load requires increasing the amount of the contested resources available.

Increasing the amount of a specific resource can usually be done in a number of ways.

For example, if a system is at 100% CPU use because of extraneous load, there are a number of options for reducing that load:

Because every situation presents its own set of performance variables, each situation must be evaluated to determine the best option to use.