Какой встроенный сервер вы используете?Вы можете использовать свойство в Tomcat server.tomcat.max-threads
для управления количеством потоков.0
по умолчанию 200 потоков, используемых Tomcat.
Когда вы говорите
В настоящее время я разрабатываю приложение с загрузочной пружиной, которое должно одновременно обрабатывать как можно больше http-запросов.
Вы заботитесь о производительности, так как слишком много запросов отправляется на общий ресурс, например, в базу данных?
Если вы не хотите настраивать необработанное число, а иметь как можно больше потоков HTTP, которые нужно обработать и обработать, вам следует заняться асинхронным вызовом в Spring.
Чтобы включить асинхронные вызовы в SpringBootApplication , выполните следующие действия:
@EnableSync
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
Теперь вы сможете использовать метод, который возвращает Completable<Future>
в вашем сервисе.class.
Кроме того, вы действительно не должны обрабатывать количество потоков в слое вашего веб-сервиса.Он действительно должен обрабатываться сервером приложений (Tomcat, Glassfish и т. Д.). Он будет обрабатывать и отправлять запросы вашим методам одновременно.
Если в вашем коде есть узкое место на том же оборудовании, увеличение количества потоков не приведет к увеличению производительности, а скорее с возможностью его снижения.
Смотрите здесь: Spring MVC Rest Services - число потоков (экземпляров контроллера)
Ссылка: https://www.e4developer.com/2018/03/30/introduction-to-concurrency-in-spring-boot/ https://spring.io/guides/gs/async-method/