Analisis Aggregate Report JMeter: Metrik & Cara Baca

Aggregate Report pada Apache JMeter adalah tabel ringkasan statistik yang merangkum hasil pengujian beban (load test) untuk mengukur performa, stabilitas, dan throughput aplikasi di bawah tekanan trafik. Tabel ini mengagregasi seluruh sampel request dari setiap thread/pengguna virtual dan menampilkan metrik utama mulai dari waktu respons rata-rata, persentil, tingkat error, hingga kapasitas throughput per detik.

Untuk membaca Aggregate Report secara akurat, praktisi pengujian performa harus memahami arti setiap kolom metrik dan menetapkan ambang batas (threshold) yang wajar berdasarkan standar industri seperti SLA (Service Level Agreement) sistem yang diuji.

Tabel Kolom Aggregate Report JMeter & Penjelasannya

Nama Kolom Definisi Teknis Standar / Ambang Batas Ideal
Label Nama dari HTTP Request atau transaksi yang diuji. Deskriptif per endpoint (contoh: /api/login, /checkout).
# Samples Jumlah total request yang dieksekusi untuk label tersebut. Semakin besar, semakin valid secara statistik (minimal 1000 sampel).
Average Waktu rata-rata (dalam milidetik) yang dibutuhkan untuk menyelesaikan request. < 500 ms untuk aplikasi web standar.
Median Nilai tengah waktu respons dari seluruh sampel (persentil ke-50). Mendekati nilai Average, jika terpaut jauh berarti ada lonjakan ekstrem.
90% Line Waktu respons di mana 90% dari total request selesai dikerjakan. < 1000 ms (Sangat krusial untuk evaluasi SLA).
95% Line Waktu respons di mana 95% dari total request selesai dikerjakan. < 1500 ms.
99% Line Waktu respons di mana 99% dari total request selesai dikerjakan. < 3000 ms (Mengidentifikasi latensi terburuk/tail latency).
Min Waktu respons tercepat yang tercatat untuk sebuah request. Bergantung pada kecepatan server dan jaringan lokal.
Max Waktu respons paling lambat yang tercatat selama pengujian. Harus diinvestigasi jika nilainya berkali-kali lipat dari rata-rata.
Error % Persentase request yang gagal (HTTP status 4xx/5xx atau assertion error). 0% (Ideal) atau < 1% untuk beban puncak (peak load).
Throughput Jumlah request yang berhasil diproses oleh server per satuan waktu (second/minute/hour). Semakin tinggi semakin baik, bergantung pada kapasitas infrastruktur.
KB/sec Jumlah data (bandwidth) yang diterima dari server per detik. Bergantung pada ukuranpayload response API.

Langkah-Langkah Analisis Performa Berdasarkan Data Aggregate Report

  1. Periksa Tingkat Kegagalan (Error %) Terlebih Dahulu: Jika nilai Error di atas 0%, hentikan analisis latensi. Cari tahu akar masalahnya melalui View Results Tree atau log server, apakah terjadi koneksi timeout, database deadlock, atau error 500 internal server error.
  2. Evaluasi Nilai 90% Line dan 99% Line: Jangan pernah hanya berpatokan pada nilai Average. Nilai rata-rata sering menutupi lonjakan latensi yang dialami oleh sebagian pengguna. Jika 90% line bernilai di atas 2 detik, sistem Anda mengalami bottleneck.
  3. Analisis Kapasitas Throughput: Bandingkan nilai throughput dengan target bisnis (misal: 500 transaksi per detik). Jika kurva throughput mendatar (flattening) sementara jumlah thread terus ditambah, berarti server telah mencapai titik jenuh (saturation point).
  4. Bandingkan Min, Median, dan Max: Jika selisih antara Min dan Max terlalu jauh (misal Min 50ms dan Max 15000ms), indikasikan adanya garbage collection pause pada backend, masalah pada koneksi database pool, atau cold start pada instance server cloud.

Tips Troubleshooting Lapangan

  • Bottleneck Database: Jika waktu respons melonjak pada endpoint tertentu, periksa indexing database, query SQL yang tidak optimal, atau kurangnya koneksi pool pada backend.
  • Keterbatasan Resource Mesin Penguji: Pastikan JMeter tidak berjalan kehabisan memori (OutOfMemoryError) saat melakukan simulasi beban tinggi. Gunakan mode CLI (Command Line Interface / Non-GUI mode) untuk pengujian skala besar agar hasil metrik Aggregate Report akurat dan tidak terdistorsi oleh beban GUI JMeter itu sendiri.
  • Gunakan Listener Tambahan: Padukan Aggregate Report dengan Response Time Graph atau Active Threads Over Time (melalui plugin JMeter) untuk melihat korelasi langsung antara penambahan jumlah pengguna virtual dan kenaikan waktu respons secara kronologis.