In computer science, load balancing is used to distribute extensive calculations or large numbers of requests among several systems working in parallel. This can have very different characteristics. Simple load balancing, for example, takes place on computers with multiple processors. Each process can be executed on its own processor. The way in which the processes are distributed among processors can have a major impact on the overall performance of the system, since, for example, the cache content is local to each processor.

Another method is found in computer clusters or servers. Here, multiple computers form a cluster that usually behaves like a single system to the outside world. Some possible procedures are the upstreaming of a system (load balancer, frontend server), which splits the requests, or the use of DNS with the round-robin procedure. Especially for web servers, server load balancing is important because a single host can only answer a limited amount of HTTP requests at once. The load balancer upstream of this adds additional information to the HTTP request in order to send requests from the same user to the same server. This is also important when using SSL to encrypt communications so that a new SSL handshake does not have to be performed for each request.

Load balancing is also used with data/voice lines to distribute traffic flow across parallel lines. In practice, however, problems are often encountered in distributing the data/voice traffic equally over both lines. Therefore, the solution that is usually implemented is to use one line as the outbound channel and the second line as the return channel.

Load balancing is often accompanied by fail-safe mechanisms: By setting up a cluster with the appropriate capacity and distributing the requests to individual systems, an increase in fail-safe is achieved, provided that the failure of one system is detected and the requests are automatically passed on to another system (see also: High Availability, "HA").