Analysis of Multi-thread Fool Utilization Scheme on the Apache Web Server

아파치 웹 서버에서의 다중 쓰레드 풀 활용 기법 분석

  • 전흥석 (건국대학교 컴퓨터응용과학부) ;
  • 이승원 (건국대학교 컴퓨터정보통신공학부) ;
  • 강현규 (건국대학교 컴퓨터응용과학부)
  • Published : 2005.02.01

Abstract

Web servers or web application servers, in general, adopt multi-thread model for efficient handling of many user requests. However, the multi -thread model always does not show the better performance than multi -process model. Sometimes, in a certain specific case, it can show worse performance than multi -process model. In this paper, to trace the cause of the decreased performance of multi -thread model, we experiment and analyze the performance of the multi-thread model by using two approaches. At first, we compare the performance of the multi-process model and multi-thread model for various application environments. Second, we observe the effects of variations of web server's dynamic directives, which are used to increase the flexibility of the web server for various system environments. For the experiments, we integrated a web client simulator, which was written by us, with the Apache 2.0 web server. This paper shows and analyze the results of the experiments.

웹 서버 혹은 웹 애플리케이션 서버는 급증하는 웹 사용자들의 요구에 효율적으로 대처하기 위하여 일반적으로 다중 쓰레드 모델을 적용하고 있다. 그러나 이러한 다중 쓰레드 모델이 새로운 웹 환경의 특정한 상황에서 다중 프로세스 모델에 비해 오히려 더 나쁜 성능을 보이는 경우가 있다. 본 논문에서는 이러한 문제를 해결하기 위하여 두 가지 접근 방법을 통해 다중 쓰레드 모델의 성능 저하에 대한 원인을 분석한다. 그 중 첫 번째로, 다양한 응용 환경에서의 다중 쓰레드 모델과 프로세스 모델을 비교한다. 두 번째로는 효율성을 위하여 일반적으로 제공되는 프로세스/쓰레드 풀 모델에서 동적인 지시자들의 설정값에 의한 영향을 분석한다. 본 논문에서는 자체 제작한 웹 클라이언트 시뮬레이터와 아파치 엘 서버 2.0을 연동하여 이러한 실험들을 진행하고 결과 및 분석 내용을 제시한다.

Keywords

References

  1. The Apache Software Foundation. http://www.apache.org, 1999-2003
  2. Ryan B. Bloom, Apache Server 2.0: The Complete Reference, McGraw-Hill Osborne Media, 1st edition (June 26, 2002)
  3. Mi-ryeong Yeom, Kihun Chong, Sam H. Noh, An Assessment of the Apache Web Server 2.0 Performance on Linux, In Proceedings of 2002 International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS 2002) July 14-18, 2002
  4. http://www.atnf.csiro.au/~rgooch/benchmarks/linuxscheduler.html