Dear Tomcat experts, I am confused about "keep alive time" value in Embed Tomcat. I am using Spring Boot 1.5, embed tomcat version is 8.5.
According to https://github.com/spring-projects/spring-boot/issues/16450#issuecomment-480236238, we can't configured thread's "keep alive time" via "maxIdleTime" parameter, "keep alive time" value is hard coded as 60s via https://github.com/apache/tomcat/blob/de1f55e672106031821948d5cac80f40adc09513/java/org/apache/tomcat/util/net/AbstractEndpoint.java#L884, I found 60s "keep alive time" sometimes take effect, some times it doesn't take effect. Could u please kindly help to review my following two cases and kindly provide explanation? Really appreciate ur help in advance! *Case 1 (60s "keep alive time" DOESN'T take effect):* API latency: *100ms* Test step: run API with 800 concurrent threads for 1 minutes, then run API with 10 concurrent threads for about 1 hour. As we can see from following graph, after BusyThreads reduced from ~800 to 10, CurrentThreadsCount remains at 800 for following 1 hour (60s "keep alive time" DOESN'T take effect). After test stopped, CurrentThreadsCount reduced from 800 to 100(MinSpareThreads). [image: image.png] *Case 2 (60s "keep alive time" DOES take effect):* API latency: *10s* Test step: run API with 800 concurrent threads for 1 minutes, then run API with 10 concurrent threads for about 1 hour. As we can see from following graph, after BusyThreads reduced from ~800 to 10, CurrentThreadsCount reduced from 800 to 100(MinSpareThreads). 60s "keep alive time" DOES take effect) [image: image.png] Thanks, Roy