I would like to optimize a Spring boot for a low performance hardware. I just use a JDBC for a SqlLite Database. It looks like 5 minutes are lost in the begining and I am not sure where or why. If somebody might have any suggestions. I saw other ideas but I am not sure it applies to my situation where I have the performance of a Raspberry Pi 1.
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.3.2.RELEASE)
2021-08-02 14:18:55.075 INFO 24149 --- [ main] com.app.AppGatewayApplication : Starting AppGatewayApplication v0.0.1-SNAPSHOT with PID 24149 (/opt/app/app.jar started by root in /opt/app)
**2021-08-02 14:18:55.261 INFO 24149 --- [ main] com.app.AppGatewayApplication : No active profile set, falling back to default profiles: default
2021-08-02 14:22:46.915 WARN 24149 --- [ main] io.undertow.websockets.jsr : UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used**
2021-08-02 14:22:51.668 INFO 24149 --- [ main] io.undertow.servlet : Initializing Spring embedded WebApplicationContext
2021-08-02 14:22:51.671 INFO 24149 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 230771 ms
2021-08-02 14:23:37.337 INFO 24149 --- [ main] o.f.c.internal.license.VersionPrinter : Flyway Community Edition 6.5.5 by Redgate
2021-08-02 14:23:45.163 INFO 24149 --- [ main] o.f.c.internal.database.DatabaseFactory : Database: jdbc:sqlite:data/app.db (SQLite 3.32)
2021-08-02 14:23:49.716 INFO 24149 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 19 migrations (execution time 00:02.585s)
2021-08-02 14:23:49.962 INFO 24149 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema "main": 1.1.19
2021-08-02 14:23:50.027 INFO 24149 --- [ main] o.f.core.internal.command.DbMigrate : Schema "main" is up to date. No migration necessary.
2021-08-02 14:23:51.952 INFO 24149 --- [ main] com.app.repository.e : Connection - - - - - - - - New DBConnection created
Unless you know what is causing the time loss, it will be very difficult to improve the performance.
Therefore, I would first increase the log level to understand what is really happening during that time. Once that is clear, then you can think about how to improve the performance.
In addition, since version 2.4, Spring Boot provides some ways to get out what happens during the startup of the service and how long each step takes. Here, for example, you can find some tips on how to build this monitoring into your service: https://www.amitph.com/spring-boot-startup-monitoring/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With