Ich habe einen Microservice mit Spring Boot entwickelt. Ich habe den Dienst getestet, indem ich die Back-End-Aufrufe stubben ließ. Als ich mir die Anzahl der Threads anschaute, sehe ich, dass die maximale Anzahl von Threads, die für den Dienst erstellt wurden, zu jedem Zeitpunkt 20 ist, obwohl die Anzahl der ausgeführten Anrufe viel höher ist. Gibt es Einschränkungen hinsichtlich der Anzahl von Anrufen, die an einen mit Spring Boot entwickelten Microservice getätigt werden können? Können Sie mir bitte erläutern, in welchen Schritten ich die Anzahl der vom Dienst akzeptierten Verbindungen beheben muss?Spring Boot - Begrenzung der Anzahl der erstellten Verbindungen
Antwort
Diese Einstellung ergibt sich aus dem eingebetteten Container (Tomcat, Jetty ...).
Tomcat Anzahl der Threads
Sie diese Eigenschaft in Ihrem application.properties angeben
server.tomcat.max-threads=400
Sie sagen, Sie 20 Fäden gezählt, aber nach diesem other stackoverflow question/answer, sollte die Standardanzahl der Faden sei 200 mit Tomcat, da der Standardwert von server.tomcat.max-threads 0 ist. Siehe tomcat's documentation:
Die maximale Anzahl von Anforderungsverarbeitungsthreads, die von diesem Connector erstellt werden. Dadurch wird die maximale Anzahl gleichzeitiger Anfragen festgelegt, die verarbeitet werden können. Wenn dieses Attribut nicht angegeben ist, wird es auf 200 gesetzt. Wenn diesem Connector ein Executor zugeordnet ist, wird dieses Attribut ignoriert, da der Connector Tasks mit dem Executor und nicht mit einem internen Thread-Pool ausführt.
Auch die Eigenschaft für:
undertow:
server.undertow.worker-threads
Anlegestelle:
server.jetty.acceptors
Sie die Liste der properti finden es in Spring's documentation
Vielen Dank, Alex. Ich benutze Kater. Ich werde versuchen und aktualisieren –
Hallo Alex, gibt es eine Möglichkeit, den Standardwert in meiner App zu drucken? –
Nicht, dass ich davon weiß. Ich meine, der Standardwert von server.tomcat.max-threads ist definitiv 0, also kommt es auf den Tomcat-Wert an. Was ich tun würde Wenn ich Sie wäre, versuchen Sie mit einem wirklich großen Wert (server.tomcat.max-threads = 1000) und sehen Sie, ob es einen Unterschied macht. – alexbt
- 1. log4j2 - Begrenzung der Anzahl der Protokolldateien
- 2. Begrenzung/Drosselung der Bandbreite mit * multiple * Verbindungen
- 3. Maximale Anzahl der Verbindungen
- 4. Begrenzung der Anzahl der Objekte in NSArrayController
- 5. Begrenzung der Anzahl der Datensätze von mysqldump?
- 6. WP7 Begrenzung der Anzahl der MediaElements
- 7. xlwt Begrenzung der Anzahl der Zeilen
- 8. Cloud Foundry Bind Dienste/Becher Datenquelle Anzahl der Verbindungen
- 9. Zu viele Verbindungen Spring Boot jdbc
- 10. Vorteil der Spring Boot
- 11. OkHttpClient Limit Anzahl der Verbindungen?
- 12. Proxool maximale Anzahl der Verbindungen
- 13. Anzahl der DB-Verbindungen geöffnet
- 14. Akteur-Modellmuster: Begrenzung der Anzahl der gleichzeitig laufenden Akteure
- 15. Begrenzung der Anzahl generischer Parameter in .NET?
- 16. über die Anzahl der Datei-Deskriptoren Begrenzung
- 17. Bash: Begrenzung der Anzahl gleichzeitiger Jobs?
- 18. Begrenzung der CPU-Anzahl für einen Benutzer
- 19. mod_rewrite Anzahl der Parameter/Rückreferenzierungen Begrenzung
- 20. Begrenzung der Anzahl der von der JVM verwendeten Threads
- 21. Pandas HDF Begrenzung der Anzahl der Zeilen der CSV-Datei
- 22. Begrenzung der gleichzeitigen Threads gleich der Anzahl der Prozessoren?
- 23. Run limited Anzahl der Threads auf Spring Boot-Dienst
- 24. Spring-Boot-Tomcat kann nur weniger als 10.000 Verbindungen bieten?
- 25. Anzahl der in Java erstellten Objekte ermitteln
- 26. Begrenzung der Anzahl der Zeilen in einer ContentResolver.query() - Funktion
- 27. Regulärer Ausdruck zur Begrenzung der Anzahl der Zeichen auf 10
- 28. Django: Begrenzung der Anzahl der Beziehungen in einer OnetoMany-Beziehung
- 29. Begrenzung der maximalen Anzahl der aufgerollten Protokolldateien in log4j2
- 30. Anzahl der Verbindungen zu MongoDB-Server
welchen Container verwenden Sie? Jetty, Kater, Nginx, Sog ...? – alexbt