[서버] [톰캣] 사용가능한 쓰레드를 초과하는 요청 발생시 일어나는 일

프로그래밍/서버2021. 2. 22. 18:51

SO에 논의된 글이 있습니다.

 

stackoverflow.com/questions/60502584/tomcat-what-happens-when-number-of-connections-exceeds-number-of-threads

 

어느 순간에 사용가능한 Thread의 수보다 connection가 더 많으면 어떤 일이 발생하나요? Thread에 의해 실행되지 않는 connection은 어떻게 되나요?

Thread에 의해 실행되지 않는 connection은 worker thread가 사용가능해질 때까지 기다립니다.

Tomcat은 연결을 받아들인 후 "accept queue"를 통해 worker thread로 보냅니다. 이것을 조절하는 Tomcat config 파라미터는 다음과 같습니다.

acceptCount: 모든 요청을 처리하는 Thread가 사용중일 때, 들어오는 connection request를 저장한 queue의 최대 크기. 이 queue가 꽉 찼을 때 발생하는 모든 request는 거절됩니다. 기본 값은 100입니다.

(출처 https://tomcat.apache.org/tomcat-8.0-doc/config/http.html)

 

 

참고

stackoverflow.com/questions/45627647/how-tomcat-handle-multiple-concurrent-request-at-the-same-time

 

How tomcat handle multiple concurrent request at the same time?

How tomcat handle multiple concurrent request at the same time ? Does it queues up the requests or processes some of the requests in parallel ? If it processes requests in parallel , how does it

stackoverflow.com

 

작성자

Posted by 드리머즈

관련 글

댓글 영역