The hyper distributed micro services are definitely one of the big reasons for unnecessary complexity and latency problems. It was surprising for me to see that the JVM based services were load tested for 4-10 minutes to call the test successful.
The JVM is just getting warmed up load testing for that short a period.
On a server JVM instance a method will have to be executed (by default) 10 thousand times before it is compiled.
There is also a question of how stable the compilation profile is and how likely deoptimizations are but that's a different story.