Каково стандартное и максимальное количество одновременных запросов в Apache Tomcat?

«Каково стандартное и максимальное количество одновременных запросов в Apache Tomcat?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Стандартное значение — 200 одновременных запросов, определяемое параметром maxThreads в конфигурации Connector.

Настройка в server.xml:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           maxThreads="500"
           redirectPort="8443" />

Факторы, влияющие на производительность:

  • Аппаратные ресурсы: CPU, память, сеть.
  • Размер пула потоков (maxThreads): определяет реальный параллелизм.
  • Длина очереди (acceptCount): количество запросов, которые могут ждать обработки, когда все потоки заняты.
  • Характер запросов: время выполнения и использование keep-alive соединений.

Рекомендации: Для высоконагруженных систем увеличивайте maxThreads (например, до 500-1000) и настраивайте acceptCount, мониторя использование ресурсов.