Load Balancing
Load balancing entails distributing the application components, databases, servers, and processing to make best use of the available resources. This can affect both where application files are located and when processing takes place.
Software components can be stored and executed on various locations in the infrastructure. The disks for storage and the processors for execution can reside on different locations of the network, even if they are used by the same component. Components that handle end-user interaction run on client machines, while background processes normally run on server machines.
A major criterion for where a process or file should reside is the impact on the system load. To prevent or reduce processing contention, reconsider a component's storage, execution path, or both. Application partitioning measures aim to balance the system load across the infrastructure.