Performance Test with Locust

Refo Ilmiya
AdHub Team
Published in
3 min readMay 26, 2019

Stress Testing

Stress testing adalah sebuah konsep dimana developer melakukan aktivitas pengujian perangkat lunak di luar batas operasi normal. Tujuannya adalah untuk menentukan ketahanan perangkat lunak yang telah kita buat.

Dalam implementasinya, stress testing memungkinkan developer untuk mengetahui ketahanan suatu website. Jadi, meskipun perangkat lunak kita sudah berjalan baik di setiap fiturnya, pastikan juga setiap perangkat lunak tetap bekerja dengan maksimal saat diberi ‘beban berat’. Kita tidak bisa hanya menguji dengan data uji yang terbatas. Stress test dilakukan secara bertahap yaitu pertama dengan test kecil dan dilkanjutkan dengan maksimal user yang bisa ditangani web ,ini penting karena kita harus tau seberapa kuat web dalam menangani beban.

Banyak tool-tool yang digunakan untuk stress test diantaranya adalah locust dan website loadimpact.com

Pada postingan kali ini, Saya akan melakukan Stress test pada website adhub kami menggunakan locust untuk di local dan loadimpact.com untuk website live.

Implementasi Stress testing
Berikut adalah implementasi Stress testing untuk web Adhub

Sumber:

https://gitlab.cs.ui.ac.id/ppl-fasilkom-ui/2019/PPLA2/blob/US-30-locust_branch/locustfile.py

Terlihat dari potongan code tersebut, File tersebut mendefinisikan suatu task untuk login dan dua task untuk bernavigasi ke homepage setelah login dan mengunjungi suatu page /platform-iklan/ beberapa kali.

Parameter, min_wait dan max_wait, mendefinisikan waktu tunggu antar request dari user berbeda.

Gambar di atas menunjukkan bahwa jumlah user yang digunakan adalah 5 dan tiap detiknya akan dibuat satu user baru.

Gambar di atas memberikan informasi bahwa website mampu menangani 100 user sekaligus tanpa ada kasus pemanggilan yang gagal.

Dari gambar tersebut dapat dilihat bahwa response time yang stabil berbanding lurus dengan jumlah user.

Berikut adalah variasinya:

100 user dengan 10 hatch rate

Terlihat sangat stabil untuk 100 user dengan 10 hatch rate

500 user dengan 10 hatch rate

Terlihat web cukup stabil untuk 500 user dengan 10 hatch rate

1000 user dengan 10 hatch rate

Terdapat lonjakan di response time menandakan performa yang kurang stabil

Sedangkan dari website loadimpact, berikut adalah hasilnya,

Dari seluruh uraian di atas, dapat disimpulkan bahwa performawebsite kami baik, ditandai oleh tidak adanya request yang gagal.

--

--