Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Optimize spring boot for low performance hardware

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
like image 212
Sorin Penteleiciuc Avatar asked Jul 24 '26 00:07

Sorin Penteleiciuc


1 Answers

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/

like image 199
Ingo Griebsch Avatar answered Jul 25 '26 15:07

Ingo Griebsch