Stworzyłem microservice za pomocą Spring Boot. Byłem wydajności testowania usługi przez stubbing wywołań backend. Gdy spojrzałem na liczbę wątków, widzę, że maksymalna liczba wątków utworzonych dla usługi wynosi 20 w dowolnym momencie, mimo że liczba wykonanych połączeń jest znacznie wyższa. Czy są jakieś ograniczenia dotyczące liczby połączeń, które można wykonać w mikroserwisie opracowanym przy użyciu Spring Boot. Czy możesz wskazać, jakie kroki muszę wykonać, aby rozwiązać problem/zwiększyć liczbę połączeń akceptowanych przez usługę?Spring Boot - Limit liczby utworzonych połączeń
Odpowiedz
To ustawienie pochodzi z osadzonego kontenera (tomcat, molo ...).
liczba Tomcat wątków
Możesz określić tę właściwość w swoim application.properties
server.tomcat.max-threads=400
Mówisz liczone 20 wątków, jednak zgodnie z tym other stackoverflow question/answer, domyślną liczbę wątek powinien być 200 z tomcat, ponieważ domyślna wartość wątków server.tomcat.max wynosi 0. Zobacz tomcat's documentation:
Maksymalna liczba wątków przetwarzania żądań, które mają zostać utworzone przez to złącze, która określa maksymalną liczbę równoczesnych żądań, które można obsłużyć. Jeśli nie zostanie określony, ten atrybut zostanie ustawiony na 200. Jeśli executor jest powiązany z tym łącznikiem, ten atrybut jest ignorowany, ponieważ łącznik wykona zadania przy użyciu executora, a nie puli wątków wewnętrznych.
Również Nieruchomość:
cofająca:
server.undertow.worker-threads
pomost:
server.jetty.acceptors
Musisz znaleźć listę properti es w Spring's documentation
Wielkie dzięki, Alex. Używam tomcat. Spróbuję zaktualizować –
Witaj Alex, czy jest jakiś sposób wydrukowania wartości domyślnej w mojej aplikacji? –
Nie to, co wiem. Domyślnie wartość domyślna wątków server.tomcat.max-thread wynosi 0, więc sprowadza się do wartości tomcat. Co bym zrobił Jeśli byłbym tobą, to spróbuj z naprawdę dużą wartością (server.tomcat.max-threads = 1000) i zobacz, czy to robi różnicę. – alexbt
- 1. Limit liczby jednoczesnych połączeń w Apache2
- 2. dowolny limit liczby połączeń programu SQL Server?
- 3. Spring Boot - nesting ConfigurationProperties
- 4. Spring Boot Java Config Ustaw limit czasu sesji
- 5. C# async/await - Limit liczby połączeń z metodami asynchronicznymi/blokowanie
- 6. socket.io-limit liczby maksymalnych połączeń w przestrzeni nazw
- 7. Limit połączeń Java ServerSocket?
- 8. WebRTC: limit połączeń peer?
- 9. Spring Boot i FreeMarker
- 10. Wyrzutnia synchroniczna Spring Boot
- 11. Spring Boot z MongoTemplate
- 12. @EnableTransactionManagement w Spring Boot
- 13. Spring Boot devtools IntelliJ
- 14. Spring boot + cassandra
- 15. Spring Boot + Websocket (SockJS)
- 16. Spring Boot JSP 404
- 17. Spring Boot AutoConfiguration Order
- 18. Spring Boot Application
- 19. Spring Boot Autowired null
- 20. Spring Boot @EnableScheduling warunkowo
- 21. Spring Boot: Hibernate and Flyway boot order
- 22. Konwertuj istniejącą aplikację Spring na Spring-Boot
- 23. Limit liczby oddziałów git
- 24. Spring boot show parametr wiązania sql?
- 25. Zmniejszenie liczby zegarków $ utworzonych przez ui-grid
- 26. Spring Boot Test ignoruje logging.level
- 27. Spring Boot: SpringBootServletInitializer jest przestarzałe
- 28. Jak działa konsola Spring Boot?
- 29. Spring boot @ConfigurationProperties nie załadowano
- 30. Spring Boot ignorowanie logback-spring.xml
z którego kontenera korzystasz? Jetty, tomcat, nginx, undertow ...? – alexbt