Experimental Analysis of Web Server on Multiprocessor

다중 처리기 기반 웹 서버 구조의 실험적 성능 분석

  • 정진국 (서강대학교 컴퓨터학과)
  • Published : 2001.03.01

Abstract

WWW의 급격한 발전은 몇몇 웹 서버에 큰 과부하를 가져오게 하였다. 이로 인해 고성능 웹서버의 구축이 필요하게 되었는데 그중 프로세스의 오버헤드를 줄이기 위해 도입된 멀티 쓰레드 기법을 이용한 병행 웹 서버들이 많이 이용되게 되었다. 일반적으로 멀티 쓰레드 기법을 이용하는 웹 서버의 구조는 요구 기반 웹 서버 작업 기반 웹 서버 Thread Pool 구조 웹 서버 등으로 나눌수 있다. 본 논문에서는 이런 웹 서버들을 리눅스가 탑재되어 있는 다중 처리기상에 구현하였으며 다양한 환경하에서 성능을 비교 분석하였다 각각의 웹 서버들은 Pthread 라이브러리와 Socket 라이브러리를 이용하여 구현하였으며 여러 파라미터-CPU 개수 CGI 비율, 웹 서버구조, 파일크기 부하량 등-를 조절하면서 실험하였다 실험 결과 분석에 의하면 요구 기반 웹 서버에서는 하나의 CPU에서 수행이 되는 쓰레드의 개수가 많게 되면 성능이 저하되는 것을 볼 수 있었고 작업 기반 웹 서버에서는 단계사이의 불균형으로 인하여 큐에서의 대기 시간이 누적되면 성능이 저하되는 것을 볼수 있었다,. Thread Pool 구조의 웹서버는 쓰레드의 개수가 조절되고 큐에서의 대기 시간 또한 없앰으로 해서 다른 웹 서버에 비해 좋은 성능을 보임을 알 수 있었다. 이와 같은 실험 결과는 다중 처리기를 이용한 고성능 웹 서버를 구축하는데 있어서 이용될 수 있을 것이다.

Keywords

References

  1. Yiming Hu, Ashwini Nanda and Qing Yang, 'Measurement, Analysis and Performance Improvement of the Apache Web Server,' Proceedings of the 1999 IEEE Internationa] Performance, Computing and Communications Conference , 1999 https://doi.org/10.1109/PCCC.1999.749447
  2. D. J. Yates, V. Almeida and J. M. Almeida, On the Interaction Between an Operating System and Web Server, Technical Report CS 97-012, Boston University, 1997
  3. Mark E. Crovella, Robert Frangioso and Mor Harchol-Baker, Connection Scheduling in Web Servers, Technical Report CS 99-003, Boston University, 1999
  4. Apache Group. Apache HTTP Server Project, http://www.apache.org/, 1999
  5. James E. Pitkow, 'A Simple Y'et Robust Caching Algorithm based upon Dynamic Access Patterns,' Proceedings of the Second International World Wide Web Conference, 1994
  6. R. Fielding, J. Gettys, J.C. Mogul, H, Frystyk and T. Bemers-Lee, RFC 2068 Hypertext Transfer Protocol HTTP/1.1, UC Irvine, Digital Equipment Corporation, MIT, 1997
  7. N.J. Yeager and R.E. McGrath, Web Server Technology, Morgan Kaufman Publishers, 1996
  8. M.F. Arlitt and C.I. Williamson, 'Web Server Workload Characterization: The Search for Invariants,' Proceeding of SIGMETRICS96, 1996 https://doi.org/10.1145/233013.233034
  9. P. Eriksson, phttpd, http://phttpd.signum.se/phttpd, 1999
  10. J.C. Hu, S.M. Mungee, and D.C. Schmidt, Principles for Developing and Measuring High-performance Web Servers over ATM. Technical Report WUCS-97-09, Washington University, 1997
  11. WWW Consortium, Jigsaw HTTP Server, http://www.vv3.org/Jigsaw/, 1997
  12. Arun Iyengar, Ed MacNair and Thao Nguyen, Web Server Performance Under Heavy Loads, Technical Report, IBM Research Division, 1997
  13. Netscape Inc., Netscape Enterprise Server, http://home.netscape.eom/enterprise/v3.6/index.html, 1999
  14. 제영희, 병행 웹 서버의 설계 및 성능 평가, 서강대학교 석사 학위 논문, 1997
  15. B. Nichols, D. Buttlar and J.P. Farrcll, Pthreads [16]Programming, OReilly & Associates Inc., 1996
  16. W.R. Stevens, Univ Network Prentice-Hall Press, 1991
  17. Remy Card, Eric Dumas, Franck Mevel, The Linux Kernel Book, Wiley Press, 1998