Computer networks असल में कफी complex systems होते हैं, जो की अक्सर routing करते हैं hundreds, thousands, या यहाँ तक की करोड़ों data packets को प्रत्येक second में. ऐसे में अगर networks को बहुत ही बड़ी मात्रा की data को efficiently route करना है, तब ये बहुत ही जरूरी होता है की data को efficiently route किया जाये.
उदाहरण के लिए, अगर दस routers हो एक network के भीतर और उनमें से दो 95% से ज्यादा काम करते हैं, तब ऐसे में वो network efficiently काम नहीं कर रहा है. वो network और भी तेज काम करता अगर प्रत्येक router handle करता 10% की traffic तब. ऐसे ही, अगर एक website पाते हैं हजारों की hits प्रत्येक second, तब ऐसे में ये ज्यादा efficient होगा अगर उस traffic को split क्र दिया जाये multiple Web servers के बीच में, न की एक ही single server में सभी traffic लाया जाये, इससे हो सकता है की वो full load को सही ढंग से handle न कर पाए.
Load balancing असल में networks की मदद करता है उन्हें ज्यादा efficient बनने में. ये processing और traffic को distribute करता है समान ढंग से पुरे network में, इस बात का ख़ास ख्याल रख कर की कोई भी single device अकेला छुट न जाये. Web servers, जैसे की ऊपर के उदाहरण में बताया गया है, वो अक्सर load balancing का इस्तमाल करता है जिससे की वो traffic load को अलग अलग servers में सही ढंग से split कर सके. इससे वो इन्हें allow करता है मेह्जुदा bandwidth का ज्यादा effectively इस्तमाल करने में, और इससे ये प्रदान करता है faster access websites को जिन्हें वो host किये हुए होते हैं.
चाहे load balancing किया जा रहा हो एक local network में या फिर एक large Web server में, ऐसे में इसे जरुरत होती है hardware या software जो की divide करती है incoming traffic को available servers में. Networks जो की सबसे ज्यादा मात्रा की traffic receive करती है, उनमें एक या उससे ज्यादा servers dedicated होते हैं load को balance करने में दुसरे servers और devices के बीच में network में. इन servers को ही load balancers कहा जाता है.
Clusters, या mulitple computers जो की एक साथ काम करते हैं, इनमें भी load balancing का इस्तमाल होता है जो की processing jobs को available systems में बाँट देते हैं, ताकि ज्यादा efficient तरीके से काम हो पाए.