[Apache JMeter] Performance Testing
PERFORMANCE TESTING
[Apache JMeter] Performance Testing

sumber: blog.nashtechglobal.com
PERFORMANCE TESTING
Performance testing biasanya digunakan untuk memastikan apakah sebuah perangkat lunak bekerja dengan baik saat beban kerja yang diharapkan terjadi. Performance testing dilakukan untuk menghindari atau mengetahui lebih dini jika terjadi performance bottleneck.
Yang perlu dites saat melakukan performance testing biasanya ada 2, yaitu mengantisipasi jika pengguna yang mengakses berjumlah banyak dimana biasanya diukur melalui Response Time dan/atau mengantisipasi jika lalu lintas data yang padat dimana biasanya diukur melalui Throughput.
APACHE JMETER
The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.
Dengan model GUI-nya yang mudah digunakan untuk membuat test plan dan mendukung pembuatan report berbentuk html, JMeter menjadi common tool bagi tester.
JMeter juga mendukung command line mode, artinya untuk menjalankan performance testing dengan JMeter, kita dapat menjalankannya dari terminal/command prompt. Selain itu, JMeter juga dapat dijalankan di sistem operasi Windows, Linux, maupun MacOS.
DOWNLOAD & INSTALASI
Karena berbasis Java, maka untuk menggunakan JMeter, kita harus menginstal JDK terlebih dahulu. Kita dapat menggunakan JDK 8 untuk menggunakan JMeter.
MENGGUNAKAN JMETER
Opsi 1
Masuk ke folder JMeter hasil dari extract di atas, kemudian masuk ke folder bin, lalu klik 2x file jmeter.
Opsi 2
- Buka terminal/command prompt dan masuk ke direktori instalasi JMeter.
- Masuk ke folder bin.
- Ketik
**./jmeter** - Tekan Enter
Opsi 3
- Buat environment variable dengan value directory path folder bin yang ada di dalam folder JMeter hasil extract.
Misal:
/Users/paqarti/Documents/jmeter5.4/bin - Windows:
Bisa menambahkan ke variable PATH
MacOS:
Bisa menambahkan ke .bash_profile
Misal:
export PATH=$PATH:"/Users/cahklaten/Documents/jmeter5.4/bin"Linux: Bisa menambahkan ke .bashrc Misalexport PATH=$PATH:"/Users/cahklaten/Documents/jmeter5.4/bin" - Buka terminal/command prompt.
- Ketik
jmeter.
Sebelum melakukan performance testing menggunakan JMeter, maka kita perlu menentukan element di JMeter. Penulis akan memberikan contoh element, dimana artinya rekan pembaca dapat membuat element versi sendiri yang disesuaikan dengan konteks testing.
Berikut contoh basic element:
TEST PLAN
A Test Plan can be considered as a root node that has potentially many levels of additional elements / nodes that forms a hierarchy, which JMeter executes when we run test plan.
Kita bisa mengganti nama dari nama test plan default dari JMeter.
ELEMENT/NODE
Variables
Elemen Variables membuat kita dapat mengatur global variable, dimana variable dan value-nya dapat kita panggil ke elemen lain.
Langkahnya:
- Klik kanan Test Plan.
- Arahkan pointer mouse ke Add > Config Element.
- Klik User Defined Variables.
- Klik Add pada bagian bawah, untuk menambahkan variabel beserta value-nya.
Berikut elemen Variable beserta contoh variabel dan value-nya.
View Results in Table
Elemen View Result in Table adalah salah satu elemen yang menampilkan hasil testing ke dalam bentuk tabel.
Langkahnya:
- Klik kanan Test Plan.
- Arahkan pointer mouse ke Add > Listener.
- Klik View Results in Table.
View Results Tree
Elemen View Result Tree adalah salah satu elemen yang menampilkan hasil testing ke dalam bentuk tree view.
Langkahnya:
- Klik kanan Test Plan.
- Arahkan pointer mouse ke Add > Listener.
- Klik View Results Tree.
Thread Group
Thread Group adalah kumpulan dari thread. Dalam sebuah thread group, biasanya terdapat banyak request yang diuji.
Langkahnya:
- Klik kanan Test Plan.
- Arahkan pointer mouse ke Add > Threads (User).
- Klik Thread Group.
Pada thread group, minimal kita mengatur 3 hal, yaitu:
- Number of Threads (users): Mensimulasikan jumlah user.
- Ramp-up period (seconds): Total waktu yang dibutuhkan untuk jumlah user yang didefinisikan di Number of Thread.
- Loop Count: Jumlah iterasi atau perulangan tes.
Kita dapat mengisikan 3 properti di atas dengan variabel yang kita sudah atur di Variables. Jika kita mempunyai Thread Group lebih dari satu, maka penggunaan variabel akan sangat berguna, karena kita tidak perlu mengatur 3 properti di atas satu per satu untuk setiap Thread Group. Kecuali, jika kita memang akan menguji tiap Thread Group memiliki value properti yang berbeda-beda.
Cara memanggil variabel yang sudah kita atur di Variables tadi adalah dengan mengetik ${nama_variabel}.
Contoh pengaturan property:
Jika kita mengatur: Number of Threads 5 Ramp-up period 10 Loop Count 1
Maka, thread akan dilakukan sebanyak 5 kali, dimana tiap thread dilakukan selama 2 (10/5) detik sebelum berganti ke thread berikutnya. Jika Loop Count diisi 2, maka testing akan diulangi sebanyak 2 kali.
HTTP Header Manager
HTTP Header Manager adalah elemen yang dimana kita bisa mengatur informasi pada HTTP Request Header yang akan dikirimkan oleh JMeter.
Di HTTP Header Manager kita dapat mengatur seperti Content-Type, Authorization, dan header lain yang digunakan dalam sebuah endpoint atau HTTP Request. Hal ini mirip dengan pada saat kita mengatur Header di sebuah request pada Postman.
Langkahnya:
- Klik kanan Thread Group.
- Arahkan pointer mouse ke Add > Config Element.
- Klik HTTP Header Manager.
- Klik Add pada bagian bawah, untuk menambahkan header beserta value-nya.
HTTP Request
HTTP Request adalah memungkinkan kita mengirim permintaan HTTP(S) ke server web. Hal ini mirip dengan pada saat kita mengatur request di Postman.
Langkahnya:
- Klik kanan Thread Group.
- Arahkan pointer mouse ke Add > Sampler.
- Klik HTTP Request.
- Klik Add pada bagian bawah, untuk menambahkan parameter beserta value-nya (jika ada parameter-nya).
Untuk http method PUT atau CREATE, maka harus mengisi request body pada tab Body Data.
TESTING
Setelah semua persiapan dilakukan, maka kita dapat melakukan performance testing berdasarkan persiapan di atas.
Kita cukup klik tombol *play* (warna hijau) di atas untuk memulai pengujian. Untuk me-reset atau clear data, klik tombol dengan icon gear dan sapu** di atas.
Berikut beberapa screenshot dari hasil dalam bentuk tabel dan tree view.
REPORTING
JMeter memiliki fitur untuk men-generate sebuah report dengan format html. Caranya cukup mudah, yaitu dengan membuat JMeter men-generate sebuah output file dengan ekstensi .jtl.
Dengan masih mengacu pada artikel sebelumnya, kita dapat membuat file .jtl dengan cara:
- Klik salah satu listener yang sudah dibuat, misalnya View Result in Tree.
- Pada segment Write result to file/Read from file, di field Filename ketikkan direktori path beserta output file .jtl nya. Misal:
/Users/paqarti/Documents/JMeter/report.jtl - Kemudian jalankan testing dengan klik tombol Play.
- Jika sudah selesai, buka terminal/command prompt.
- Masuk ke direktori path pada step 2.
- Kemudian ketikkan:
jmeter -g report.jtl -o report-g report.jtl berarti generate file report.jtl -o report berarti ouput generate file ada di folder report
Contoh report (dashboard)
Contoh report Response Time
REFERENSI
- https://jmeter.apache.org/usermanual/index.html
- https://www.toolsqa.com/jmeter/build-jmeter-test-plan/
- http://www.testautomationguru.com/jmeter-modularizing-test-scripts/
- https://www.redline13.com/blog/2018/05/guide-jmeter-thread-groups/#:~:text=A%20Thread%20Group%20is%20a,over%20what%20period%20of%20time.
- https://www.guru99.com/jmeter-element-reference.html
메타데이터
- post_id
- 6c976c3bc1e3
- slug
- apache-jmeter-performance-testing-6c976c3bc1e3
- url
- https://medium.com/@paQArti/apache-jmeter-performance-testing-6c976c3bc1e3
- canonical_url
- https://medium.com/@paQArti/apache-jmeter-performance-testing-6c976c3bc1e3
- author_url
- https://medium.com/@paQArti
- status
- ok
- fetched_at
- 2026-06-15 20:49:13