Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

An approximation-based load-balancing algorithm with admission control for cluster web servers with dynamic workloads


The growth of web-based applications in business and e-commerce is building up demands for high performance web servers for better throughputs and lower user-perceived latency. These demands are leading to a widespread substitution of powerful single servers by robust newcomers, cluster web servers, in many enterprise companies. In this respect the load-balancing algorithms play an important role in boosting the performance of cluster servers. The previous load-balancing algorithms which were designed for the handling of static contents in web services suffer from significant performance degradation under dynamic and database-driven workloads. Regarding this, we propose an approximation-based load-balancing algorithm with admission control for cluster-based web servers in this study. Since it is difficult to accurately determine the loads of web servers through feedbacks from distributed agents in web servers, we propose an analytical model of a web server to estimate the web servers’ loads. To achieve this, the algorithm classifies requests based on their service times and track numbers of outstanding requests for each class of each web server node and also based on their resource demands to dynamically estimate the loads of each node. For the error handling of the model a proportional integral (PI) controller from control theory is used. Then the estimated available capacity of each web server is used for load balancing and admission control decisions. The implementation results with a standard benchmark confirm the effectiveness of the proposed scheme, which improves both the mean response time and the throughput of the cluster compared to rival load-balancing algorithms, and also avoids situations in which the cluster is overloaded, even when the request rates are beyond the cluster capacity.

This is a preview of subscription content, log in to check access.


  1. 1.

    Abdelzaher T, Shin KG, Bhatti N (2002) Performance guarantees for web server and systems: a control theoretical approach. IEEE Trans Parallel Distrib Syst 13(1):80–96

  2. 2.

    Andreolini M, Casalicchio E (2004) A cluster-based web system providing differentiated and guaranteed services. Clust Comput 7:7–19

  3. 3.

    Andreolini M, Casolari S (2006) A distributed architecture for gracefully degradable Web-based services. In: Proc of IEEE international symposium on network computing and applications (NCA2006), Cambridge, MA, July 2006

  4. 4.

    Andreolini M, Colajanni M, Morselli R (2002) Performance study of dispatching algorithms in multi-tier web architectures. ACM SIGMETRICS Perf Eval Rev 30(2):10–20

  5. 5.

    Andreolini M, Colajanni M, Nuccio M (2003) Scalability of content-aware server switches for cluster-based web information systems. In: Proc IEEE world wide web conf, 2003

  6. 6.

    Apache (2009) http://www.apache.org

  7. 7.

    BEA Systems (2009) BEA Weblogic. http://www.bea.com/weblogic

  8. 8.

    Cardellini V, Casalicchio E, Colajanni M, Mambelli M (2001) Web Switch Support for Differentiated Services. ACM SIGMETRICS Perform Eval Rev (29), 2001

  9. 9.

    Cardellini V, Casalicchio E, Colajanni M, Tucci S (2001) Mechanisms for quality of service in web clusters. Comput Netw 17:761–771

  10. 10.

    Cardellini V, Casalicchio E, Colajanni M, Yu PS (2002) The state of the art in locally distributed web-server systems. ACM Comput Surv (CSUR) 31:263–311

  11. 11.

    Cardellini V, Colajanni M, Yu P (2003) Request redirection algorithms for distributed web systems. IEEE Trans Parallel Distrib Syst (14), 2003

  12. 12.

    Casalicchio E, Tucci S (2001) Static and dynamic scheduling algorithms for scalable web server farm. In: Proc Euromicro workshop on parallel and distrib proc, 2001, pp 199–176

  13. 13.

    Casalicchio E, Cardellini V, Colajanni M (2002) Client-aware dispatching algorithms for cluster-based web servers. Clust Comput 5(1):65–74

  14. 14.

    Casalicchio E, Cardellini V, Colajanni M (2002) Content-aware dispatching algorithms for cluster-based web servers. Clust Comput 5:65–74

  15. 15.

    Challenger J, Dantzig P, Iyengar A, Squillante M, Zhang L (2004) Efficiently serving dynamic data at highly accessed web sites. IEEE/ACM Trans Netw 12:223–233

  16. 16.

    Chandra A, Pradhan P, Tewari R, Sahu S, Shenoy P (2006) An observation-based approach towards self-managing web servers. Comput Commun 29:1174–1188

  17. 17.

    Chen L, Lu Y, Abdelzaher TF (2006) Feedback control architecture and design methodology for service delay guarantees in web servers. IEEE Parallel Distrib Syst 17:1014–1027

  18. 18.

    Cherkasova L, Phaal P (2002) Session-based admission control: a mechanism for peak load management of commercial web sites. IEEE Trans Comput 51(6)

  19. 19.

    Cockcroft A, Walker B (2001) Capacity planning for Internet services. SUN Press, Cleveland

  20. 20.

    Dahlin M (2000) Interpreting stale load information. IEEE Trans Parallel Distrib Syst 11(10):1033–1047

  21. 21.

    Denning PJ, Buzen JP (1978) The operational analysis of queueing network models. ACM Comput Surv (CSUR) 10(3):225–261

  22. 22.

    Dinda D, Ohailaron D (2000) Host load prediction using linear models. Clust Comput 3(4):265–280

  23. 23.

    eBay (2009) http://www.ebay.com/

  24. 24.

    Floyd S, Jacobson V (1993) Random early detection gateways for congestion avoidance. IEEE/ACM Trans Netw 1(4):397–413

  25. 25.

    Hong YS, No JH, Kim SY (2006) DNS-based load-balancing in distributed web-server systems. In: Fourth IEEE workshop on software technologies for future embedded and ubiquitous systems (WCCIA 2006), p 4

  26. 26.

    Kamra A, Misra V, Nahum EM (2004) Yaksha: a self-tuning controller for managing the performance of 3-tiered web sites. In: 12th IEEE international workshop on quality of service, IWQOS 2004, pp 47–56

  27. 27.

    Lee HK, Vageesan G, Yum KH, Kim EJ (2006) A PROactive Request Distribution (PRORD) using web log mining in a cluster-based web server. In: International conference on parallel processing ICPP 2006, pp 559–568

  28. 28.

    MathWorks, Inc. (2009) http://www.mathwork.com

  29. 29.

    Menascé DA, Almeida VAF (1998) Capacity planning for web performance: metrics, models, and methods. Prentice-Hall, Upper Saddle River

  30. 30.

    Menasce DA, Bennani MN (2006) Analytic performance models for single class and multiple class multithreaded software servers. In: Proc of computer measurement group conf, Dec 2006

  31. 31.

    Mitzenmacher M (2000) How Useful is Old Information. IEEE Trans Parallel Distrib Syst 11:6–20

  32. 32.

    Mosberger D, Jin T (1997) Httperf a tool to measure web server performance. In: Proc of USENIX symposium on Internet technologies and systems, 1997, pp 59–76

  33. 33.

    MySQL Database (2009) http://www.mysql.com/

  34. 34.

    Netcraft Web Server Survey (2009) http://www.netcraft.com/survey/

  35. 35.

    Ogata K (1997) Modern control engineering, 3rd edn. Prentice-Hall, Upper Saddle River

  36. 36.

    PHP Hypertext Preprocessor (2009) http://www.php.net/

  37. 37.

    RUBBoS (2009) Rice University Bulletin Board System. http://rubbos.objectweb.org

  38. 38.

    RUBIS benchmark (2009) http://rubis.objectweb.org/

  39. 39.

    Schroeder B, Balter MH (2006) Web servers under overload: how scheduling can help. ACM Trans Internet Technol (TOIT) 6(1):20–52

  40. 40.

    Schroeder T, Goddard S, Ramamurthy B (2000) Scalable web server clustering technologies. IEEE Netw 14(3):38–45

  41. 41.

    Shan Z, Lin Ch, Marinescu DC, Yang Y (2002) Modeling and performance analysis of QoS-aware load balancing of web-server clusters. Comput Netw 40(2):235–256

  42. 42.

    Teodoro G, Tavares T, Coutinho B, Meira W Jr (2003) Guedes, load balancing on stateful clustered web servers. In: Proc of 15th symposium on computer architecture and high performance computing, 10–12 Nov 2003, pp 207–215

  43. 43.

    Tran N, Reed D (2004) Automatic ARIMA time series modeling for adaptive I/O prefetching. IEEE Trans Parallel Distrib Syst 15(4):362–377

  44. 44.

    Transaction Processing Council (2009) http://www.tpc.org/

  45. 45.

    Ungureanu V, Melamed B, Bradford PG, Katehakis M (2004) Class-dependent assignment in cluster-based servers. In: Proc of the 2004 ACM symposium on applied computing parallel and distributed systems (PDS), Cyprus, pp 1420–1425

  46. 46.

    Urgaonkar B, Pacifici G, Shenoy P, Spreitzer M, Tantawi A (2005) An analytical model for multi tier Internet services and its applications. Perform Eval Rev 33(1)

  47. 47.

    Urgaonkar B, Shenoy P, Roscoe T (2007) Resource overbooking and application profiling in shared Internet hosting platforms. ACM Trans Internet Technol, 2007

  48. 48.

    Vercauteren T, Aggarwal P, Wang X, Li TH (2007) Hierarchical forecasting of web server workload using sequential Monte Carlo training. IEEE Trans Signal Process 55(4)

  49. 49.

    Xiong Z, Yan P (2005) A solution for supporting QoS in web server cluster. Proc Int Conf Wirel Commun Netw Mobile Comput 2(23–26):834–839

  50. 50.

    Zhang Q, Riska A, Sun W, Smirni E, Ciardo G (2005) Workload-aware load balancing for clustered web servers. IEEE Trans Parallel Distrib Syst 16:219–233

  51. 51.

    Zhu H, Tang H, Yang T (2001) Demand-driven service differentiation for cluster-based network servers. In: Proc of IEEE INFOCOM’2001, Anchorage, AK, April 2001

Download references

Author information

Correspondence to Saeed Sharifian.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Sharifian, S., Motamedi, S.A. & Akbari, M.K. An approximation-based load-balancing algorithm with admission control for cluster web servers with dynamic workloads. J Supercomput 53, 440–463 (2010). https://doi.org/10.1007/s11227-009-0303-8

Download citation


  • Cluster-based web server
  • Dynamic load-balancing algorithm
  • Admission control
  • Analytical model of web server
  • Feedback controller design