Pengantar Gatling

1. Ikhtisar

Gatling adalah alat pengujian beban yang hadir dengan dukungan yang sangat baik dari protokol HTTP - yang menjadikannya pilihan yang sangat baik untuk pengujian beban server HTTP apa pun .

Panduan cepat ini akan menunjukkan kepada Anda cara menyiapkan skenario sederhana untuk pengujian beban server HTTP .

Skrip simulasi Gatling ditulis dalam Scala , tetapi jangan khawatir - alat ini hadir untuk membantu kami dengan GUI yang memungkinkan kami merekam skenario. Setelah kita selesai merekam skenario, GUI membuat skrip Scala yang mewakili simulasi.

Setelah menjalankan simulasi, kami memiliki laporan HTML yang siap disajikan .

Last but not least, arsitektur Gatling tidak sinkron . Jenis arsitektur ini memungkinkan kita mengimplementasikan pengguna virtual sebagai pesan, bukan thread khusus, menjadikannya sumber daya yang sangat murah. Dengan demikian, menjalankan ribuan pengguna virtual secara bersamaan tidak menjadi masalah.

Perlu juga dicatat bahwa mesin inti sebenarnya adalah protokol agnostik , jadi sangat mungkin untuk mengimplementasikan dukungan untuk protokol lain. Misalnya, Gatling saat ini juga mengirimkan dukungan JMS .

2. Membuat Proyek Menggunakan Pola Dasar

Meskipun kita bisa mendapatkan bundel Gatling sebagai .zip, kita memilih untuk menggunakan Pola Dasar Maven Gatling . Hal ini memungkinkan kami untuk mengintegrasikan Gatling dan menjalankannya ke dalam IDE dan memudahkan untuk memelihara proyek dalam sistem kontrol versi. Hati-hati karena Gatling membutuhkan JDK8 .

Dari baris perintah, ketik:

mvn archetype:generate

Kemudian, saat diminta:

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains):

Tipe:

gatling

Anda kemudian harus melihat:

Choose archetype: 1: remote -> io.gatling.highcharts:gatling-highcharts-maven-archetype (gatling-highcharts-maven-archetype)

Jenis :

1

untuk memilih arketipe, lalu pilih versi yang akan digunakan (pilih versi terbaru).

Pilih groupId , artifactId , versi dan nama paket untuk kelas sebelum mengkonfirmasi pembuatan arketipe.

Selesaikan dengan mengimpor arketipe ke dalam IDE - misalnya ke dalam Scala IDE (berdasarkan Eclipse) atau ke IntelliJ IDEA.

3. Tentukan Skenario

Sebelum meluncurkan perekam, kita perlu menentukan skenario . Ini akan menjadi representasi dari apa yang sebenarnya terjadi ketika pengguna menavigasi aplikasi web.

Dalam tutorial ini, kita akan menggunakan aplikasi yang disediakan oleh tim Gatling untuk tujuan sampel dan dihosting di URL //computer-database.gatling.io.

Skenario sederhana kami bisa jadi:

  • Seorang pengguna tiba di aplikasi.
  • Pengguna mencari 'amstrad'.
  • Pengguna membuka salah satu model terkait.
  • Pengguna kembali ke halaman beranda.
  • Pengguna melakukan iterasi melalui halaman.

4. Konfigurasi Perekam

Pertama-tama luncurkan kelas Perekam dari IDE. Setelah diluncurkan, GUI memungkinkan Anda mengonfigurasi bagaimana permintaan dan tanggapan akan direkam. Pilih opsi berikut:

  • 8000 sebagai port mendengarkan
  • org.baeldung.simulation package
  • Nama kelas RecordedSimulation
  • Ikuti Pengalihan? diperiksa
  • Perujuk Otomatis? diperiksa
  • Strategi filter pertama daftar hitam dipilih
  • . * \. css , . * \. js dan . * \. ico dalam daftar filter hitam

Sekarang kita harus mengkonfigurasi browser kita untuk menggunakan port yang ditentukan ( 8000 ) yang dipilih selama konfigurasi. Ini adalah port yang harus disambungkan oleh browser kita sehingga Perekam dapat menangkap navigasi kita.

Berikut ini cara melakukannya dengan Firefox, buka pengaturan Lanjutan browser, lalu buka panel Jaringan dan perbarui pengaturan koneksi:

5. Merekam Skenario

Sekarang semuanya telah dikonfigurasi, kita dapat merekam skenario yang telah kita tentukan di atas. Langkah-langkahnya adalah sebagai berikut:

  1. Mulailah merekam dengan mengklik tombol 'Mulai'
  2. Buka situs web: //computer-database.gatling.io
  3. Cari model dengan 'amstrad' di namanya
  4. Pilih 'Amstrad CPC 6128'
  5. Kembali ke halaman muka
  6. Iterasi beberapa kali melalui halaman model dengan mengklik tombol Next
  7. Klik tombol 'Hentikan & simpan'

Simulasi akan dibuat dalam paket org.baeldung yang ditentukan selama konfigurasi dengan nama RecordedSimulation.scala

6. Jalankan Simulasi Dengan Maven

Untuk menjalankan simulasi yang direkam, kami perlu memperbarui pom.xml kami :

 io.gatling gatling-maven-plugin 2.2.4   test execute  true    

Ini mari kita jalankan simulasi pada tahap pengujian. Untuk memulai pengujian, jalankan saja:

mvn test

Saat simulasi selesai, konsol akan menampilkan jalur ke laporan HTML.

Catatan: konfigurasi true digunakan karena kita akan menggunakan Scala dengan maven, flag ini akan memastikan bahwa simulasi kita tidak berakhir dua kali. Rincian lebih lanjut tersedia di dokumen Gatling.

7. Meninjau Hasil

Jika kita membuka index.html di lokasi yang disarankan, laporannya akan terlihat seperti berikut:

8. Kesimpulan

Dalam tutorial ini kita telah menjelajahi pengujian beban server HTTP dengan Gatling. Alat ini memungkinkan kami merekam simulasi berdasarkan skenario yang ditentukan dengan bantuan antarmuka GUI. Setelah perekaman selesai, kami dapat meluncurkan pengujian kami. Laporan pengujian akan berbentuk resume HTML.

Untuk membangun contoh kami, kami telah memilih untuk menggunakan arketipe maven. Ini membantu kami untuk mengintegrasikan Gatling dan menjalankannya ke dalam IDE dan mempermudah pemeliharaan proyek dalam sistem kontrol versi.

Kode contoh dapat ditemukan di proyek GitHub.