본문 바로가기

미들웨어/Apache,Tomcat

Tomcat Connector Threads 설정 정리

반응형

운영환경에서 주로 2가지 종류의 Tomcat Connector를 사용한다. HTTP Connector와 AJP Connector이다.

 

이번 포스팅에는 두 Connector의 Threads와 관련하여 몇가지 테스트를 통해 확인한 내용을 정리하겠다.


1. HTTP Connector

  • 이름 그대로 HTTP 요청을 받아 처리가능한 Connector이다.
<Connector port="8088" protocol="HTTP/1.1"
           maxThreads="100"
           minSpareThreads="100"
           connectionTimeout="20000"
           redirectPort="8443" />
  • maxThreads : 해당 Connector에 생성 가능한 최대 Thread의 수이다.(default : 200)
  • minSpareThreads가 없는 경우 default로 10개의 Thread가 생성된다.
  • maxThreads값은 limits 범위내에서 설정 가능하다.
  • openfiles가 부족할 경우 Too many open files 발생한다.
  • max user processes 부족시 Tomcat 프로세스가 종료된다.

 

2. AJP Connector

  • mod_jk를 사용해 Apache와 연동한 상태에서 테스트한 결과이다.
<Connector protocol="AJP/1.3"
               address="0.0.0.0"
               port="8009"
               maxThreads="100"
               minSpareThreads="100"
               secretRequired="false"
               redirectPort="8443" />
  • WEB/WAS의 Connection수와 WAS의 Thread수치는 별개이다.(1:1구조가 아님)
  • maxThreads값 이상으로 connection수 증가가 가능하며 maxThreads가 모두 active인 상태에서 들어온 요청의 connection은  'All tomcat instances failed, no more workers left'라는 로그와 함께 503 code를 내려준다

 

반응형

이런 테스트의 경우 상황에 따라 다양한 시나리오로 테스트를 하기 때문에 계속해서 업데이트 할 예정이다.

반응형