MS Lesson20: Load test


Embedded Tomcat nədir?

Klassik Java-da tətbiq ayrı, server ayrı olurdu:

Köhnə üsul: [Tomcat server qurulur] → [WAR faylı deploy edilir]
Spring Boot: [JAR faylının içində Tomcat var] → java -jar app.jar

Spring Boot-da Tomcat JAR-ın içindədir. Buna görə ./gradlew bootRun etdikdə tətbiq özü serveri özü qaldırır. 







Tomcat-ın Default Dəyərləri

ParametrDefault DəyərNə deməkdir?
max-threads
200
Eyni anda maksimum neçə sorğu işlənir
min-spare-threads
10
Həmişə hazır gözləyən minimum thread sayı
accept-count
100
200 thread dolu olanda növbəyə neçə sorğu girə bilər
connection-timeout
20000ms
Bağlantı gözləmə vaxtı (20 saniyə)


Spring Boot-da Necə Dəyişdirilir?

application.yaml-a əlavə etmək kifayətdir:

server:
port: 8888
tomcat:
threads:
max: 200 # default 200
min-spare: 10 # default 10
accept-count: 100 # default 100
connection-timeout: 20000



Necə İşləyir?

Gələn sorğular:
─────────────────────────────────────────────────
1-200 sorğu → Thread pool-da yer var → Dərhal işlənir ✓
201-300 sorğu → Thread dolu, yer yox → accept-count növbəsində gözləyir
301+ sorğu → Növbə də dolu → "Connection refused" xətası ✗



Timeout xetasi:

t = 20000ms → connection-timeout doldu
Tomcat bağlantını zorla kəsdi
Müştəri "504 Gateway Timeout" aldı




















Комментарии

Популярные сообщения из этого блога

Interview questions

Lesson1: JDK, JVM, JRE

Lesson_2: Operations in Java