본문 바로가기
삵

Tomcat maxThreads maxConnections acceptCount 차이

조회 0 · 댓글 0
appsrootappsroot작성자2026년 10월 2일

동시 접속이 몰릴 때 어떤 값을 올려야 하는지 헷갈려서 세 값을 한 번에 정리합니다. Apache Tomcat 11.0 HTTP Connector 공식 레퍼런스 기준이고, 세 값은 동작하는 지점이 서로 다릅니다.

maxThreads는 요청을 실제로 처리하는 스레드 수, 즉 동시에 처리 가능한 요청 수입니다(기본 200). maxConnections는 서버가 받아서 처리까지 끌고 가는 커넥션 총량으로, 기본 8192입니다. 이 수에 도달하면 커넥션 하나를 더 accept는 하지만 처리하지 않고, 처리 중인 수가 maxConnections 밑으로 떨어질 때까지 막아 둡니다. acceptCount는 maxConnections까지 찬 뒤 OS가 들고 있는 대기 큐 길이로 기본 100이며, 이 큐가 꽉 차면 OS가 추가 연결을 거부하거나 타임아웃시킵니다.

정리하면 처리는 maxThreads, 받아두는 총량은 maxConnections, 그 이후 OS 큐가 acceptCount 순으로 걸립니다. 한 가지 주의할 점은 Connector에 executor를 연결하면 maxThreads 값은 무시되고, JMX 등에서는 -1로 보고됩니다.

<Connector port="8080" protocol="HTTP/1.1"
           maxThreads="200"
           maxConnections="8192"
           acceptCount="100"
           connectionTimeout="20000" />

🔗 https://tomcat.apache.org/tomcat-11.0-doc/config/http.html

로그인 후 답글을 남길 수 있습니다.