Apidog

Platform Pengembangan API Kolaboratif All-in-one

Desain API

Dokumentasi API

Debug API

Mocking API

Pengujian Otomatis API

Apa itu Throughput dalam Pengujian Performa? Dijelaskan dengan Jelas

Artikel teknis ini membahas throughput: definisi, cara ukur, dan pentingnya dalam pengujian performa.

Ardianto Nugroho

Ardianto Nugroho

Updated on March 29, 2025

Dalam dunia pengujian kinerja, throughput adalah salah satu metrik paling penting namun sering disalahpahami. Sebagai insinyur kinerja dan profesional QA, memiliki pemahaman yang jelas tentang throughput sangat penting untuk mengukur kinerja aplikasi secara akurat dan mengidentifikasi potensi hambatan. Artikel teknis komprehensif ini akan membahas apa itu throughput, bagaimana cara mengukurnya, dan mengapa itu penting dalam skenario pengujian kinerja.

Sebelum membahas metrik throughput, perlu dicatat bahwa pengujian kinerja yang efektif sering kali dimulai dengan kemampuan pengujian API yang kuat.

APIdog telah muncul sebagai alternatif Postman komprehensif yang menyederhanakan pengembangan, pengujian, dan dokumentasi API dalam satu platform terpadu.

button

Dengan fitur-fitur seperti pengujian otomatis, pemantauan kinerja, dan alur kerja kolaboratif, APIdog menyediakan fondasi penting untuk memahami bagaimana kinerja API Anda di bawah beban—menjadikannya alat pendamping yang berharga saat melakukan pengujian throughput yang akan kita bahas dalam artikel ini.

Dengan menetapkan fungsionalitas API dasar dengan alat seperti APIdog, Anda dapat lebih efektif menganalisis hambatan throughput dalam strategi pengujian kinerja Anda yang lebih luas.

button

Mendefinisikan Throughput dalam Pengujian Kinerja

Throughput dalam pengujian kinerja dapat didefinisikan dalam tiga cara utama:

  1. Jumlah Transaksi Selama Waktu Tertentu: Pada dasarnya, throughput adalah jumlah transaksi yang dihasilkan selama periode tertentu dalam pengujian. Ini mengukur berapa banyak permintaan atau operasi yang dapat ditangani sistem Anda dalam jangka waktu tertentu.
  2. Pengukuran Kapasitas yang Dibutuhkan: Throughput menyatakan jumlah kapasitas yang dapat ditangani oleh sebuah situs web atau aplikasi, yang menunjukkan kemampuan pemrosesannya di bawah berbagai kondisi beban.
  3. Metrik Tujuan Kinerja: Sebelum memulai pengujian kinerja, organisasi biasanya menetapkan tujuan throughput—jumlah permintaan per jam tertentu yang harus berhasil diproses oleh aplikasi.

Dalam istilah teknis, throughput umumnya dinyatakan sebagai transaksi per detik (TPS) atau permintaan per detik (RPS), menjadikannya unit pengukuran mendasar dalam pengujian kinerja.

Throughput dalam Konteks Dunia Nyata: Sebuah Analogi

Untuk memahami throughput dalam istilah praktis, pertimbangkan analogi ini:

Bayangkan sebuah pom bensin bernama "Joe's Gas" dengan tiga pompa. Setiap petugas membutuhkan waktu tepat satu menit untuk mengisi mobil apa pun, terlepas dari ukuran tangki. Dengan batasan ini, Joe's Gas memiliki throughput maksimum tiga mobil per menit—tidak peduli berapa banyak mobil yang datang, stasiun hanya dapat melayani tiga per menit.

Ini mewakili konsep kinerja penting: throughput maksimum adalah batasan batas atas tetap. Ketika lebih banyak kendaraan tiba daripada yang dapat diproses (lebih dari tiga per menit), mereka membentuk antrean dan harus menunggu.

Prinsip yang sama berlaku untuk aplikasi web. Jika sebuah aplikasi menerima 50 permintaan per detik tetapi hanya dapat memproses 30 transaksi per detik, 20 permintaan tambahan berakhir menunggu dalam antrean, yang berpotensi menyebabkan penundaan dan penurunan pengalaman pengguna.

Mengukur Throughput dalam Pengujian Kinerja

Alat pengujian kinerja seperti LoadRunner, JMeter, dan k6 dilengkapi dengan monitor throughput yang membantu memvisualisasikan dan menganalisis metrik ini selama pengujian. Proses pengukuran throughput tipikal mengikuti pola ini:

  1. Fase Peningkatan: Saat pengguna virtual mulai membuat permintaan, throughput meningkat secara proporsional.
  2. Keadaan Stabil: Setelah semua pengguna aktif dan bekerja dalam pola yang konsisten, throughput biasanya stabil pada dataran tinggi.
  3. Penemuan Batas Atas: Untuk mengidentifikasi throughput maksimum suatu lingkungan, penguji secara bertahap meningkatkan beban pengguna hingga throughput berhenti meningkat atau mulai menurun.
  4. Identifikasi Hambatan: Ketika throughput mendatar atau menurun meskipun beban pengguna meningkat, ini biasanya menunjukkan adanya hambatan dalam aplikasi.

Menganalisis Hasil Throughput: Tiga Skenario Pengujian

Mari kita periksa tiga skenario pengujian throughput yang berbeda dan apa yang mereka ungkapkan:

Skenario Pengujian #1: Throughput Sehat

Dalam pola throughput yang sehat dengan 25 pengguna bersamaan, kita mengamati bahwa setelah semua pengguna masuk dan aktif, throughput tetap relatif konsisten. Throughput yang stabil ini menunjukkan bahwa sistem menangani beban secara efisien tanpa penurunan.

Skenario Pengujian #2: Throughput yang Menurun

Dalam skenario yang mengkhawatirkan ini, throughput awalnya meningkat saat pengguna masuk, tetapi setelah semua pengguna aktif, throughput tiba-tiba anjlok alih-alih stabil. Pola ini biasanya menunjukkan hambatan kinerja yang parah.

Skenario Pengujian #3: Identifikasi Hambatan Basis Data

Dengan melapisi data throughput dengan metrik diagnostik (seperti bagan 'J2EE – Transaction Time Spent in Element' dari HP Diagnostics), kita dapat mengidentifikasi akar penyebab masalah throughput. Dalam contoh ini, lapisan basis data menghabiskan waktu pemrosesan yang berlebihan, membuat antrean permintaan dan meningkatkan waktu respons.

Faktor-Faktor yang Mempengaruhi Throughput dan Latensi Jaringan

Beberapa faktor teknis dapat berkontribusi pada penurunan throughput dan peningkatan latensi:

Masalah Perangkat Keras

  • Peralatan Usang atau Rusak: Router yang ketinggalan zaman atau perangkat yang tidak berfungsi dapat secara signifikan membatasi efisiensi aliran data
  • Keterbatasan Infrastruktur Jaringan: Keterbatasan fisik dalam arsitektur jaringan yang membatasi bandwidth

Faktor Terkait Jaringan

  • Lalu Lintas Padat: Permintaan bersamaan yang berlebihan menyebabkan kehilangan paket
  • Penundaan Propagasi: Waktu yang dibutuhkan paket untuk melakukan perjalanan antar titik dengan kecepatan cahaya
  • Media Transmisi: Media yang berbeda (serat optik, nirkabel, tembaga) memiliki kemampuan throughput yang berbeda
  • Ukuran Paket: Paket yang lebih besar membutuhkan lebih banyak waktu untuk ditransmisikan dan diterima

Penundaan Pemrosesan

  • Waktu Pemrosesan Router: Node gateway harus memeriksa dan berpotensi memodifikasi header paket
  • Penundaan Komputer dan Penyimpanan: Perangkat perantara seperti switch dapat menyebabkan penundaan selama penyimpanan dan akses disk
  • Amplifikasi Sinyal: Repeater yang digunakan untuk memperkuat sinyal dapat menyebabkan latensi tambahan

Alat untuk Mengukur dan Memantau Throughput

Pengujian kinerja yang efektif membutuhkan alat yang sesuai untuk mengukur throughput. Opsi umum meliputi:

  1. Simple Network Management Protocol (SNMP): Protokol lapisan aplikasi untuk mengelola dan memantau perangkat jaringan, menyediakan metode komunikasi universal untuk perangkat di lingkungan vendor tunggal dan multi-vendor. SNMP v3 menawarkan fitur keamanan tingkat lanjut.
  2. Windows Management Instrumentation (WMI): Kumpulan spesifikasi Microsoft untuk memusatkan pengelolaan perangkat dan aplikasi yang didukung Windows, menyediakan akses ke status sistem, konfigurasi, dan pengaturan keamanan.
  3. tcpdump: Alat baris perintah sumber terbuka untuk memantau dan menangkap lalu lintas jaringan, menampilkan header paket dan mendukung operator pencarian Boolean untuk pemfilteran.
  4. Wireshark: Alat analisis lalu lintas jaringan sumber terbuka komprehensif yang memberikan wawasan tentang waktu transmisi, protokol, header, dan informasi sumber/tujuan.
  5. Alat Pengujian Kinerja: Sebagian besar alat pengujian kinerja khusus seperti LoadRunner, JMeter, dan k6 menyertakan pemantauan throughput bawaan, meskipun mereka mungkin menyebutnya sebagai "permintaan per detik."

Hubungan Antara Throughput dan Metrik Kinerja Lainnya

Throughput tidak ada secara terpisah—ia saling berhubungan dengan metrik kinerja penting lainnya:

Throughput vs. Waktu Respons

Throughput yang lebih tinggi sering kali menyebabkan peningkatan waktu respons karena sistem memproses lebih banyak permintaan. Tujuan dari optimasi adalah untuk memaksimalkan throughput sambil mempertahankan waktu respons yang dapat diterima.

Throughput vs. Pengguna Bersamaan

Biasanya ada korelasi antara beban pengguna dan throughput hingga titik tertentu. Setelah mencapai kapasitas maksimum, throughput dapat mendatar atau menurun terlepas dari pengguna tambahan.

Throughput vs. Pemanfaatan Sumber Daya

Sumber daya sistem (CPU, memori, disk I/O, jaringan) secara langsung memengaruhi kapasitas throughput. Memantau pemanfaatan sumber daya bersamaan dengan throughput membantu mengidentifikasi hambatan terkait perangkat keras.

Mengoptimalkan Throughput dalam Pengujian Kinerja

Berdasarkan analisis throughput, beberapa strategi optimasi dapat diterapkan:

  1. Penskalaan Horizontal: Menambahkan lebih banyak server untuk mendistribusikan beban dan meningkatkan kapasitas throughput keseluruhan
  2. Penskalaan Vertikal: Meningkatkan perangkat keras yang ada (lebih banyak inti CPU, RAM, disk yang lebih cepat) untuk meningkatkan kemampuan pemrosesan
  3. Optimasi Kode: Memfaktorkan ulang algoritma dan kueri basis data yang tidak efisien yang membatasi throughput
  4. Penggabungan Koneksi: Membuat dan menggunakan kembali koneksi basis data untuk mengurangi overhead
  5. Strategi Caching: Menerapkan caching yang sesuai untuk mengurangi beban komputasi untuk permintaan berulang
  6. Penyeimbangan Beban: Mendistribusikan permintaan masuk ke beberapa server untuk mengoptimalkan pemanfaatan sumber daya

Kesimpulan: Pentingnya Throughput dalam Pengujian Kinerja

Throughput adalah salah satu metrik paling penting dalam pengujian kinerja, memberikan wawasan langsung tentang kemampuan pemrosesan aplikasi di bawah berbagai kondisi beban. Dengan memahami pola throughput dan hubungannya dengan indikator kinerja lainnya, penguji dapat:

  1. Menetapkan tujuan kinerja yang realistis berdasarkan persyaratan bisnis
  2. Mengidentifikasi hambatan sistem sebelum memengaruhi lingkungan produksi
  3. Membuat keputusan berdasarkan data tentang penskalaan dan optimasi infrastruktur
  4. Memvalidasi bahwa peningkatan kinerja benar-benar memberikan peningkatan kapasitas

Untuk pengujian kinerja yang komprehensif, throughput harus selalu dianalisis bersama metrik terkait seperti waktu respons, tingkat kesalahan, dan pemanfaatan sumber daya untuk memberikan gambaran lengkap tentang kinerja aplikasi. Dengan menguasai analisis throughput, insinyur kinerja dapat memastikan aplikasi memberikan kinerja yang konsisten dan andal bahkan dalam kondisi beban puncak.

Saat kita telah menjelajahi peran penting throughput dalam pengujian kinerja, ada baiknya meninjau kembali bagaimana alat seperti APIdog dapat melengkapi strategi pengujian Anda secara keseluruhan.

button

Dengan menggunakan APIdog untuk validasi API awal dan simulasi beban sebelum pengujian kinerja skala penuh, tim dapat mengidentifikasi potensi hambatan throughput di tingkat API sejak dini dalam siklus pengembangan. Antarmuka APIdog yang intuitif memungkinkan tim untuk dengan cepat membuat, memvalidasi, dan mendokumentasikan titik akhir API, sementara kemampuan pemantauan kinerjanya memberikan wawasan awal tentang waktu respons dan batasan throughput.

Pekerjaan persiapan dengan APIdog ini menciptakan transisi yang lebih lancar ke pengujian throughput yang komprehensif, memungkinkan upaya optimasi kinerja yang lebih terarah. Ketika pengujian kinerja yang komprehensif mengungkapkan masalah throughput, memiliki struktur API yang terdokumentasi dengan baik di APIdog memudahkan untuk mengisolasi dan mengatasi titik akhir tertentu yang berkontribusi pada hambatan, menciptakan alur kerja pengujian kinerja yang lebih efisien.

button