Http-запрос Не отвечает: Apache Tomcat - PullRequest
0 голосов
/ 03 октября 2019

Мы развернули наше приложение на сервере Apache Tomcat.

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

Эта проблема периодически.

Я предполагаю, что все потоки в пуле потоков Tomcat за это время были заняты, и, следовательно, запрос не был обработан.

Я читал о параметре Tomcat maxConnection и accept-count.

Мне нужно уточнить, что сервер Apache Tomcat будет отклонять запрос http, когда все потоки, обрабатывающие предстоящий запрос http, заняты, а очередь, содержащая необработанный запрос http, заполнена в одно и то же время?

1 Ответ

0 голосов
/ 03 октября 2019

Если в очереди запросов acceptCount запросов, ожидающих, последующие запросы будут отклонены. Из документации Apache Tomcat:

acceptCount: Максимальная длина очереди для входящих запросов на подключение, когда используются все возможные потоки обработки запросов. Любые запросы, полученные при заполнении очереди, будут отклонены. Значение по умолчанию - 100.

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

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