Spring/Spring MVC

[Tomcat 11] 2. Connector

noahkim_ 2026. 4. 15. 20:58

1. HTTP 1.1 Connector

  • 특정 TCP 포트에서 연결을 받아서, 요청을 처리를 하게 하는 입구 (Engine으로 넘겨 처리함)
  • non-async 요청 1개당 worker thread 1개를 처리 동안 점유함

 

2. Attributes

Common Attributes

속성 설명 의미
protocol 어떤 HTTP connector 구현을 사용할지 정하는 설정 현재 톰캣이 NIO 기반으로 동작하는지 이해하는 기준
asyncTimeout 비동기 요청의 기본 timeout 시간 async 요청이 오래 걸릴 때 timeout 원인 해석 가능
maxParameterCount 요청에서 허용할 최대 파라미터 개수 파라미터 폭주나 비정상 요청으로부터 서버 보호
maxPartCount multipart 요청에서 허용할 최대 part 개수 파일 업로드 요청이 메모리를 과하게 쓰는 상황 방지
maxPostSize 파라미터로 변환될 POST body의 최대 크기 과도하게 큰 요청 본문 제한
port Connector가 연결을 기다리는 TCP 포트 번호 어떤 포트가 현재 요청 입구인지 식별 가능

 

Standard Implementation

속성 설명 의미
maxThreads 동시에 요청을 처리할 worker thread 최대 수 동시 요청 처리 상한을 결정
maxConnections 동시에 받아들여 유지할 수 있는 연결 최대 수 thread가 부족해도 Tomcat이 붙잡아둘 수 있는 연결 상한
acceptCount maxConnections를 넘었을 때 OS backlog queue에서 대기 가능한 연결 수 과부하 시 마지막 대기 구간의 크기
executor 외부 Executor를 사용할지 여부 내부 thread pool을 쓸지, 외부 공유 executor를 쓸지 결정
minSpareThreads 항상 유지하려는 최소 thread 수 요청이 갑자기 와도 바로 처리할 수 있는 최소 준비 상태 유지
threadsMaxIdleTime 여분 thread를 idle 상태로 얼마나 유지할지 부하 감소 후 thread를 언제 줄일지 결정
connectionTimeout 연결 수락 후 요청 라인을 얼마나 기다릴지 느린 클라이언트 때문에 connection이 오래 묶이는 상황 제어
connectionUploadTimeout 업로드 중 사용할 timeout 대용량 업로드 시 timeout 동작 구분 가능
disableUploadTimeout 업로드용 긴 timeout 사용 여부 업로드 시 일반 요청과 다른 timeout 정책 적용 여부 결정
keepAliveTimeout keep-alive 연결에서 다음 요청을 얼마나 기다릴지 요청은 적은데 connection 수가 많은 상황 설명 가능
maxKeepAliveRequests 한 연결에서 재사용 가능한 요청 수 keep-alive 연결의 수명을 제한
maxHeaderCount 요청에서 허용할 최대 header 개수 비정상 요청 방어 및 헤더 폭주 제한
maxHttpRequestHeaderSize 요청 라인 + 헤더의 최대 크기 헤더가 클수록 request당 heap 사용이 커지는 원인 파악 가능
processorCache Processor 객체 재사용 캐시 크기 성능 향상과 GC 부하 사이의 균형점
executorTerminationTimeoutMillis connector 종료 시 내부 executor가 thread 종료를 기다리는 시간 종료/정지 시 thread 정리 behavior 이해 가능
threadPriority request-processing thread의 우선순위 thread 실행 우선순위 조정 가능
useVirtualThreads 내부 executor에서 virtual thread 사용 여부 플랫폼 thread 대신 virtual thread 기반 처리 여부를 결정

 

 

Java TCP socket attributes

NIO specific configuration

NIO2 specific configuration

 

 

출처

'Spring > Spring MVC' 카테고리의 다른 글

[Tomcat 11] 1. Architecture  (0) 2026.04.16
[Tomcat] 1. Introduction  (0) 2025.04.14
[Spring MVC] 7. HTTP Caching  (0) 2025.04.14
[Spring MVC] 6. Error Response  (0) 2025.04.12
[Spring MVC] 3. HTTP Message Conversion  (0) 2025.04.12