1

I recently read an article regarding Tomcat architecture and a high level overview of its working and monitoring.

Key metrics for monitoring Tomcat - DataDog

In this article, it mentions Tomcat having a pool of worker threads per connector that can be configured.

It also mentions about Executors and how it is mainly a thread pool that is shared with multiple connectors.

I have some doubts regarding Spring Boot and its Embedded Tomcat Server

  • How many Connectors are configured by default for this embedded Tomcat Server?
  • Does the embedded Tomcat have an Executor configured? Or is it just the basic pool of worker threads.
  • I can see that we can configure the accept count using application.properties by using the following property
    • server.tomcat.accept-count
    • I believe acceptCount sets the max number of connections that can be queued up in the OS level queue when no worker thread is available. ( As per the mentioned article )
    • Does this mean that there is no Executor configured for the default Connector? If there is, how do we configure the queue size of that executor?

I would be grateful if someone could shed some light on the above.

In short, I just wanted to know if the server configuration via application.propeties is for an Executor or for the Connector specific pool of worker threads.

VishG
  • 11
  • 4
  • A bit of searching lead me to this thread: https://stackoverflow.com/questions/39002090/spring-boot-limit-on-number-of-connections-created which lead me to this page https://docs.spring.io/spring-boot/docs/2.0.9.RELEASE/reference/htmlsingle/#common-application-properties where you can find default values (search for 'server.tomcat.' in the page). I also found this blog entry: https://www.baeldung.com/spring-boot-configure-tomcat - maybe you can find your answers there. – TomStroemer Jun 13 '20 at 16:30
  • @TomStroemer You links are helpful. However, it does not answer my questions from above. For example the maxThreads configuration that is pointed out in the first link; is it for the Executor or for the default pool of worker threads? I am already aware of the properties related to Tomcat in Spring Boot. I am looking for information on the underlying working of the embedded Tomcat server. – VishG Jun 13 '20 at 16:53

0 Answers0