Thread Pool
•
자바에서 Thread 생성하는 것은 공짜가 아니다.
•
Thread가 생성될 때는 요청이 처리되는 지연 시간이 발생하고, JVM과 OS에 의한 추가적인 처리 과정이 필요하다.
◦
이러한 이유로 Thread Pool이 필요하다.
◦
Thread Pool은 현재의 작업을 수행하기 위해 이전에 생성된 Thread를 재사용함으로써 싸이클 오버헤드 및 자원 낭비를 막을 수 있다.
Tomcat default Configuration
•
◦
connectionTimeout
▪
client와 서버간 I/O가 설정한 시간동안 발생하지 않을 경우 타임아웃 발생
▪
default: 20000 (20s)
◦
maxThreads
▪
서버가 허용할 수 있는 최대 요청 Thread수 (실제 Active User수)
▪
default: 200
◦
minSpareThread
▪
Tomcat 실행 시 생성되는 초기 Thread size
▪
default: 10
◦
acceptCount
▪
Thread가 full 상태일 경우 요청을 대기하는 queue의 사이즈
▪
default: 100