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:
- Permintaan HTTP
- Permintaan FTP
- 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.
-
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.
-
Tambahkan elemen JMeter
Tambahkan default permintaan HTTP ke www.google.com.
-
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:
- Jika Anda menghadapi masalah saat menjalankan skenario di atas… lakukan hal berikut
- Periksa apakah Anda terhubung ke internet melalui proxy. Jika ya, hapus proxy tersebut.
- Buka instance baru Jmeter
- Buka ControllerTestPlan.jmx di Jmeter
- Klik pada Thread Group -> Lihat Hasil di Tabel
- Jalankan Tes