Я разработал микросервис с использованием Spring Boot. Я был тестированием производительности, завершая вызовы бэкэнда. Когда я посмотрел количество потоков, я вижу, что максимальное количество потоков, созданных для службы, составляет 20 в любой момент времени, даже если количество выполненных вызовов намного выше. Существуют ли какие-либо ограничения в отношении количества вызовов, которые могут быть сделаны для микросервиса, разработанного с использованием Spring Boot. Пожалуйста, можете ли вы указать, какие шаги мне необходимо выполнить, чтобы устранить/увеличить количество подключений, принятых службой?Spring Boot - ограничение на количество созданных соединений
ответ
Этот параметр получен из встроенного контейнера (tomcat, jetty ...).
номер для Tomcat нитей
Вы можете указать это свойство в ваших application.properties
server.tomcat.max-threads=400
Вы говорите, что вы насчитали 20 потоков, однако в соответствии с этим other stackoverflow question/answer номер по умолчанию, нить должна 200 с tomcat, так как значение по умолчанию server.tomcat.max-threads равно 0. См. tomcat's documentation:
Максимальное количество потоков обработки запросов, которые должны быть созданы этим Коннектором, что определяет максимальное количество одновременных запросов, которые могут быть обработаны. Если не указано, этот атрибут установлен в 200. Если исполнитель связан с этим соединителем, этот атрибут игнорируется, поскольку соединитель выполняет задачи с использованием исполнителя, а не пула внутренних потоков.
Кроме того, свойство для:
отлива:
server.undertow.worker-threads
молы:
server.jetty.acceptors
Вы найдете список Проперти es в Spring's documentation
Большое спасибо, Алекс. Я использую tomcat. Я попробую и обновит –
Привет, Алекс, есть способ распечатать значение по умолчанию в моем приложении? –
Не знаю, о чем я знаю. Я имею в виду, что значение по умолчанию для server.tomcat.max-threads равно 0, поэтому оно сводится к значению tomcat. Что бы я сделал Если бы я был вами, попробуйте с действительно большим значением (server.tomcat.max-threads = 1000) и посмотрите, не изменилось ли это. – alexbt
какой контейнер вы используете? Jetty, tomcat, nginx, взять ...? – alexbt