Pengontrol di JMeter: Loop, Sederhana, Transaksi, Modul, Acak

Daftar Isi:

Anonim

Apa itu Pengontrol Logika?

Pengontrol Logika memungkinkan Anda menentukan urutan permintaan pemrosesan di Thread. Ini memungkinkan Anda mengontrol "kapan" untuk mengirim permintaan pengguna ke server web. Misalnya, Anda dapat menggunakan Pengontrol Acak untuk mengirim permintaan HTTP ke server secara acak

Pengontrol Logika menentukan urutan permintaan pengguna dieksekusi.

Beberapa pengontrol Logika yang umum digunakan di bawah ini:

Pengontrol Rekaman:

JMeter dapat merekam langkah Pengujian Anda; pengontrol rekaman adalah tempat penampung untuk menyimpan langkah-langkah perekaman ini.

Pengontrol Sederhana:

Simple Controller hanyalah wadah untuk permintaan pengguna.

Pengontrol Loop:

Loop Controller membuat permintaan pengguna berjalan beberapa kali atau berjalan selamanya seperti yang ditunjukkan pada gambar:

Pengontrol Acak:

Kontroler Acak membuat semua permintaan pengguna berjalan dalam urutan acak di setiap periode loop.

Misalnya, Anda memiliki 3 permintaan pengguna ke situs web http://www.google.com dengan urutan sebagai berikut:

  1. Permintaan HTTP
  2. Permintaan FTP
  3. Permintaan JDBC

3 permintaan ini harus dijalankan 5 kali. Total 15 permintaan pengguna akan dikirim ke server Google oleh JMeter.

Secara berurutan , permintaan dikirim secara berurutan dengan urutan sebagai berikut:

Permintaan HTTP -> Permintaan FTP-> Permintaan JDBC

untuk setiap loop.

Dalam urutan acak , permintaan dikirim secara acak,

Permintaan FTP -> Permintaan HTTP-> Permintaan JDBC

Atau

Permintaan JDBC -> Permintaan FTP-> Permintaan HTTP

Untuk setiap loop.

Pengontrol Modul:

Tujuan dari Module Controller adalah untuk menambahkan modularitas ke JMeter.

Ide umumnya adalah bahwa aplikasi web terdiri dari unit fungsionalitas kecil (yaitu Logon, Buat Akun, Logoff…). Fungsionalitas ini dapat disimpan di Simple Controller sebagai "modul". Module Controller akan memilih modul mana yang perlu dijalankan.

Pertimbangkan skenario berikut -

Anda ingin mensimulasikan:

  • 50 pengguna keluar ,
  • 100 pengguna masuk
  • 30 pengguna mencari www.google.com

Anda dapat menggunakan JMeter untuk membuat 3 modul. Setiap modul mensimulasikan setiap aktivitas pengguna: Login, Logout, dan Pencarian.

Pengontrol modul memilih modul mana yang perlu dijalankan.

Pengontrol Penting Lainnya:

  • Interleave Controller: mengambil dan membuat salah satu permintaan pengguna berjalan di setiap loop utas.
  • Runtime Controller: mengontrol berapa lama turunannya diizinkan untuk berjalan.

Misalnya, jika Anda menentukan Runtime Controller 10 detik, JMeter akan menjalankan pengujian Anda selama 10 detik.

  • Transaction Controller: mengukur waktu keseluruhan yang dibutuhkan untuk menyelesaikan eksekusi tes
  • Sertakan Kontroler: dirancang untuk menggunakan rencana pengujian eksternal. Pengontrol ini memungkinkan Anda untuk menggunakan beberapa rencana pengujian di JMeter. Lihat detail di Pengujian Performa JMeter.

Contoh Loop Controller

Bagian ini menunjukkan kepada Anda petunjuk langkah demi langkah untuk menambahkan set Pengontrol Loop ke rencana pengujian kinerja Anda saat ini.

Loop Controller membuat sampler dijalankan dalam beberapa kali, selain nilai loop yang Anda tentukan untuk Thread Group. Misalnya, jika Anda

  • Tambahkan satu Permintaan HTTP ke Pengontrol Loop dengan jumlah loop 50
  • Konfigurasikan jumlah loop Grup Thread ke 2
  • Kemudian, JMeter akan mengirimkan total 50 * 2 = 100 Permintaan HTTP.

Ini adalah peta jalan dari contoh ini:

Langkah 1) Mengonfigurasi Grup Thread

Kami menggunakan kembali Langkah 1, 2 dalam tutorial Pengujian Kinerja JMeter.

  1. Tambahkan Grup Untaian

Klik kanan pada Test Plan dan tambahkan grup thread baru: Add -> Threads (Users) -> Thread Group

Tetapi di panel kontrol Grup Thread, masukkan Properti Thread sebagai berikut:

Ini akan membuat satu permintaan pengguna ke server web google.com dan menjalankannya 2 kali.

  1. Tambahkan elemen JMeter

Tambahkan default permintaan HTTP ke www.google.com.

  1. Menambahkan Pengontrol Loop

Klik Kanan Grup Thread -> Logic Controller -> Loop Controller

Langkah 2) Konfigurasi Pengontrol Loop

Tambahkan nilai 50 ke bidang Jumlah Loop seperti gambar di bawah ini. Ini akan membuat satu permintaan pengguna ke server web google.com menjalankannya 50 kali, selain nilai loop = 2, yang Anda tentukan untuk Grup Thread di atas. Jadi JMeter akan mengirim total 2 * 50 = 100 Permintaan HTTP.

Klik kanan Loop Controller, Add -> Sampler -> HTTP request

Langkah 3) Tambahkan Hasil Tampilan di Tabel

Kami menggunakan kembali Langkah 2 di Timer untuk menambahkan Hasil Tampilan dalam Tabel

Jadi rencana pengujian ditunjukkan pada gambar di bawah ini

Langkah 4) Jalankan pengujian Anda

Sekarang kembalikan Lihat Hasil dalam Tabel, klik tombol Mulai pada bilah Menu (Ctrl + R) untuk menjalankan tes

Seperti yang ditunjukkan pada gambar di bawah, JMeter mensimulasikan satu permintaan pengguna, yang dikirim 100 kali, ke server web http://www.google.com/. Tes dihentikan setelah permintaan pengguna dikirim dalam 100 kali.

Penyelesaian masalah:

  1. Jika Anda menghadapi masalah saat menjalankan skenario di atas… lakukan hal berikut
  2. Periksa apakah Anda terhubung ke internet melalui proxy. Jika ya, hapus proxy tersebut.
  3. Buka instance baru Jmeter
  4. Buka ControllerTestPlan.jmx di Jmeter
  5. Klik pada Thread Group -> Lihat Hasil di Tabel
  6. Jalankan Tes