DOI QR코드

DOI QR Code

A Distributed Layer 7 Server Load Balancing

분산형 레이어 7 서버 부하 분산

  • 권희웅 (숭실대학교 전자공학과) ;
  • 곽후근 (숭실대학교 전자공학과) ;
  • 정규식 (숭실대학교 정보통신전자공학부)
  • Published : 2008.08.29

Abstract

A Clustering based wireless internet proxy server needs a layer-7 load balancer with URL hashing methods to reduce the total storage space for servers. Layer-4 load balancer located in front of server cluster is to distribute client requests to the servers with the same contents at transport layer, such as TCP or UDP, without looking at the content of the request. Layer-7 load balancer located in front of server cluster is to parse client requests in application layer and distribute them to servers based on different types of request contents. Layer 7 load balancer allows servers to have different contents in an exclusive way so that it can minimize the total storage space for servers and improve overall cluster performance. However, its scalability is limited due to the high overhead of parsing requests in application layer as different from layer-4 load balancer. In order to overcome its scalability limitation, in this paper, we propose a distributed layer-7 load balancer by replacing a single layer-7 load balancer in the conventional scheme by a single layer-4 load balancer located in front of server cluster and a set of layer-7 load balancers located at server cluster. In a clustering based wireless internet proxy server, we implemented the conventional scheme by using KTCPVS(Kernel TCP Virtual Server), a linux based layer-7 load balancer. Also, we implemented the proposed scheme by using IPVS(IP Virtual Server), a linux-based layer-4 load balancer, installing KTCPVS in each server, and making them work together. We performed experiments using 16 PCs. Experimental results show scalability and high performance of the proposed scheme, as the number of servers grows, compared to the conventional scheme.

무선 인터넷 프록시 서버 클러스터링에서 저장공간을 최소화하기 위해서는 URL 해싱기법을 가진 Layer 7 부하분산기가 필요하다. 서버 클러스터 앞단에 위치한 Layer 4 부하분산기는 TCP 또는 UDP와 같은 트랜스포트 계층에서 컨텐츠 내용을 확인하지 않고 사용자 요청들을 똑같은 컨텐츠를 가진 서버들에게 분배한다. 서버 클러스터 앞단에 위치한 Layer 7 부하분산기는 응용계층에서 사용자 요청을 분석하여 요청 컨텐츠 유형에 따라 해당되는 서버들에게 분배한다. Layer 7 부하분산기를 이용하면 서버들이 배타적으로 각기 다른 컨텐츠를 가지게 할 수 있어서 서버들 저장공간을 최소화할 수 있으며 전체 클러스터 성능을 향상할 수 있다. 그러나 Layer 7 부하분산기는 응용계층에서 사용자 요청을 분석하는데 요구되는 큰 처리 부담으로 인해 Layer 4 부하분산기와 다르게 확장성이 제한된다. 본 논문에서는 그 확장성 제한을 극복하기 위해서 분산형 Layer 7 부하분산기를 제안한다. 종래의 방법에서는 한 대의 Layer 7 부하분산기 를 사용하는데 본 논문에서 제안한 방법에서는 서버 클러스터 앞에 한 대의 Layer 4 부하분산기를 설치하고 서버들에게 Layer 7 부하분산기들을 각각 설치한다. 클러스터 기반의 무선 인터넷 프록시 서버에서 종래의 방법을 리눅스기반의 Layer 7 부하분산기인 KTCPVS를 이용하여 구현하였다. 본 논문에서 제안한 방법에서는 리눅스기반의 Layer 4 부하분산기인 IPVS를 사용하고 각 서버들에게 Layer 7 부하분산기인 KTCPVS를 설치하여 같이 동작하게 구현하였다. 실험은 16대의 컴퓨터를 사용하여 수행되었고, 실험 결과에 의하면 제안 방법이 종래 방법에 비해 서버 대수가 증가함에 따라 확장성 및 높은 성능 향상률을 가짐을 확인하였다.

Keywords

References

  1. LVS(Linux Vitual Server), http://www.linuxvirtualserver.org
  2. D. Rivest, “The MD5 Message Digest Algorithm,” RFC 1321, 1992
  3. David Karger and al. “Web Caching with consistent hashing,” In WWW8 Conference, 1999
  4. Micorsoft Corp., “Cache Array routing protocol and microsoft proxy server 2.0,” White Paper, 1999
  5. F. Baboescu, “Proxy Caching with Hash Functions,” Technical Report CS2001-0674, 2001
  6. 곽후근, 정규식, “무선 인터넷 프록시 서버 클러스터 시스템에서 라운드 로빈을 이용한 해싱 기법”, 정보처리학회논문지A, 제13-A권, 제7호, pp.615-622, 2006.12 https://doi.org/10.3745/KIPSTA.2006.13A.7.615
  7. A. Feldmann, R. Caceres, F. Douglis, G. Glass and M. Rabinovich, “Performance of Web Proxy Caching in Heterogeneous Bandwidth Environments,” In Proceedings of the INFOCOM Conference, 1999
  8. A. Savant, N. Memon and T. Suel, “On the Scalability of an Image Transcoding Proxy Server,” In IEEE International Conference on Image Processing, Barcelona, Spain, 2003
  9. A. Fox, “A Framework for Separating Server Scalability and Availability from Internet Application Functionality,” Ph. D. Dissertation, U. C. Berkeley, 1998
  10. 곽후근, 정규식, “통합형 무선 인터넷 프록시 서버 클러스터구조”, 정보처리학회논문지A, 제13-A권 제3호, 2006 https://doi.org/10.3745/KIPSTA.2006.13A.3.231
  11. How Virtual Server Works?, http://www.linuxvirtualserver.org/how.htm
  12. LVS Scheduling Algorithms, http://www.linuxvirtualserver.org/docs/scheduling.html
  13. KTCPVS, http://www.linuxvirtualserver.org/software/ktcpvs/ktcpvs.html
  14. Mindcraft, Inc., “WebStone : The Benchmark for Web Server,” http://www.mindcraft.com/web-stone
  15. J. Nakano, P. Montesinos, K. Gharachorloo, and J. Torrellas, “ReViveI/O: efficient handling of I/O in highly-available rollback-recovery servers,” The 12th Internation Symposium on High-Performance Computer Architecture pp.200-211, 2006
  16. P. Barford and M. Crovella, “Generating Representative Web Workloads for Network and Server Performance Evaluation,” In Proc. ACM SIGMETRICS Conf., Madison, WI, Jul., 1998
  17. R. Zhang, T. Abdelzaher, and J. Stankovic, “Efficient TCP connection failover in Web serer clusters,” 23rd Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM), pp.1219-1228, March, 2004
  18. Squid Web Proxy Cache, http://www.squid-cache.org
  19. W. Liao and P. Shih, Architecture of proxy partial caching using HTTP for supporting interactive video and cache consistency, 11th International Conference Computer Communications and Networks, 2002, pp.216-221
  20. H. Felix, K. Jeffay, and F. Smith, “Tracking the Evolution of Web Traffic,” Proceedings of the 11th IEEE/ACM International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), pp.16-25, 2003
  21. D. Lu, Y. Qiao, P. Dinda and F. Bustamante, “Modeling and Taming Parallel TCP on the Wide Area Network,” Proceedings of 19th IEEE International Parallel and Distributed Processing Symposium, April, 2005
  22. B. A. Mah, “An Empirical Model of HTTP Network Traffic,” Proceedings of INFOCOM, pp.592-600, 1997
  23. J. Xu and W. Lee, “Sustaining availability of Web services under distributed denial of service attacks,” IEEE Transactions on Computers, Vol.52, No.2, pp.195-208, Feb., 2003 https://doi.org/10.1109/TC.2003.1176986