Есть ли что-то в качестве принятого здравого смысла соотношения между
- HTTP Connector maxThreads (макс. HTTP-потоки, обрабатывающие запросы пользователей),
- HTTP Connector acceptCount (максимальная длина очереди для входящих запросов на соединение, когда используются все возможные потоки обработки запросов)
- Пул БД maxActive (макс. Подключения к БД в пуле) свойства конфигурации
когда речь идет о веб-приложении, использующем tomcat, с интенсивным использованием базы данных?
Я имею в виду, что, например, у нас почти каждое соединение HTTP-запроса интенсивно использует базу данных. Таким образом, когда мы имеем, например, гораздо менее сконфигурированный пул DP maxActive (например, 100), тогда как коннектор HTTP maxThreads (например, 200) в два раза больше.
Тогда может быть возможность иметь одно и то же соединение с БД для совместного использования между HTTP-соединениями. И это может привести к интенсивному использованию БД / БД блокирует соединения .
Мне известно, что конфигурация веб-HTTP-запросов в большинстве случаев не имеет отношения к конфигурации пула базы данных, но существуют ли распространенные случаи / практики для соотношения между свойствами (maxThreads / acceptCount maxActive)? Например. Это обычная практика, когда HTTP maxThreads больше, чем DB maxActive (но думать, что на 100% больше, чем в нашем примере - скажем, на 20 или 50% больше?), и скажем, у нас есть accpetCount с большим значением таким образом, чтобы поставить HTTP-запросы в очередь к тому времени, когда другие HTTP-запросы будут обработаны приложением?
Здесь есть похожий вопрос: Tomcat - Настройка maxThreads и acceptCount в коннекторе Http , но без более точного ответа на него