Optimizations in Spring MVC
Spring Fruits Benchmark
Abstract
Benchmarks are tricky to do well, and the results are often hard to interpret. This analysis attempts to go beyond a simple headline number to explore how performance varies with data set size. The results show that while results might be disappointing for a given data set size, the performance characteristics can change as the size changes, leading to different conclusions about scalability and efficiency. The result is a deeper insight into how a framework handles increasing loads and the factors that influence performance.
For a data set size N, the cycle time (inverse throughput) is linear in N, so t = A + B*N, with A a baseline framework cost per HTTP request, and B the processing time per data item. We measure A and B for a simple endpoint that fetches and renders a complete data set in JSON. A is small (on the order of tens of microseconds). Probably for a "real" application (not just CRUD) the processing time B…