I wrote a spring boot application and sample api. I found out the performance between 1st race(right after application started) and 2nd race(I think it is warmed up) was remarkably different. I guess it is caused some resources initialization - threads, direct byte buf, etc. But I can't find out exact cause and solution. I'm looking forward to your help and I want to know how many people had same experience.
[Specific Info]
Spring boot: 2.2.4
Reactor Netty: 0.9.4
Sample api: just return Mono.just(Collections.singletonList(1));
Test condition: request 3000 TPS during 30 seconds
Test Result: response time
- 1st race(right after application started): mean 574ms, p99 10004ms
- 2nd race: mean 5ms, p99 8ms