Pengenalan Gatling

1. Gambaran keseluruhan

Gatling adalah alat pengujian beban yang dilengkapi dengan sokongan protokol HTTP yang sangat baik - yang menjadikannya pilihan yang sangat baik untuk menguji beban mana-mana pelayan HTTP .

Panduan ringkas ini akan menunjukkan kepada anda cara menyiapkan senario sederhana untuk memuatkan pelayan HTTP .

Skrip simulasi Gatling ditulis dalam Scala , tetapi jangan risau - alat ini membantu kami dengan GUI yang memungkinkan kami merakam senario. Setelah selesai merakam senario, GUI membuat skrip Scala yang mewakili simulasi.

Setelah menjalankan simulasi, kami mempunyai laporan HTML yang siap dibentangkan .

Akhir sekali, seni bina Gatling tidak segerak . Senibina seperti ini membolehkan kita menerapkan pengguna maya sebagai mesej dan bukan utas khusus, menjadikannya sumber yang sangat murah. Oleh itu, menjalankan ribuan pengguna maya serentak tidak menjadi masalah.

Perlu juga diperhatikan bahawa enjin teras sebenarnya adalah protokol agnostik , jadi sangat mungkin untuk melaksanakan sokongan untuk protokol lain. Sebagai contoh, Gatling juga menghantar sokongan JMS .

2. Membuat Projek Menggunakan Arkib

Walaupun kita boleh mendapatkan bundel Gatling sebagai .zip, kita memilih untuk menggunakan Gatling's Maven Archetype . Ini membolehkan kita mengintegrasikan Gatling dan memasukkannya ke dalam IDE dan memudahkan untuk mengekalkan projek dalam sistem kawalan versi. Hati-hati kerana Gatling memerlukan JDK8 .

Dari baris arahan, ketik:

mvn archetype:generate

Kemudian, apabila diminta:

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

Jenis:

gatling

Anda harus melihat:

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

Jenis :

1

untuk memilih jenis dasar, kemudian pilih versi yang akan digunakan (pilih versi terkini)

Pilih groupId , artifactId , versi dan pakej nama untuk kelas-kelas sebelum mengesahkan penciptaan pola asas yang.

Selesaikan dengan mengimport arketipe ke IDE - contohnya ke Scala IDE (berdasarkan Eclipse) atau ke IntelliJ IDEA.

3. Tentukan Senario

Sebelum melancarkan perekam, kita perlu menentukan senario . Ini akan menjadi gambaran dari apa yang sebenarnya berlaku ketika pengguna menavigasi aplikasi web.

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

Senario ringkas kami ialah:

  • Seorang pengguna tiba di aplikasi.
  • Pengguna mencari 'amstrad'.
  • Pengguna membuka salah satu model yang berkaitan.
  • Pengguna kembali ke laman utama.
  • Pengguna melakukan lelaran melalui halaman.

4. Mengkonfigurasi Perakam

Pertama sekali melancarkan kelas Perakam dari IDE. Setelah dilancarkan, GUI memungkinkan Anda mengkonfigurasi bagaimana permintaan dan respons akan direkam. Pilih pilihan berikut:

  • 8000 sebagai port pendengaran
  • pakej simulasi org.baeldung.simulasi
  • Nama kelas Simulasi yang dirakam
  • Ikut Pengalihan? diperiksa
  • Rujukan Automatik? diperiksa
  • Strategi penapis senarai hitam pertama dipilih
  • . * \. css , . * \. js dan . * \. ico dalam senarai penapis hitam

Sekarang kita harus mengkonfigurasi penyemak imbas kita untuk menggunakan port yang ditentukan ( 8000 ) yang dipilih semasa konfigurasi. Ini adalah port yang mesti disambungkan oleh penyemak imbas kami sehingga Perekam dapat menangkap navigasi kami.

Inilah caranya dengan Firefox, buka tetapan Lanjutan penyemak imbas, kemudian pergi ke panel Rangkaian dan kemas kini tetapan sambungan:

5. Merakam Senario

Setelah semuanya dikonfigurasi, kita dapat merakam senario yang telah kita tetapkan di atas. Langkahnya adalah seperti berikut:

  1. Mulakan rakaman dengan mengklik butang 'Mula'
  2. Pergi ke laman web: //computer-database.gatling.io
  3. Cari model dengan 'amstrad' dengan nama mereka
  4. Pilih 'Amstrad CPC 6128'
  5. Kembali ke laman utama
  6. Berulang kali beberapa kali melalui halaman model dengan mengklik butang Next
  7. Klik pada butang 'Berhenti & simpan'

Simulasi akan dihasilkan dalam pakej org.baeldung yang ditentukan semasa konfigurasi dengan nama RecordedSimulation.scala

6. Jalankan Simulasi Dengan Maven

Untuk menjalankan simulasi yang dirakam, kami perlu mengemas kini pom.xml kami :

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

Ini membolehkan kita menjalankan simulasi pada fasa ujian. Untuk memulakan ujian, jalankan:

mvn test

Apabila simulasi selesai, konsol akan memaparkan jalan ke laporan HTML.

Catatan: konfigurasi true digunakan kerana kita akan menggunakan Scala dengan maven bendera ini akan memastikan bahawa kita tidak akhirnya menyusun simulasi kita dua kali. Maklumat lebih lanjut boleh didapati di dokumen Gatling.

7. Mengkaji Hasilnya

Sekiranya kita membuka index.html di lokasi yang disarankan, laporannya seperti berikut:

8. Kesimpulannya

Dalam tutorial ini, kami telah meneroka beban yang menguji pelayan HTTP dengan Gatling. Alat ini membolehkan kita merakam simulasi berdasarkan senario yang ditentukan dengan bantuan antara muka GUI. Setelah rakaman selesai, kami dapat melancarkan ujian kami. Laporan ujian akan berbentuk resume HTML.

Untuk membina contoh, kami telah memilih untuk menggunakan pola dasar maven. Ini membantu kita untuk mengintegrasikan Gatling dan menjalankannya menjadi IDE dan memudahkan penyelenggaraan projek dalam sistem kawalan versi.

Contoh kod boleh didapati dalam projek GitHub.