Article

K6 Performance Testing Cara Efektif Menjaga Performa Aplikasi Tetap Optimal

5 min Read

Dalam pengembangan perangkat lunak, performance testing merupakan tahap penting untuk memastikan aplikasi tetap stabil dan responsif meskipun diakses oleh banyak pengguna secara bersamaan.

Di tengah ekspektasi pengguna yang semakin tinggi, performa aplikasi bukan lagi sekadar faktor teknis, melainkan bagian penting dari pengalaman pengguna. Aplikasi yang lambat atau tidak responsif, bahkan hanya dalam hitungan detik, bisa membuat pengguna berpindah ke layanan lain.

Hal ini menjadi semakin krusial ketika terjadi lonjakan traffic. Bayangkan jika ada 1.000 pelanggan melakukan transaksi secara bersamaan pada momen tertentu (misalnya campaign di tanggal kembar) tanpa performance testing yang memadai, aplikasi berisiko mengalami penurunan performa hingga downtime, yang pada akhirnya menimbulkan kerugian pada perusahaan.

Untuk mengantisipasi hal tersebut, berbagai tools performance testing seperti K6, JMeter, dan Locust banyak digunakan oleh tim pengembang. Namun, pada artikel kali ini kita akan berfokus membahas K6 sebagai salah satu tools modern yang banyak digunakan dalam performance testing.

Pengertian K6: Tools untuk Performance Testing

Secara sederhana K6 adalah open-source load testing tool yang merupakan salah satu tools modern yang banyak digunakan untuk melakukan performance testing. Tools ini dirancang agar mudah digunakan, efisien, serta mampu menangani skenario pengujian dengan beban (concurrent users) yang besar yang dirancang khusus untuk:

  • API performance testing
  • Microservices
  • Web applications

K6 berfokus pada kemudahan scripting, kemampuan menjalankan pengujian dalam skala besar, serta visibilitas hasil testing (observability). Hal ini membuatnya cocok digunakan oleh berbagai peran dalam tim, mulai dari developer, QA, hingga DevOps dan SRE, dalam memastikan kualitas aplikasi tetap terjaga sebelum digunakan oleh pelanggan.

Mengapa K6 Banyak Digunakan?

Beberapa keunggulan K6 yang membuatnya semakin relevan untuk kebutuhan bisnis saat ini antara lain:

  • Scripting yang mudah dipahami
    Script pengujian ditulis menggunakan JavaScript, sehingga cukup mudah dipahami oleh developer maupun tester.
  • Dibangun dengan bahasa Go
    Mesin inti K6 dibuat menggunakan bahasa Go (Golang), yang terkenal ringan dan cepat dalam menangani proses skala besar.
  • Dukungan protokol
    K6 mendukung berbagai jenis protokol untuk pengujian API, seperti:

    • HTTP/2
    • WebSocket
    • GRPC
  • Kapasitas uji beban besar
    K6 dirancang untuk pengujian dengan jumlah concurrent users yang tinggi, sehingga cocok untuk mengukur kinerja sistem dalam skenario nyata dengan traffic

Dengan kombinasi performa tinggi, kemudahan scripting, dan fleksibilitas dukungan protokol, K6 menjadi pilihan cukup populer bagi tim QA maupun DevOps dalam memastikan aplikasi tetap tangguh menghadapi berbagai kondisi beban.

Mengapa K6 Populer?

  • Scripting menggunakan JavaScript
    Lebih fleksibel dan mudah diintegrasikan dengan berbagai tools dalam workflow pengembangan. 
  • Ringan & Cepat
    Dibangun menggunakan Go (Golang), K6 dikenal sangat cepat, low-resource, dan bisa menembakkan load sangat tinggi tanpa konsumsi CPU berlebihan.
  • Fleksibel dijalankan di berbagai environment
    • Laptop lokal (CLI/Terminal)
    • Server Linux
    • Docker
    • CI/CD (GitHub Actions, GitLab CI, Jenkins)
    • Grafana Cloud k6
  • Mendukung Berbagai Jenis Pengujian
    • Load Test (steady load)
    • Stress Test (gradual naik sampai batas)
    • Spike Test (lonjakan mendadak)
    • Soak/Endurance Test (durasi lama)
    • Breakpoint Test (cari titik maksimal server)

Arsitektur Sederhana K6

K6 menjalankan pengujian dengan alur:

  1. Membuat script pengujian
  2. Menjalankan melalui K6 CLI
  3. K6 mengirimkan request
  4. Hasil dikirim ke berbagai output (console, JSON, InfluxDB, Prometheus, atau Grafana)
  5. Analisis performa metrik

Output Laporan K6

K6 memberikan metrik lengkap, seperti:

  • http_req_duration → total waktu respons
  • Vus (virtual users) → jumlah virtual pengguna
  • http_reqs → jumlah permintaan yang dikirim
  • errors / failed checks → jumlah eror atau kegagalan validasi
  • iterations per second (TPS/throughput) → jumlah permintaan yang diproses per detik

Integrasi Dengan Monitoring

Untuk kebutuhan monitoring yang lebih komprehensif, K6 dapat diintegrasikan dengan berbagai tools:

  • Grafana + InfluxDB
  • Prometheus + Grafana
  • Grafana Cloud
  • JSON (custom dashboard)

Integrasi ini memungkinkan tim melakukan monitoring performance test secara real-time, sehingga insight dapat diperoleh lebih cepat dan akurat.

Installation K6: Linux, Mac, Windows

K6 dapat diinstal pada berbagai sistem operasi seperti Linux, macOS, Windows, maupun melalui Docker. Berikut adalah panduan instalasi untuk masing-masing platform:

  1. Windows
    Di Windows bisa menggunakan beberapa cara seperti melalui chocolatey, windows package manager, maupun instal langsung dari tautan yang disediakan oleh K6. Berikut penjabarannya :

  2. MacOS
    Instalasi K6 di macOS dapat dilakukan dengan mudah menggunakan Homebrew:
    brew instal k6.
  3. Linux
    Debian/Ubuntu
    Untuk sistem berbasis Debian atau Ubuntu, jalankan perintah berikut:sudo gpg -k
    sudo gpg –no-default-keyring –keyring /usr/share/keyrings/k6-archive-keyring.gpg –keyserver hkp://keyserver.ubuntu.com:80 –recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
    echo “deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main” | sudo tee /etc/apt/sources.list.d/k6.list
    sudo apt-get update
    sudo apt-get install k6Fedora/CentOS

    Untuk distribusi Fedora atau CentOS, gunakan perintah berikut (atau yum pada versi lama):

    sudo dnf install https://dl.k6.io/rpm/repo.rpm
    sudo dnf install k6

  4. Docker
    Alternatif lain, K6 juga bisa dijalankan melalui Docker dengan perintah:
    docker pull grafana/k6.

Dengan pilihan instalasi yang fleksibel di berbagai sistem operasi, pengguna dapat menyesuaikan cara instalasi K6 sesuai kebutuhan dan lingkungan kerja masing-masing.

Verifikasi Instalasi

Setelah proses instalasi selesai, pastikan K6 sudah terpasang dengan benar dengan menjalankan perintah berikut di terminal atau command prompt:

k6 version

Jika instalasi berhasil, akan muncul informasi versi K6 yang sudah terpasang.

Setelah K6 berhasil terinstal, langkah berikutnya adalah menyiapkan code editor untuk menulis skrip pengujian. Jika belum memiliki editor, Anda bisa menggunakan editor apa saja sesuai kenyamanan. Beberapa contoh yang populer antara lain Visual Studio Code, Sublime Text, Trae atau Atom.

Contoh Script K6: Menjalankan Performance Testing dengan K6

Sebelum menjalankan performance testing menggunakan K6, kita perlu membuat script terlebih dahulu. Berikut langkah-langkahnya:

  1. Buka code editor (contoh: Visual Studio Code).
  2. Buat folder baru untuk menyimpan file script.
  3. Buka folder yang sudah dibuat sebelumnya, di code editor.

  4. Buat file baru, misalnya dengan nama script.js.
  5. Ketik script berikut :
    import http from ‘k6/http’;
    import { sleep } from ‘k6’;export let options = {
    vus: 10, // jumlah virtual users
    duration: ’30s’, // durasi pengujian
    };

    export default function () {
    http.get(‘https://test.k6.io’); // endpoint yang diuji
    sleep(1); // jeda 1 detik antar request
    }


    Penjelasan singkat mengenai script di atas adalah:

      • vus: jumlah virtual user yang mensimulasikan pengguna.
      • duration: berapa lama waktu pengujian.
      • get: endpoint apa yang akan digunakan.
      • sleep(1): memberi jeda 1 detik antar request agar simulasi lebih realistis.

Menjalankan Script

Untuk menjalankan script, buka Terminal. Jika menggunakan Visual Studio Code kita bisa langsung tekan pada keyboard Ctrl + ` dengan begitu Terminal akan muncul.

Setelah itu jalankan perintah:

k6 run script.js

Jika berhasil, K6 akan menampilkan hasil uji di terminal, termasuk statistik permintaan, waktu respons, dan eror (jika ada).

 

Wujudkan Sistem yang Lebih Andal dan Responsif

Kesimpulannya, K6 adalah salah satu tools automation untuk performance testing yang sangat efektif dalam pengujian API. K6 mampu menangani beban concurrent users dalam jumlah besar serta mendukung berbagai protokol modern seperti HTTP/2, WebSocket, dan gRPC.

Selain itu, K6 dapat dijalankan di berbagai sistem operasi (Linux, macOS, Windows, maupun Docker) sehingga fleksibel untuk digunakan di beragam sistem operasi. K6 juga mudah diintegrasikan dengan pipeline CI/CD dan dapat terhubung dengan tools monitoring seperti Grafana.

Dengan kombinasi kemudahan, performa tinggi, dan fleksibilitas, K6 tidak hanya membantu tim dari sisi teknis, tetapi juga memberikan dampak langsung pada kualitas layanan yang dirasakan pengguna. Karena pada akhirnya, aplikasi yang mampu bertahan di berbagai kondisi adalah kunci dalam menjaga kepercayaan dan kepuasan pengguna. Pelajari bagaimana K6 dapat diimplementasikan sesuai kebutuhan bisnis Anda bersama tim i3.

 

Written by: QA Consultant
Edited by: Marketing

Table of Contents

Share this article
Scroll to Top