Firebird Monitoring Dashboard

26 Mei 2026  ·  09:42 – 11:07  ·  53 snapshot

Total Snapshot

53

09:42 → 11:07

Koneksi Puncak

104

DLGP  16:42

OIT Gap Tertinggi

305.356

DLGP  17:13

Database Offline

LG2026

DLGP · terdeteksi 11:07

Panduan Istilah & Konteks

Laporan ini menganalisis performa database Firebird menggunakan data monitoring real-time. Sebelum membaca grafik dan analisis, kenali terlebih dahulu istilah-istilah berikut agar pemahaman lebih mudah.

Firebird RDBMS 26 Mei 2026 3 Database: DLN, DFE, DLGP

Metrik Utama Database Firebird

OIT

Oldest Interesting Transaction

Nomor transaksi tertua yang masih aktif di database — belum di-commit atau rollback. Firebird harus menyimpan semua versi data sejak transaksi OIT dimulai.

Dampak

OIT yang "tertahan" membuat database tidak bisa membersihkan data lama → performa menurun drastis.

OIT Gap

Indikator Kesehatan Utama

Selisih antara Next Transaction (transaksi terbaru) dan OIT (transaksi terlama). Semakin besar selisih ini, semakin berat beban database.

Rumus

OIT Gap = Next Transaction − OIT

< 50k = SEHAT 50k–200k = WASPADA > 200k = BAHAYA

Next Transaction

Penghitung Transaksi Global

Nomor urutan transaksi berikutnya yang akan dibuat oleh Firebird. Angka ini terus bertambah setiap ada aktivitas di database — tidak bisa berkurang.

Saat Next Transaction terus naik tapi OIT tidak bergerak → OIT Gap membesar → database melambat.

Jenis Koneksi & Transaksi

Koneksi Active

Sedang Mengeksekusi SQL

Koneksi yang sedang aktif menjalankan query atau operasi SQL saat ini. Normal jika jumlahnya proporsional dengan jumlah user aktif.

Umumnya tidak menjadi masalah selama transaksinya cepat selesai.

Koneksi Idle

⚠ Sumber Masalah Utama

Koneksi yang terhubung ke database tapi tidak aktif menjalankan SQL. Berbahaya jika koneksi ini membiarkan transaksi tetap terbuka tanpa COMMIT/ROLLBACK.

Analogi

Seperti kapal yang "jangkar" di pelabuhan — memblokir jalur meski tidak sedang bongkar-muat. OIT tidak bisa maju selama jangkar ini masih ada.

Long-running TX

Transaksi > 10 Menit

Transaksi yang berjalan lebih dari 10 menit tanpa COMMIT atau ROLLBACK. Ini adalah penyebab langsung OIT tidak bisa maju.

Dalam laporan ini

DLGP punya rata-rata 153 long TX per snapshot vs DLN hanya 90. Inilah penyebab DLGP crash lebih dulu.

Operasi Penting Database

COMMIT

Simpan Transaksi

Perintah untuk menyimpan transaksi secara permanen ke database. Setelah COMMIT, Firebird bisa membebaskan snapshot transaksi dan OIT bisa maju.

Setelah COMMIT, koneksi Idle tidak lagi menahan OIT.

ROLLBACK

Batalkan Transaksi

Perintah untuk membatalkan semua perubahan dalam transaksi berjalan. Sama pentingnya dengan COMMIT — keduanya "membebaskan" transaksi dari daftar OIT Firebird.

Aplikasi harus selalu COMMIT atau ROLLBACK — tidak boleh membiarkan transaksi "tergantung".

Firebird Sweep

Pembersihan Database

Proses otomatis Firebird untuk menghapus versi record lama yang sudah tidak diperlukan. Jika Sweep tidak berjalan secara teratur, database makin lambat dan OIT Gap terus membesar.

Status Database dalam Laporan Ini

Status dihitung dari nilai OIT Gap pada setiap snapshot

SEHAT

OIT Gap < 50.000

Database berjalan normal. Performa optimal, tidak ada tindakan yang diperlukan.

WASPADA

50.000 – 200.000

Database mulai melambat. Perlu dipantau, identifikasi koneksi Idle bermasalah.

BAHAYA!

> 200.000

Database sangat berat. Tindakan segera diperlukan — risiko crash tinggi.

OFFLINE

Tidak Merespons

Database crash atau tidak dapat diakses. Perlu restart dan investigasi.

Konteks Laporan Ini

Snapshot

Satu file CSV hasil export dari tool monitoring Firebird pada satu titik waktu. Laporan ini memiliki 53 snapshot yang diambil setiap ~10 menit, mencakup 2 hari (25 dan 26 Mei 2026).

OIT Gap Growth Rate

Kecepatan pertumbuhan OIT Gap per menit. Dihitung dari selisih Gap antara snapshot pertama dan terakhir dibagi durasi pemantauan. DLGP: 754/menit, DLN: 547/menit.

Korelasi Pearson (r)

Ukuran kekuatan hubungan antara dua variabel. r = +1.0 = korelasi positif sempurna. Dalam laporan ini: mengukur seberapa kuat kenaikan Koneksi Idle mempengaruhi naiknya OIT Gap.

Tampilan Per Jam / Per 10 Mnt

Toggle di pojok kanan atas header. Per Jam: data dirata-ratakan per jam → grafik lebih bersih dan mudah dibaca. Per 10 Mnt: data mentah untuk analisis detail.

Siap membaca analisis?

Mulai dari Ringkasan untuk melihat jawaban apakah koneksi mempengaruhi OIT Gap, atau langsung ke Diagnosis DLGP untuk memahami mengapa LG2026 crash.

Kronologi Insiden

  • DLGP masuk zona WASPADA (Gap 54.989, 36 idle conn). DLN masih SEHAT (32.749). Selisih mulai melebar.

  • 91 koneksi DLGP, OIT Gap 70.496, Long TX 223. DLN: Gap 47.534, Long TX 98. Beban DLGP hampir 2× lebih berat.

  • DLGP Gap 122.908 — tumbuh 37% lebih cepat dari DLN (80.653). Long TX DLGP 228 vs DLN 129.

  • DLGP gap meledak ke 134.725. Firebird kehabisan kemampuan mengalokasikan transaksi baru. DLGP OFFLINE.

  • DLN masih WASPADA (Gap 100.367, 21 idle). Selamat karena beban lebih ringan dan baseline lebih bersih.

Mengapa DLGP Crash, DLN Tidak?

DLGP jauh lebih sibuk dan memiliki lebih banyak koneksi Idle yang tidak terkelola

Rata-rata Koneksi Idle

19.7vs32.01.6× lebih banyak

Tiap koneksi idle = jangkar yang menahan OIT tidak bisa maju

Rata-rata Long-running TX

90.4vs153.51.7× lebih banyak

Transaksi > 10 menit = penyebab utama OIT tidak bisa advance

Pertumbuhan Gap per Menit

547/mntvs754/mntDLGP 38% lebih cepat

DLGP mencapai batas crash lebih awal dari DLN

Grafik Perbandingan DLN vs DLGP — 26 Mei 2026

Perbandingan (jam)
Perbandingan (10mnt)

1 — Lebih Banyak Idle

DLGP rata-rata 32.0 koneksi Idle (DLN: 19.7 — 1.6× lebih banyak). Setiap idle conn = jangkar yang mencegah OIT maju.

2 — Long TX Lebih Banyak

DLGP rata-rata 153.5 long TX vs DLN 90.4 (1.7× lebih banyak). TX > 10 menit = penyebab utama OIT tidak bisa advance.

Rekomendasi Perbaikan Aplikasi Self-developed

StockFina dan Bravo dikembangkan sendiri — implementasi wajib ditambahkan

stockfina.exe — Aplikasi Cek Stok

Membuka banyak koneksi saat user browse stok, tidak menutupnya setelah selesai

Connection Pooling

Batasi maks 2 koneksi aktif per user via TFDConnection PoolMaximumItems=2. Koneksi tidak terpakai dikembalikan ke pool otomatis.

Idle Timeout

Set ConnectionTimeout=180 (3 menit). Koneksi idle > 3 mnt otomatis disconnect dan reconnect saat dibutuhkan.

Commit setelah Read-only

Setiap SELECT yang selesai wajib diikuti Transaction.Commit atau Rollback — meskipun hanya baca. Ini membebaskan snapshot di Firebird.

Try-Finally Block

Bungkus semua operasi DB dalam try...finally. Blok finally pastikan koneksi selalu ditutup meskipun ada exception — cegah koneksi "zombie".

bravo.exe — Aplikasi Internal

Berpotensi menggunakan single koneksi global atau lupa rollback saat form ditutup

Hindari Singleton Connection

Jangan simpan 1 koneksi global sepanjang aplikasi berjalan. Pola yang benar: Open → Query → Commit → Close setiap siklus operasi.

Commit saat Form Ditutup

Di event OnClose/OnDestroy tiap form yang akses DB, pastikan ada Rollback (atau Commit) sebelum koneksi dilepas.

Connection Health Check

Cek Connection.Connected sebelum pakai. Jika stale, reconnect otomatis daripada lempar error ke user.

AutoCommit pada Operasi Kecil

Aktifkan AutoCommit=True untuk insert/update kecil — setiap statement langsung selesai, tidak menggantung sebagai transaksi terbuka.

Rekomendasi Server-side (DLGP)

  • Jadwalkan gfix -sweep setiap malam
  • Set SweepInterval = 10000 di firebird.conf
  • Alert otomatis jika OIT Gap > 50.000
  • Dedicated server DLGP jika traffic lebih tinggi dari DLN

Koneksi per Database

Solid = Total  ·  Putus = Idle  ·  Titik = OIT Gap (axis kanan)

Koneksi Semua (jam)
Koneksi Semua (10mnt)
Koneksi DFE (jam)
Koneksi DFE (10mnt)
Koneksi DLGP (jam)
Koneksi DLGP (10mnt)
Koneksi DLN (jam)
Koneksi DLN (10mnt)

Koneksi per Aplikasi

Setiap garis = 1 aplikasi. Angka = total koneksi (Active + Idle).

App Semua (jam)
App Semua (10mnt)
App DFE (jam)
App DFE (10mnt)
App DLGP (jam)
App DLGP (10mnt)
App DLN (jam)
App DLN (10mnt)

Breakdown Aplikasi saat Puncak OIT Gap

Snapshot dengan OIT Gap tertinggi per database

DB Waktu Aplikasi Active Idle Total
DFE17:13Fina7714
DFE17:13StockFina12012
DFE17:13Lainnya011
DFE17:13Bravo011
DLGP17:13Fina302959
DLGP17:13StockFina12012
DLGP17:13Lainnya022
DLN17:13Fina131326
DLN17:13StockFina12012
DLN17:13Lainnya011

fina.exe & stockfina.exe mendominasi koneksi Idle — setiap window yang dibuka user = 1 koneksi baru ke Firebird.

OIT Gap Timeline

SEHAT < 50k WASPADA 50k–200k BAHAYA > 200k
OIT Gap Semua (jam)
OIT Gap Semua (10mnt)
OIT Gap DFE (jam)
OIT Gap DFE (10mnt)
OIT Gap DLGP (jam)
OIT Gap DLGP (10mnt)
OIT Gap DLN (jam)
OIT Gap DLN (10mnt)

Status, Long TX & IO

Pilih tampilan menggunakan tombol di bawah

Hijau=SEHAT · Kuning=WASPADA · Merah=BAHAYA · Abu=OFFLINE. Kotak merah = periode insiden.

Status Heatmap

Transaksi berjalan > 10 menit yang belum di-commit/rollback — ini penyebab langsung OIT tidak maju.

Long TX (jam)
Long TX (10mnt)

Delta pages per menit — selisih antar snapshot. Solid = Reads, titik-titik = Writes.

IO Activity (jam)
IO Activity (10mnt)

Data Semua Snapshot

Baris oranye = dalam periode insiden

Waktu DB Status OIT Gap Conn Act Idle LongTX
09:42:15DFESEHAT14130
09:58:58DFESEHAT2.718241868
10:09:36DFESEHAT5.4262418615
10:19:33DFESEHAT8.7763024614
10:29:54DFESEHAT11.6253125623
10:39:44DFESEHAT14.3353125618
10:49:17DFESEHAT17.1473427723
10:59:47DFESEHAT20.2083428625
11:10:02DFESEHAT22.3253328521
11:19:54DFESEHAT26.7003932724
11:29:13DFESEHAT24.8484133840
11:39:28DFESEHAT29.2254334946
11:49:40DFESEHAT33.4854536953
12:00:31DFESEHAT37.9814132947
12:10:19DFESEHAT42.06843331051
12:19:34DFESEHAT45.82943331057
12:49:05DFEWASPADA57.72244341059
12:59:44DFEWASPADA62.01043331056
13:10:07DFEWASPADA66.2144031951
13:20:22DFEWASPADA65.1854132948
13:30:22DFEWASPADA69.58643331049
13:40:33DFEWASPADA73.96443331045
13:50:39DFEWASPADA78.08443331054
15:09:36DFEWASPADA111.50446351149
15:21:24DFEWASPADA116.63748361257
15:31:21DFEWASPADA121.06551381363
15:40:20DFEWASPADA124.74153401376
15:50:19DFEWASPADA128.77652401266
16:00:56DFEWASPADA133.09152401269
16:11:06DFEWASPADA137.22151391272
16:21:24DFEWASPADA141.43648371158
16:31:22DFEWASPADA145.56448371165
16:42:50DFEWASPADA150.23247361163
17:00:18DFEWASPADA155.63845341160
17:13:22DFEWASPADA159.2892819941
08:06:35DFESEHAT16244
08:17:18DFESEHAT1128446
08:27:18DFESEHAT1.2038446
08:37:22DFESEHAT2.6338447
08:47:21DFESEHAT4.30413768
08:57:07DFESEHAT6.1032012815
09:07:40DFESEHAT7.6792315825
09:19:56DFESEHAT5.7222718926
09:32:05DFESEHAT9.1432718932
09:46:15DFESEHAT13.1142920936
09:56:39DFESEHAT15.9863122936
10:07:09DFESEHAT17.9493021939
10:17:13DFESEHAT21.09534231139
10:26:30DFESEHAT23.67737261141
10:36:13DFESEHAT26.32638271151
10:47:26DFESEHAT30.66243311243
10:56:44DFESEHAT34.94042301247
11:07:21DFESEHAT39.99943311252
09:42:15DLGPSEHAT22210460
09:58:58DLGPSEHAT7.29346291752
10:09:36DLGPSEHAT10.19548301887
10:19:33DLGPSEHAT13.13957372094
10:29:54DLGPSEHAT19.792613922106
10:39:44DLGPSEHAT25.405634122123
10:49:17DLGPSEHAT39.009654322139
10:59:47DLGPSEHAT44.465714724155
11:10:02DLGPSEHAT49.142785127178
11:19:54DLGPWASPADA52.149795227199
11:29:13DLGPWASPADA55.566765026193
11:39:28DLGPWASPADA58.744765026189
11:49:40DLGPWASPADA63.331825428204
12:00:31DLGPWASPADA67.229764927204
12:10:19DLGPWASPADA69.953744925205
12:19:34DLGPWASPADA72.508755025210
12:49:05DLGPWASPADA81.199765026216
12:59:44DLGPWASPADA84.086754926213
13:10:07DLGPWASPADA87.624754926199
13:20:22DLGPWASPADA92.407805228209
13:30:22DLGPWASPADA96.050825329216
13:40:33DLGPWASPADA99.326825329217
13:50:39DLGPWASPADA103.590855530220
15:09:36DLGPWASPADA156.753895831222
15:21:24DLGPWASPADA183.274885731236
15:31:21DLGPWASPADA188.272936033229
15:40:20DLGPWASPADA197.119936132235
15:50:19DLGPBAHAYA!204.0681006535240
16:00:56DLGPBAHAYA!223.4041006535257
16:11:06DLGPBAHAYA!245.712986335253
16:21:24DLGPBAHAYA!252.6721036538263
16:31:22DLGPBAHAYA!257.5431036538287
16:42:50DLGPBAHAYA!262.9531046539279
17:00:18DLGPBAHAYA!269.928955936271
17:13:22DLGPBAHAYA!305.356734231231
08:06:35DLGPSEHAT13.4451881010
08:17:18DLGPSEHAT17.96730151534
08:27:18DLGPSEHAT24.70140202066
08:37:22DLGPSEHAT28.34342212186
08:47:21DLGPSEHAT35.37955272885
08:57:07DLGPSEHAT40.330623329112
09:07:40DLGPSEHAT44.175653629151
09:19:56DLGPWASPADA54.989824636154
09:32:05DLGPWASPADA62.181864838201
09:46:15DLGPWASPADA70.496915140223
09:56:39DLGPWASPADA76.596915140220
10:07:09DLGPWASPADA83.570935241215
10:17:13DLGPWASPADA88.895955342230
10:26:30DLGPWASPADA94.472965541221
10:36:13DLGPWASPADA122.908995841228
10:47:26DLGPWASPADA134.725995841220
10:56:44DLGPOFFLINE00000
11:07:21DLGPOFFLINE00000
09:42:15DLNSEHAT17340
09:58:58DLNSEHAT11.07948311777
10:09:36DLNSEHAT17.54550321894
10:19:33DLNSEHAT24.150563719101
10:29:54DLNSEHAT30.748614021123
10:39:44DLNSEHAT37.542674423123
10:49:17DLNSEHAT43.063664323139
10:59:47DLNSEHAT48.860684523152
11:10:02DLNWASPADA55.262714724159
11:19:54DLNWASPADA60.638734924166
11:29:13DLNWASPADA66.484744925159
11:39:28DLNWASPADA72.822765026161
11:49:40DLNWASPADA79.014785226163
12:00:31DLNWASPADA85.158724725158
12:10:19DLNWASPADA90.199734825176
12:19:34DLNWASPADA95.180734825178
12:49:05DLNWASPADA110.583744925182
12:59:44DLNWASPADA116.369734825180
13:10:07DLNWASPADA121.006754827173
13:20:22DLNWASPADA126.655754827174
13:30:22DLNWASPADA132.537714724164
13:40:33DLNWASPADA138.226714724168
13:50:39DLNWASPADA144.519724824181
15:09:36DLNWASPADA195.942825329227
15:21:24DLNBAHAYA!202.835805228219
15:31:21DLNBAHAYA!208.805835429223
15:40:20DLNBAHAYA!214.744885731226
15:50:19DLNBAHAYA!220.286885830226
16:00:56DLNBAHAYA!226.813885830236
16:11:06DLNBAHAYA!232.298875730235
16:21:24DLNBAHAYA!238.330875730237
16:31:22DLNBAHAYA!244.317865531233
16:42:50DLNBAHAYA!250.799835429231
17:00:18DLNBAHAYA!260.165664422174
17:13:22DLNBAHAYA!264.858392514143
08:06:35DLNSEHAT1.4277349
08:17:18DLNSEHAT1.260179815
08:27:18DLNSEHAT6.36123121128
08:37:22DLNSEHAT10.51323121158
08:47:21DLNSEHAT15.93032171562
08:57:07DLNSEHAT20.99842231967
09:07:40DLNSEHAT26.27847272076
09:19:56DLNSEHAT32.749533122103
09:32:05DLNSEHAT39.576533023112
09:46:15DLNSEHAT47.53455322398
09:56:39DLNWASPADA54.640613625111
10:07:09DLNWASPADA60.725613625134
10:17:13DLNWASPADA67.771613625121
10:26:30DLNWASPADA74.136664026124
10:36:13DLNWASPADA80.653674126129
10:47:26DLNWASPADA88.213714526134
10:56:44DLNWASPADA94.728664224119
11:07:21DLNWASPADA100.367634221128