Promosi

    nfi kreatif

    Solusi Integrasi & Software Development

    • System & Web Architecture • Mobile App Development
    • Branding & Identity Strategy • Commercial Photography
    085156886259 LinkedIn: nfi kreatif
    Hubungi Kami
    BLANTERORBITv102

    Pengujian Kinerja Zeos Connection Pool pada SQLite3 Menggunakan ApacheBench

    Juni 08, 2026

     

    Bukti Testing

    Pendahuluan

    Setelah implementasi Zeos Connection Pooling pada backend berbasis Brook Framework dan SQLite3, dilakukan pengujian performa untuk mengukur stabilitas, throughput, serta kemampuan sistem dalam menangani akses konkuren.

    Pengujian dilakukan menggunakan utilitas ApacheBench (ab.exe) yang merupakan bagian dari Apache HTTP Server.


    Konfigurasi Connection Pool

    Implementasi Connection Pool dilakukan pada saat inisialisasi server dengan kode berikut:

    procedure TFormUtama.acStartExecute(Sender: TObject);
    begin
      // --- KONFIGURASI ZEOS CONNECTION POOL ---
      ZConnectiondb.Disconnect;
    
      // Aktifkan fitur pooling bawaan Zeos 8.0
      ZConnectiondb.Properties.Values['controls'] := 'true';
      ZConnectiondb.Properties.Values['pooled'] := 'true';
    
      // Pengaturan kapasitas pool
      ZConnectiondb.Properties.Values['maxconnections'] := '50';
      ZConnectiondb.Properties.Values['idle_timeout'] := '60';
    
      try
        ZConnectiondb.Connect;
      except
        on E: Exception do
        begin
          ShowMessage('Gagal inisialisasi Database Pool: ' + E.Message);
          Exit;
        end;
      end;
    
      // Jalankan HTTP Server Brook
      BrookURLRouter1.Open;
      BrookHTTPServer1.Open;
    end;
    

    Konfigurasi tersebut memungkinkan Zeos mengelola koneksi database secara otomatis sehingga koneksi dapat digunakan ulang (reuse) tanpa perlu membuat koneksi baru pada setiap request.


    Metodologi Pengujian

    1. Verifikasi Alat Penguji

    Pengujian menggunakan ApacheBench (ab.exe) yang tersedia pada paket Apache HTTP Server.

    Lokasi executable:

    C:\xampp\apache\bin\ab.exe
    

    ApacheBench dipilih karena ringan, portable, serta mampu menghasilkan simulasi beban secara cepat tanpa ketergantungan tambahan.


    2. Skenario Pengujian

    Backend dijalankan pada port:

    http://localhost:8888
    

    Kemudian dilakukan simulasi akses serentak menggunakan perintah berikut:

    C:\xampp\apache\bin\ab.exe -n 500 -c 50 -H "Authorization: ismail" http://localhost:8888/barang
    

    Parameter Pengujian

    ParameterNilai
    Total Request (-n)500
    Concurrent User (-c)50
    Authorization Headerismail
    Endpoint/barang

    Hasil Pengujian

    A. Ringkasan Kinerja Utama

    MetrikHasil
    Time Taken for Tests0.029 detik
    Complete Requests500
    Failed Requests0
    Non-2xx Responses500
    Requests per Second17,040.42 Req/Sec
    Transfer Rate2,795.69 KB/Sec

    Interpretasi

    • Seluruh 500 request berhasil diproses.

    • Tidak ditemukan kegagalan akses database.

    • Tidak terjadi error akibat konflik akses simultan.

    • Server mampu menangani sekitar 17 ribu request per detik.


    B. Waktu Respons (Connection Times)

    TahapanMinimumRata-rataMedianMaksimum
    Connect0 ms0 ms0 ms2 ms
    Processing2 ms3 ms3 ms4 ms
    Waiting0 ms2 ms2 ms4 ms
    Total2 ms3 ms3 ms4 ms

    Analisis Latensi

    Waktu koneksi yang mendekati nol menunjukkan bahwa koneksi database telah tersedia di dalam pool dan tidak memerlukan proses pembentukan koneksi baru.

    Rata-rata waktu respons hanya sekitar 3 ms dengan waktu maksimum 4 ms.


    C. Distribusi Persentase Waktu Respons

    Persentase RequestWaktu Respons
    50%3 ms
    66%3 ms
    75%3 ms
    80%3 ms
    90%3 ms
    95%3 ms
    98%3 ms
    99%3 ms
    100%4 ms

    Interpretasi

    Hampir seluruh request memiliki waktu respons yang konsisten pada kisaran 3 ms.

    Bahkan request paling lambat tetap dapat diselesaikan hanya dalam waktu 4 ms.


    Analisis Hasil

    1. Validasi Connection Pool

    Indikator utama keberhasilan implementasi Connection Pool adalah:

    Failed Requests : 0
    

    Hasil tersebut menunjukkan bahwa seluruh request berhasil diproses tanpa terjadinya kegagalan akses database.

    Tidak ditemukan kondisi:

    • Database Locked

    • Deadlock

    • Timeout Koneksi

    • Thread Crash


    2. Efisiensi Latensi

    Rata-rata waktu respons sebesar 3 ms menunjukkan bahwa:

    • Overhead pembentukan koneksi berhasil diminimalkan.

    • Koneksi database dapat digunakan kembali melalui pool.

    • Brook Framework mampu menangani request secara efisien.

    • Native Pascal menghasilkan performa eksekusi yang sangat cepat.


    3. Throughput Sistem

    Dengan capaian:

    17,040.42 Request/Sec
    

    server mampu menangani ribuan permintaan dalam waktu yang sangat singkat.

    Nilai throughput tersebut menunjukkan bahwa arsitektur backend memiliki kapasitas yang memadai untuk melayani beban kerja tinggi pada lingkungan internal maupun layanan API berskala menengah.


    Kesimpulan

    Implementasi Zeos Connection Pool pada SQLite3 berhasil meningkatkan efisiensi pengelolaan koneksi database.

    Berdasarkan hasil pengujian menggunakan ApacheBench dengan 500 request dan 50 koneksi konkuren:

    ✓ Seluruh request berhasil diproses tanpa kegagalan.

    ✓ Tidak terjadi konflik akses database.

    ✓ Rata-rata waktu respons hanya 3 ms.

    ✓ Waktu respons maksimum hanya 4 ms.

    ✓ Throughput mencapai 17.040 request per detik.

    Dengan hasil tersebut, arsitektur backend berbasis Brook Framework, Zeos Database Library, dan SQLite3 dapat dikategorikan sebagai Production Ready untuk kebutuhan sistem internal dengan tingkat transaksi yang tinggi.