Как увеличить количество потоков в пуле потоков Tomcat? - PullRequest
17 голосов
/ 19 июня 2011

я просто хочу узнать, как увеличить количество потоков в пуле потоков Tomcat?и какое число установить макс тоже, я не знаю, что подходит?

Ответы [ 3 ]

24 голосов
/ 12 апреля 2012

Вам придется настроить его в соответствии с вашей средой.

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

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

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

, который вы используете

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

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

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

21 голосов
/ 18 октября 2011

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

Серьезно: Количество максимальных параллельных соединений, которые вы должны установить, зависит от вашего ожидаемого использования 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

13 голосов
/ 20 октября 2015

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

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

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

...