JMeter Elemen & Komponen: Grup Thread, Sampler

⚡ Ringkasan Cerdas

JMeter Elemen-elemen adalah blok bangunan dari setiap rencana pengujian: Thread Group membuat pengguna virtual, Sampler mengirimkan permintaan, Listener menampilkan hasil, dan Configuration Element menyediakan nilai default dan data yang dibutuhkan oleh permintaan tersebut.

  • 🔘 Grup Diskusi: Setiap thread mewakili satu pengguna virtual yang menjalankan aplikasi yang sedang diuji.
  • ☑️ Pengambil sampel: Tentukan protokol permintaan — FTP, HTTP, JDBC, SMTP, dan lainnya.
  • ✅ Pendengar: Sajikan hasilnya sebagai grafik, pohon, tabel, atau file log.
  • 🧪 Elemen Konfigurasi: Tetapkan nilai default dan variabel yang akan digunakan kembali oleh sampler di seluruh pengujian.
  • ️ Analisis berbasis data: Konfigurasi Kumpulan Data CSV memberikan kredensial yang berbeda kepada setiap pengguna yang disimulasikan.
  • ⚡ Padanan modernnya: BSF Sampler telah dihentikan; rilis terbaru menggunakan skrip hingga JSR223 dan Groovy.

JMeter Elemen-elemen: Grup Thread, Sampler, Listener, dan Elemen Konfigurasi

Apa itu Elemen di dalamnya JMeter?

Komponen yang berbeda dari JMeter disebut Elemen. Setiap Elemen dirancang untuk tujuan tertentu.

Gambar di bawah memberikan beberapa elemen umum JMeter dan menunjukkan bagaimana mereka berada di bawah Grup Thread.

JMeter Diagram hierarki elemen dengan Grup Thread di atas Sampler, Pengontrol Logika, Listener, Elemen Konfigurasi, Assertion, Timer, dan Prosesor.

Mempelajari semua komponen sekaligus hanya akan menimbulkan kebingungan dan kebosanan. Di sini, kita akan membahas komponen-komponen penting yang wajib diketahui sebelum Anda memulai. pengujian in JMeter.

Komponen-komponen yang tersisa akan dibahas seiring penggunaannya dalam tutorial-tutorial selanjutnya. Elemen-elemen yang dibahas dalam tutorial ini tercantum di bawah ini.

Grup Benang

Thread Group adalah kumpulan thread. Setiap thread mewakili satu pengguna yang menggunakan aplikasi yang sedang diuji. Pada dasarnya, setiap thread mensimulasikan satu permintaan pengguna nyata ke server.

Kontrol untuk grup thread memungkinkan Anda mengatur jumlah thread untuk setiap grup.

Sebagai contoh, jika Anda menetapkan jumlah thread menjadi 100, JMeter akan membuat dan mensimulasikan 100 permintaan pengguna ke server yang sedang diuji, seperti yang diilustrasikan pada diagram di bawah ini.

Diagram dari sebuah JMeter Grup thread mensimulasikan Pengguna 1 hingga Pengguna 100, masing-masing mengirimkan permintaan ke aplikasi yang sedang diuji.

Panel Grup Thread juga memiliki periode persiapan, yang menyebar waktu dimulainya thread tersebut dari waktu ke waktu, alih-alih meluncurkannya untuk setiap pengguna sekaligus.

Sampler

Seperti yang sudah kita ketahui, JMeter mendukung pengujian HTTP, FTP, JDBC dan banyak protokol lainnya.

Kita juga tahu bahwa Thread Group mensimulasikan permintaan pengguna ke server.

Namun bagaimana sebuah Thread Group mengetahui jenis permintaan apa (HTTP, FTP, dan sebagainya) yang perlu dilakukannya?

Jawabannya adalah Sampler.

Permintaan pengguna dapat berupa Permintaan FTP, Permintaan HTTP, Permintaan JDBC, dan sebagainya. Gambar di bawah ini mencantumkan contoh-contoh yang dibahas dalam tutorial ini.

Daftar diagram pohon JMeter Sampler: Permintaan FTP, Permintaan HTTP, Permintaan JDBC, Sampler BSF, Sampler Log Akses, dan Sampler SMTP

Permintaan FTP

Bayangkan Anda ingin menguji kinerja server FTP. Anda dapat menggunakan sampler Permintaan FTP di JMeter untuk melakukan tugas ini. Pengontrol ini memungkinkan Anda mengirim permintaan “unduh file” atau “unggah file” FTP ke server FTP.

Diagram yang menunjukkan JMeter Mengirim permintaan FTP ke server FTP untuk mengunggah atau mengunduh file.

Misalnya, jika Anda ingin mengunduh file “Test.txt” dari server FTP yang sedang diuji, Anda perlu mengonfigurasi beberapa parameter di JMeter seperti pada gambar di bawah ini.

Panel contoh permintaan FTP dengan ftp.example.com sebagai server, port 21, Test.txt sebagai file jarak jauh, dan login anonim.

Panel tersebut mengatur server ke ftp.example.com, port 21, file jarak jauh ke Test.txt dan opsi get(RETR), jadi JMeter Mengirimkan perintah FTP ke server tersebut dan mengunduh file.

Permintaan HTTP

Sampler ini memungkinkan Anda mengirim permintaan HTTP/HTTPS ke server web.

Perhatikan contoh di bawah ini. JMeter mengirimkan permintaan HTTP ke Google situs web dan mengambil file HTML atau gambar dari situs tersebut.

Diagram JMeter mengirimkan permintaan HTTP ke Google Membuat situs web dan menerima HTML serta gambar sebagai balasannya.

Dalam tutorialnya JMeter Pengujian Kinerja, kami akan menjelaskan lebih lanjut tentang Permintaan HTTP ini. Ini adalah contoh yang paling umum. pengujian aplikasi web pekerjaan bergantung pada hal tersebut.

Permintaan JDBC

Sampler ini memungkinkan Anda untuk menjalankan basis data. pengujian kinerja. Ia mengirimkan Permintaan JDBC (kueri SQL) ke database.

Diagram JMeter Mengirimkan kueri SQL ke server basis data dan menerima hasilnya.

Sebagai contoh, sebuah server basis data memiliki kolom test_result yang tersimpan dalam tabel bernama test_tbl. Anda ingin mengambil data ini dari server basis data, jadi Anda dapat melakukan konfigurasi. JMeter untuk mengirim SQL Lakukan permintaan ke server ini untuk mengambil data.

Panel Permintaan JDBC dengan Tipe Kueri diatur ke Pernyataan Pilih dan kueri select test_result from test_tbl where id = 1

Tipe Kueri di sini adalah Pernyataan SELECT dan kuerinya berbunyi: select test_result from test_tbl where id = 1Elemen Konfigurasi Koneksi JDBC harus menyediakan pool yang ditunjuk oleh field Nama Variabel.

Pengambil Sampel BSF

Sampler ini memungkinkan Anda menulis sampler menggunakan a BSF bahasa skrip.

Berikut adalah contoh BSF Sampler di JMeter, dengan kolom untuk bahasa skrip, parameter yang diteruskan ke skrip, dan skrip inline atau file skrip eksternal.

Panel Sampler BSF dengan kolom untuk bahasa skrip, parameter, file skrip eksternal, dan isi skrip sebaris.

Catatan penghentian penggunaan: Keluarga elemen BSF telah dihentikan penggunaannya dan digantikan oleh elemen JSR223 dan tidak lagi muncul dalam JMeter referensi komponenPada rilis terbaru, gunakan Pengambil Sampel JSR223 dengan Groovy, yang mengkompilasi skrip dan berkinerja jauh lebih baik di bawah beban. Panel di atas tetap ada di sini karena rencana pengujian lama masih memuatnya.

Akses Pengambil Sampel Log

Sampler ini memungkinkan Anda untuk membaca log akses dan menghasilkan permintaan HTTP. Entri log dapat berupa gambar, HTML, CSS, dan sebagainya.

Panel Access Log Sampler menampilkan kolom server dan port default, kelas plugin TCLogParser, dan lokasi file log.

Kolom Parser secara default bernilai org.apache.jmeter.protocol.http.util.accesslog.TCLogParser, dan kolom Lokasi File Log menunjuk ke JMeter pada log yang ingin Anda putar ulang.

Pengambil Sampel SMTP

Jika Anda ingin menguji server email, Anda dapat menggunakan SMTP Sampler. Sampler ini digunakan untuk mengirim pesan email menggunakan protokol SMTP.

Panel SMTP Sampler dengan pengaturan server, alamat email, opsi otentikasi dan keamanan, serta pengaturan pesan.

Panel ini mengelompokkan pengaturan server, alamat email, otentikasi, dan pengaturan pesan, serta menampilkan port default di samping kolom Port: SMTP 25, SSL 465, dan StartTLS 587.

Pendengar

Listener menampilkan hasil eksekusi pengujian. Mereka dapat menyajikan hasil dalam berbagai format seperti pohon, tabel, grafik, atau file log.

Diagram yang menunjukkan Listener menyebarkan hasil ke dalam tampilan grafik, pohon, tabel, dan laporan.

The Hasil Grafik Listener menampilkan waktu respons server pada grafik, dengan jumlah sampel, rata-rata, deviasi, throughput, dan median tercetak di bawahnya.

Grafik Hasil: pendengar memplot waktu respons dengan data, rata-rata, median, deviasi, dan rangkaian throughput.

Lihat Pohon Hasil Menampilkan hasil setiap permintaan pengguna dalam format HTML dasar, dengan tab hasil Sampler yang melaporkan waktu pemuatan, latensi, ukuran, dan kode respons.

Tampilan Hasil Tree listener dengan daftar permintaan di sebelah kiri dan tab hasil Sampler yang menunjukkan kode respons 200.

Lihat Hasil dalam Tabel Menampilkan ringkasan hasil pengujian dalam format tabel, satu baris per sampel.

Lihat Hasil dalam Pendengar Tabel dengan kolom untuk nomor sampel, waktu mulai, nama thread, label, dan waktu sampel.

Berkas log mencatat ringkasan yang sama sebagai teks, yang Anda simpan saat pengujian dijalankan tanpa GUI.

Ringkasan log agregat yang mencantumkan label sampler dengan jumlah sampel, rata-rata, dan baris TOTAL.

Praktek terbaik: Pendengar GUI mengonsumsi memori dan memengaruhi hasil, jadi jalankan uji beban sebenarnya dalam mode non-GUI dan buka file hasil yang tersimpan setelahnya.

Elemen Konfigurasi

Elemen Konfigurasi mengatur nilai default dan variabel untuk digunakan kemudian oleh sampler.

Gambar di bawah menunjukkan beberapa elemen konfigurasi yang umum digunakan JMeter.

Diagram pohon dari JMeter Elemen konfigurasi: Konfigurasi Kumpulan Data CSV, Pengelola Cookie HTTP, Elemen Konfigurasi Login, Pengaturan Default Permintaan HTTP, dan Pengaturan Default Permintaan FTP

Konfigurasi Kumpulan Data CSV

Misalkan Anda ingin menguji sebuah situs web untuk 100 pengguna yang masuk dengan kredensial berbeda. Anda tidak perlu merekam skrip sebanyak 100 kali. Anda dapat memparameterisasi skrip untuk memasukkan kredensial login yang berbeda. Informasi login ini (misalnya, nama pengguna dan kata sandi) dapat disimpan dalam file teks. JMeter Terdapat sebuah elemen yang memungkinkan Anda untuk membaca berbagai parameter dari file teks tersebut. Elemen tersebut bernama “CSV Data Set Config”, yang digunakan untuk membaca baris-baris dari sebuah file dan memisahkannya ke dalam variabel-variabel.

JMeter Pohon rencana pengujian dengan Konfigurasi Kumpulan Data CSV yang dipilih di bawah pengontrol Login bersama dengan Pengaturan Default Permintaan HTTP.

Ini adalah contoh data CSV. Ini adalah file teks yang berisi nama pengguna dan kata sandi yang digunakan untuk masuk ke situs web target Anda.

File teks csv_data.txt berisi empat baris yang dipisahkan koma, yaitu nilai nama pengguna, kata sandi, dan panjang cookie.

Manajer Cookie HTTP

Mari kita pahami ini dengan sebuah contoh.

Anda menggunakan browser Anda (Firefox, Chrome, dan sebagainya) untuk menjelajah www.google.com.

Anda masuk menggunakan nama pengguna dan kata sandi Anda.

Nama pengguna dan kata sandi Anda akan disimpan di komputer Anda sebagai cookie.

Lain kali, saat Anda berkunjung www.google.comAnda tidak perlu masuk lagi, karena browser Anda akan menggunakan cookie sebagai data pengguna untuk masuk.

HTTP Cookie Manager memiliki fitur yang sama dengan peramban web. Jika Anda memiliki Permintaan HTTP dan responsnya berisi cookie, Cookie Manager secara otomatis menyimpan cookie tersebut dan menggunakannya untuk semua permintaan selanjutnya ke situs web tertentu tersebut.

Default Permintaan HTTP

Elemen ini memungkinkan Anda menetapkan nilai default yang digunakan pengontrol Permintaan HTTP Anda.

Sebagai contoh,

Anda mengirimkan 100 permintaan HTTP ke server google.com.

Anda harus memasukkan nama server google.com secara manual untuk semua 100 permintaan.

Sebagai gantinya, Anda dapat menambahkan satu elemen HTTP Request Defaults dengan kolom “Server Name or IP” yang diatur ke google.com, seperti yang ditunjukkan di bawah ini.

Panel Pengaturan Default Permintaan HTTP dengan google.com sebagai nama server, port 80, dan batas waktu koneksi dan respons.

Tidak perlu mengetiknya 100 kali. Elemen ini akan dijelaskan secara detail dalam tutorial. JMeter Pengujian Kinerja.

Elemen Konfigurasi Masuk

Elemen Konfigurasi Login memungkinkan Anda menambahkan atau menimpa pengaturan nama pengguna dan kata sandi di sampler.

Sebagai contoh, Anda ingin mensimulasikan satu pengguna yang masuk ke situs web. www.facebook.com dengan nama pengguna dan kata sandi. Anda dapat menggunakan Elemen Konfigurasi Login untuk menambahkan pengaturan nama pengguna dan kata sandi ini dalam permintaan pengguna.

Panel Elemen Konfigurasi Login dengan guru99 dimasukkan sebagai nama pengguna dan kolom kata sandi yang disamarkan.

Elemen Konfigurasi Login vs. Konfigurasi Kumpulan Data CSV

Elemen Konfigurasi Masuk Konfigurasi Kumpulan Data CSV
Digunakan untuk mensimulasikan satu login pengguna Digunakan untuk mensimulasikan beberapa login pengguna.
Hanya cocok untuk parameter login (nama pengguna dan kata sandi) Cocok untuk sejumlah besar parameter

Kedua elemen ini, jika digabungkan, mencakup hampir semua skenario kredensial yang akan Anda temui. alat pengujian kinerja kerja.

Pertanyaan Umum Demo Slot

Ini memberitahu JMeter Berapa lama waktu yang dibutuhkan sebelum semua thread berjalan? Sepuluh thread dengan waktu persiapan 100 detik akan dimulai dengan selang waktu sepuluh detik. Waktu persiapan yang terlalu singkat akan membanjiri server dan menyebabkan kegagalan yang tidak mungkin disebabkan oleh pengguna sungguhan.

Timer menyisipkan jeda di antara permintaan sehingga beban simulasi menyerupai penjelajahan nyata, bukan banjir permintaan. Assertion memeriksa setiap respons, menandai sampel sebagai gagal ketika kode status, teks, atau durasi tidak sesuai dengan yang Anda tentukan.

Mereka mengelompokkan dan mencabangkan permintaan di bawahnya. Sebuah Loop Controller mengulang anak-anaknya, sebuah If Controller menjalankannya secara kondisional, dan sebuah Transaction Controller melaporkan seluruh kelompok sebagai satu langkah berwaktu dalam hasil.

Tidak. Listener seperti View Results Tree menyangga setiap sampel dan mendistorsi angka yang dilaporkan. Jalankan pengujian dalam mode non-GUI, tulis hasilnya ke dalam file, lalu muat file tersebut ke dalam listener setelah pengujian selesai.

Elemen konfigurasi dan pra-prosesor diterapkan terlebih dahulu, kemudian sampler berjalan, lalu pasca-prosesor, pernyataan, dan pendengar. Cakupan juga penting: elemen yang ditempatkan pada tingkat rencana berlaku untuk setiap permintaan di bawahnya.

Ini berguna untuk menemukan pola. Memberikan berkas hasil kepada asisten akan menampilkan label yang paling lambat, kelompok kesalahan, dan tren waktu respons jauh lebih cepat daripada membaca baris demi baris. Selalu konfirmasikan temuan tersebut dengan sampel mentah sebelum mengambil tindakan.

Ya. Ini adalah rancangan. Groovy misalnyatracMengubah nilai, membangun payload, dan mengatur variabel di dalam elemen JSR223. Periksa setiap saran, karena sering kali menggunakan API BeanShell yang sudah usang atau variabel yang JMeter tidak mengekspos.

Satu Thread Group dan satu sampler. Semua yang lain bersifat opsional. Dalam praktiknya, listener ditambahkan agar hasilnya terlihat, dan nilai default atau file data ditambahkan setelah nilai yang sama mulai berulang di seluruh permintaan.

Ringkaslah postingan ini dengan: