Pengantar Pengujian Kinerja menggunakan JMeter

1. Ikhtisar

Pada artikel ini, kami akan menggunakan Apache JMeter untuk mengonfigurasi dan menjalankan tes kinerja.

2. Menyiapkan JMeter

Mari unduh JMeter, unzip, buka folder bin dan jalankan executable (* .bat untuk Windows dan * .sh untuk Linux / Unix).

Selanjutnya, kita hanya perlu menambahkan folder ini ke variabel lingkungan jalur sehingga dapat diakses dari baris perintah.

Versi paling stabil pada saat penulisan adalah 3.3 - kita dapat memeriksa versi terbaru di sini.

3. Membuat Skrip JMeter

Sekarang mari kita tulis skrip JMeter pertama kita (file yang berisi deskripsi teknis pengujian kita).

API ini adalah aplikasi SpringBoot sederhana yang mengekspos REST API.

Mari perbarui rencana Tes satu dan ubah namanya terlebih dahulu, lalu tambahkan Grup Untaian .

Sebuah Thread Grup memungkinkan kita untuk mengetahui aliran pengguna dan mensimulasikan bagaimana mereka berinteraksi dengan aplikasi, klik kanan pada nama script kami di GUI dan mengikuti menu yang dipilih:

Sekarang kita menuju ke bagian konfigurasi dari Thread Group , di mana kita menentukan jumlah pengguna yang membuat permintaan ke aplikasi kita secara paralel:

Di sini, kami menentukan parameter seperti:

- Nama: nama yang ingin kami berikan ke grup utas

- Jumlah Thread (pengguna) : jumlah pengguna paralel

- Waktu peningkatan : waktu yang dibutuhkan untuk beralih dari 0 ke jumlah pengguna yang dinyatakan

- Jumlah loop : jumlah pengulangan

Tambahkan Permintaan HTTP karena itu yang akan kita simulasikan berasal dari masing-masing dari 5 pengguna.

Mari isi info ke alamat API kami yang dijelaskan di sana seperti pada gambar di bawah ini:

Kami hanya mengisi alamat situs web, port, dan jalur tertentu.

Selanjutnya, mari kita simulasikan permintaan pengguna setelah menambahkan Pohon Hasil Tampilan (Gunakan Hasil Tampilan dalam Tabel jika hasilnya berupa daftar rekaman) dengan mengikuti menu “ Tambah> Pendengar” .

Tekan tombol panah hijau kanan di atas untuk menjalankan tes dan melihat data respons:

Kita dapat melihat representasi respon yang lebih rinci di tab hasil Sampler .

Mari akhiri dengan menambahkan Pernyataan Durasi di Permintaan HTTP , sehingga setiap permintaan yang berdurasi lebih dari sepuluh milidetik akan dianggap sebagai pengujian yang gagal:

Setelah menjalankan ulang pengujian, kami melihat bahwa ada beberapa (ini 3) pengguna yang tidak bisa mendapatkan daftar siswa dalam waktu kurang dari sepuluh milidetik:

Sekarang, simpan pengujian dengan ekstensi .jmx di folder sumber daya API.

Lebih banyak elemen tersedia untuk mengonfigurasi file pengujian kami:

  • JDBC Request: berguna untuk mengirim request JDBC (SQL query) ke database, sebelum menggunakannya kita perlu menyiapkan elemen konfigurasi koneksi JDBC
  • XML Assertion: menguji bahwa data respons dari dokumen XML yang benar
  • Size Assertion: menegaskan bahwa respons berisi jumlah byte yang benar di dalamnya
  • JMS Publisher: untuk mempublikasikan pesan ke target tertentu (topik / antrian) mengikuti spesifikasi J2EE untuk olah pesan

Semua komponen yang tersedia dirinci dalam manual pengguna.

4. Jalankan Tes JMeter

Ada dua cara untuk menjalankan pengujian JMeter, salah satunya terdiri dari menggunakan plugin Maven yang tersedia dan yang lainnya dengan aplikasi JMeter mandiri dalam mode non-GUI.

Bagaimanapun, keduanya perlu tahu di mana untuk mencapai skrip JMeter yang kami konfigurasikan sebelumnya.

4.1. Plugin JMeter Maven

Plugin JMeter Maven adalah plugin Maven yang menghadirkan fasilitas untuk menjalankan pengujian JMeter sebagai bagian dari build kami; versi terakhirnya sekarang adalah 2.6.0 yang kompatibel dengan Apache JMeter 3.3.

Mari tambahkan ke pom.xml proyek kita:

 com.lazerycode.jmeter jmeter-maven-plugin 2.6.0   jmeter-tests  jmeter     ${project.basedir}/src/main/resources ${project.basedir}/src/main/resources  

Setelah ini, kita dapat menjalankan semua pengujian kita dengan mvn verifikasi atau hanya JMeter dengan mvn jmeter: jmeter ; berikut adalah output konsol dari perintah:

Catatan: Di sini kami menentukan direktori tempat pengujian kami berada dalam proyek, baik yang default ( $ {project.basedir} / src / test / jmeter ) akan dipilih; juga mengkonfigurasi direktori hasil, jika tidak, defaultnya adalah $ {project.basedir} / target / jmeter / results .

Dokumentasi lengkap plugin dapat diakses di sini.

4.2. Mode Non-GUI

Cara lain untuk melakukannya melalui JMeter yang dapat dieksekusi, dengan asumsi itu tersedia melalui baris perintah, kita dapat melakukan ini:

jmeter -Jjmeter.save.saveservice.output_format = xml

-n -t src / main / resources / JMeter.jmx -l src / main / resources / JMeter.jtl

Kami menetapkan XML sebagai format keluaran, yang mengisi file tes yang tepat dan hasilnya.

Catatan: disarankan untuk tidak menggunakan mode GUI untuk pengujian beban, hanya untuk pembuatan pengujian dan pengujian debugging.

5. Kesimpulan

Dalam tutorial singkat ini, kami telah menyiapkan Apache JMeter pada aplikasi SpringBoot untuk menjalankan tes kinerja dengan plugin Maven sambil melihat secara praktis bagaimana merancang tes kinerja dasar.

Seperti biasa, kode sumber untuk artikel ini dapat ditemukan di GitHub.