Как увеличить количество потоков в пуле потоков tomcat?

Я просто хочу знать Как увеличить количество потоков в пуле потоков tomcat? и какое число установить max тоже, я не знаю, что подходит?

Ответ 1

Похоже, вы должны остаться с настройками по умолчанию ;-)

Серьезно: количество максимальных параллельных соединений, которые вы должны установить, зависит от вашего ожидаемого использования tomcat, а также от количества ядер на вашем сервере. Больше ядер на вашем процессоре => больше параллельных потоков, которые могут быть выполнены.

Смотрите здесь, как настроить...

Tomcat 9: https://tomcat.apache.org/tomcat-9.0-doc/config/executor.html

Tomcat 8: https://tomcat.apache.org/tomcat-8.0-doc/config/executor.html

Tomcat 7: https://tomcat.apache.org/tomcat-7.0-doc/config/executor.html

Tomcat 6: https://tomcat.apache.org/tomcat-6.0-doc/config/executor.html

Ответ 2

Вам нужно будет настроить его в соответствии с вашей средой.

Иногда полезно увеличить размер отставания (acceptCount) вместо максимального количества потоков.

Скажем, вместо

<Connector ... maxThreads="500" acceptCount="50"

вы используете

<Connector ... maxThreads="300" acceptCount="150"

вы можете получить гораздо лучшую производительность в некоторых случаях, потому что будет меньше потоков, оспаривающих ресурсы, и очередь отставания будет потребляться быстрее.

В любом случае, вы должны сделать некоторые тесты, чтобы действительно знать, что лучше.

Ответ 3

Из Документация Tomcat

MaxConnections Когда это число будет достигнуто, сервер будет принимать, но не обрабатывать, еще одно соединение. как только предел достигнут, операционная система все еще может принимать соединения на основе настройки acceptCount. (Максимальная длина очереди для входящих запросов на соединение, когда используются все возможные потоки обработки запроса. Любые запросы, полученные при заполнении очереди, будут отклонены. Значение по умолчанию равно 100.) Для BIO значением по умолчанию является значение maxThreads, если только Исполнитель, в этом случае значением по умолчанию будет значение maxThreads от исполнителя. Для NIO и NIO2 по умолчанию используется 10000. Для APR/native по умолчанию используется значение 8192. Обратите внимание, что для APR/native в Windows сконфигурированное значение будет уменьшено до наивысшего кратного 1024, которое меньше или равно maxConnections. Это делается по соображениям производительности.

MaxThreads
Максимальное количество потоков обработки запросов, которые должны быть созданы этим Коннектором, что определяет максимальное количество одновременных запросов, которые могут быть обработаны. Если это не указано, этот атрибут устанавливается равным 200. Если исполнитель связан с этим коннектором, этот атрибут игнорируется, поскольку соединитель выполняет задачи с использованием исполнителя, а не пула внутренних потоков.