We have a legacy webapp that we would like to upgrade to Spring Boot 1.5.8.RELEASE. We have run a load test on the legacy webapp and then ran the same load test on the version where we migrated to Spring boot while profiling the app using YourKit. We see saw ~50% slower for response times in the migrated app. It's a REST API webapp. We found that there were 2 areas where we saw slowdowns.
- mysql methods (e.g. com.mysql.jdbc.PreparedStatement.executeQuery() PreparedStatement.java)
- ApplicationFilterChain
The mysql method is shown as a hotspot in the Spring Boot app, but not the legacy one even though we're using the same mysql connector and same DB configurations.
Things we checked/tried
- We checked that the dependency trees are identical
- All app configurations are identical
- We are running the tomcat in the legacy app and using embedded tomcat in Spring Boot
Questions
- Are there are any areas we should be looking into?
- Are there good resources on the web for identifying and fixing performance issues during Spring Boot migrations?
- What have been your experiences with migrating to Spring Boot?
- How else should we be using YourKit to identify performance issues?
Dependency Differences
mvn dependency:list
Diff of the two dependency lists from calling mvn dependency:list