Настройка maxThreads на 300 должна быть в порядке - нет фиксированных правил. Это зависит от того, видите ли вы какие-либо соединения, которым отказывают.
Слишком большое увеличение приводит к высокому потреблению памяти, но известно, что рабочие Tomcats работают с 750 потоками. Смотрите здесь также. http://java -monitor.com / форум / showthread.php? Т = 235
Вы действительно получили ошибку SEVERE
? Я протестировал на нашем Tomcat 6.0.20, и он выдает сообщение INFO при пересечении maxThreads.
INFO: Maximum number of threads (200) created for connector with address null and port 8080
Не отменяет соединения, пока не будет пересечено значение acceptCount
. По умолчанию установлено значение 100.
Из документов Tomcat http://tomcat.apache.org/tomcat-5.5-doc/config/http.html
Максимальная длина очереди для входящих
запросы на соединение, когда все возможно
потоки обработки запросов используются.
Любые запросы, полученные в очереди
будет отказано. По умолчанию
значение 100.
Как это работает
1) По мере увеличения количества одновременных запросов потоки будут создаваться до настроенного максимума (значение атрибута maxThreads).
Таким образом, в вашем случае на этом этапе появится сообщение «Максимальное количество созданных потоков (200)». Однако запросы по-прежнему будут поставлены в очередь на обслуживание.
2) Если получено еще больше одновременных запросов, они помещаются в очередь до настроенного максимума (значение атрибута acceptCount).
Таким образом, в общей сложности 300 запросов могут быть приняты без сбоев. (при условии, что ваш acceptCount по умолчанию равен 100)
3) Пересечение этого числа приводит к появлению ошибок Отказ в соединении, пока не появятся ресурсы для их обработки.
Так что вы должны быть в порядке, пока не выполните шаг 3