У меня есть кот 7 работ низкой памяти CentOS. В настоящее время это имеет 2 коннектора для портов 80 и 443. Важные параметры конфигурации:
<Connector port="80" protocol="HTTP/1.1" executor="tomcatThreadPool"
connectionTimeout="10000"
keepAliveTimeout="60000"
<Connector port="443" protocol="HTTP/1.1" executor="tomcatThreadPool"
SSLEnabled="true" scheme="https" secure="true"
connectionTimeout="10000"
keepAliveTimeout="60000"
Оба коннектора связываются с исполнителем:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="100" minSpareThreads="3"
maxIdleTime="120000" />
Когда кот сначала запускается, он запускает приблизительно 50 потоков. После приблизительно пользователи 15-20, соединяющиеся с веб-приложением, это увеличено приблизительно до 60. (Я считаю потоки кота с командой ps -eLf | grep java |grep tomcat |wc -l
)
У меня есть приблизительно 4 соединения в минуту, это - не больше чем 5 из-за природы моего приложения. Поэтому я хочу, чтобы кот запустил минимальные возможные потоки. Так как я настроил минимум 3 запасных потоков и проверки активности как 2 минуты, это не должно переходить 20 или что-то. Но я неправ.
Как я могу ограничить количество потоков Tomcat к минимальному значению как 20 или 30?
Согласно данной документации количество минимальных потоков может быть сконфигурировано с помощью следующего параметра:
Attribute
Description
minSpareThreads
(int) Минимальное количество постоянно поддерживаемых потоков, по умолчанию 25
Согласно данной документации оно может быть реализовано следующим образом:
<Connector port="8080" address="localhost"
minSpareThreads="20" />
При загрузке сервера HTTP-коннектор будет создавать несколько потоков обработки на основе значения, настроенного для атрибута minSpareThreads.