Kembali ke Beranda
Web Development

Konfigurasi HikariCP pada Spring Boot

Spring Boot menggunakan HikariCP sebagai default JDBC connection pool. HikariCP bertugas mengelola koneksi database agar lebih efisien dan meningkatkan performa aplikasi.

Contoh Konfigurasi Standard

SPRINGDATASOURCEHIKARICONNECTIONTIMEOUT=30000

SPRINGDATASOURCEHIKARIIDLETIMEOUT=600000

SPRINGDATASOURCEHIKARIMAXLIFETIME=1800000

SPRINGDATASOURCEHIKARIMAXPOOL_SIZE=20

SPRINGDATASOURCEHIKARIMINIDLE=5

Penjelasan Parameter

1. CONNECTION_TIMEOUT Menentukan berapa lama aplikasi menunggu koneksi tersedia dari pool.

ℹ️ INFO
Jika terlalu kecil:
  • aplikasi cepat timeout
  • request gagal walaupun database masih mampu menangani query
Jika terlalu besar:
  • user menunggu terlalu lama ketika database bermasalah
  • thread aplikasi dapat tertahan lebih lama

2. IDLE_TIMEOUT Menentukan kapan koneksi idle akan ditutup.

ℹ️ INFO
Jika terlalu kecil:
  • koneksi sering dibuat ulang
  • performa bisa turun karena overhead reconnect
Jika terlalu besar:
  • terlalu banyak koneksi idle menggantung di database
  • penggunaan resource database meningkat

3. MAX_LIFETIME Menentukan umur maksimal koneksi sebelum direfresh.

ℹ️ INFO
Jika terlalu kecil:
  • koneksi terlalu sering direcycle
  • performa dapat menurun
Jika terlalu besar:
  • risiko stale connection meningkat
  • bisa terkena timeout dari firewall/load balancer/database

4. MAXPOOLSIZE

Menentukan jumlah maksimum koneksi database dalam pool.

ℹ️ INFO
Jika terlalu kecil:
  • request harus antre menunggu connection
  • throughput aplikasi turun
  • sering muncul timeout pool exhausted

Jika terlalu besar:

  • database overload
  • memory database meningkat drastis
  • contention antar query meningkat
  • bisa menyebabkan ribuan koneksi terbuka

5. MIN_IDLE

Menentukan jumlah minimum koneksi standby.

ℹ️ INFO
Jika terlalu kecil:
  • aplikasi perlu sering membuat koneksi baru saat traffic naik
  • latency awal request meningkat

Jika terlalu besar:

  • terlalu banyak koneksi standby tidak terpakai
  • resource database terbuang
  • dapat menyebabkan connection flood jika nilainya ekstrem

💡 TIP
Kesimpulan

Konfigurasi HikariCP harus disesuaikan dengan kapasitas database dan kebutuhan aplikasi. Nilai terlalu kecil dapat menyebabkan bottleneck dan timeout. Nilai terlalu besar dapat menyebabkan overload database dan ribuan koneksi terbuka.

hikarispringboot