API 요청이 들어올 경우, OS의 네트워크 SYN 큐에 SYN 패킷을 저장한 후, SYN+ACK 패킷을 반환한다.
클라이언트는 ACK 패킷으로 응답한 후, ESTABLISHED가 된다면, SYN 큐를 스프링부트의 ACCEPT큐로 PUSH를 한다.
톰캣의 ACCEPT 큐의 패킷을 톰캣 워커 스레드가 하나씩 처리를 한다.
Java는 One-to-One Threading-Model로 Thread를 생성한다.
또한 User Thread 생성시 OS Thread와 1대1로 연결이 된다.
스프링부트 톰캣 스레드 수를 조정할 필요가 있다.
( 스레드 생성 자체가 오버헤드가 매우 큼)
스레드가 많아질수록 컨텍스트 스위칭 비용이 증가한다.
