2016-08-17 5 views
7

Я разработал микросервис с использованием Spring Boot. Я был тестированием производительности, завершая вызовы бэкэнда. Когда я посмотрел количество потоков, я вижу, что максимальное количество потоков, созданных для службы, составляет 20 в любой момент времени, даже если количество выполненных вызовов намного выше. Существуют ли какие-либо ограничения в отношении количества вызовов, которые могут быть сделаны для микросервиса, разработанного с использованием Spring Boot. Пожалуйста, можете ли вы указать, какие шаги мне необходимо выполнить, чтобы устранить/увеличить количество подключений, принятых службой?Spring Boot - ограничение на количество созданных соединений

+2

какой контейнер вы используете? Jetty, tomcat, nginx, взять ...? – alexbt

ответ

11

Этот параметр получен из встроенного контейнера (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

+0

Большое спасибо, Алекс. Я использую tomcat. Я попробую и обновит –

+0

Привет, Алекс, есть способ распечатать значение по умолчанию в моем приложении? –

+0

Не знаю, о чем я знаю. Я имею в виду, что значение по умолчанию для server.tomcat.max-threads равно 0, поэтому оно сводится к значению tomcat. Что бы я сделал Если бы я был вами, попробуйте с действительно большим значением (server.tomcat.max-threads = 1000) и посмотрите, не изменилось ли это. – alexbt