informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
gui jmeter terutama digunakan untuk men-debug skrip
Buatlah naskahnya terlebih dahulu
Demo: Bagaimana cara membuat skrip adegan campuran?
Gunakan rasio bisnis 211
Layanan basis data: termasuk mysql, redis
port mysql bawaannya 3306
netstat -lntp | grep 3306
Dalam keadaan mendengarkan, 6379 adalah port default redis
netstat -lntp | grep 6379
Port layanan proyek 18089
netstat -lntp | grep 18089
211 dapat diubah menjadi dua layanan pengujian stres
Salah satunya adalah mendaftar, yang lainnya adalah mendaftar dan login untuk menambah produk.
Keduanya 50%
jmeter—tambahkan grup utas-tambahkan-utas-pengguna-grup utas
Konversikan dua layanan pengujian stres
jmeter—pengontrol logika tambahan–pengontrol throughput
Ubah dua layanan pengujian stres.
Bisnis stress test yang pertama meliputi registrasi, login, dan penambahan produk
Bisnis stress test yang kedua adalah registrasi
masing-masing 50%.
jmeter-tambah-sampler-http-permintaan
Konversikan dua layanan pengujian stres
Tulis sesuai kesombongan registrasi, masukkan parameter
Umumnya Anda tidak perlu mengisi ID saat memasukkannya.
Addtime juga tidak perlu diisi
Salin dan tempel data parameter ke jmeter
jalur berdasarkan url
Mereka semua lulus json
Isi ip dan port sesuai dengan dokumen antarmuka
Yang terbaik adalah menambahkan pernyataan
-nJalankan jmeter dalam mode non-gui
-t mengeksekusi lokasi file pengujian. Menentukan skrip untuk menjalankan jmeter. Ini tidak ada di jalur saat ini.
-l menentukan file hasil yang dihasilkan, yaitu file jtl
-e Setelah pengujian selesai, buat laporan pengujian
-o menentukan lokasi penyimpanan html laporan pengujian
-r mulai dari jarak jauh
Instal jdk dan jmeter di linux tekan
Instal di bawah usr/lokal
Langsung unggah jmeter di jendela ke pers linux, karena plug-in yang terlibat dalam skrip debugging juga tersedia.
Catatan: Jika skrip melibatkan file parameter csv, Anda perlu mengunggah file parameter csv ke direktori bin jmeter di Linux.
Laporan agregasi dan pemroses harus dinonaktifkan sebelum diunggah
5 utas, tambahkan satu setiap 30 detik, jadi 150
Durasinya harus lebih lama dari waktu Rang up yaitu 150. Jika berjalan selama 50 detik lagi, setel ke 200.
Setelah upload jmeter berhasil, verifikasi versi jmeter dan apakah tersedia.
Ada dua tempat
Pertama, jalur untuk menyimpan skrip pengujian perlu membuat direktori untuk menyimpan laporan html.
Sebelum menjalankan skrip, direktori res harus kosong
Kedua, membersihkan data pada tabel database tanpa mempertimbangkan data yang ada.
hasil
Menyelesaikan 548 permintaan dalam 13 detik
Buka laporan agregat
Jumlah permintaan ko yang gagal
waktu respons waktu respons
tempat sampah
Bagaimana cara melihat file jtl?
jtl dapat dibuka di pendengar mana pun, seperti melihat pohon hasil, laporan agregat, tps, waktu respons.
Jika dibuka di laporan agregat, klik Telusuri
Seperti tps, waktu respon
Mari kita lihat tps dulu
Tambahkan tps
Klik untuk menelusuri
Waktu merespon
Terkadang satu pers tidak dapat mencapai target, sehingga diperlukan pers yang terdistribusi.
Lagi pula, sumber daya mesin tunggal terbatas dan sulit untuk mendukung konkurensi besar. Mesin cetak tunggal juga memiliki hambatan.
Situs web resmi:https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
Mesin server berfungsi sebagai mesin kontrol
Mesin-mesin lainnya digunakan sebagai mesin beban
Layanan yang diminta berdasarkan target
Pengontrol mengontrol start dan stop mesin beban dari jarak jauh dengan mengirimkan sinyal, dan pada saat yang sama mengumpulkan data dan ringkasan mesin beban
Mesin beban terutama memulai thread untuk mengakses server dan menargetkan server di bawah stress test.
Umumnya, pekerja memulai mesin kontrol server jmeter untuk mengontrol mesin beban dari jarak jauh. Mesin beban memulai thread dan meminta target untuk mendapatkan data dan kemudian mengirimkannya kembali ke mesin kontrol.
Di mana skrip ditempatkan ketika didistribusikan?
Satu pengontrol banyak pekerja
Saat menjalankan non-gui, skrip dikirimkan ke server. Sekarang setelah didistribusikan, ke mana skrip tersebut harus dikirimkan?
Skrip akan ditransfer ke pengontrol. Selama eksekusi, skrip akan dikirim ke setiap mesin beban, yaitu setiap pekerja. Setelah beban memperoleh skrip, skrip akan mulai dijalankan. Setelah eksekusi, data akan diteruskan ke mesin kontrol untuk ringkasan.
Firewall harus ditutup. Jika firewall tidak ditutup, port harus dibuka.
Semua klien harus berada di subnet yang sama.
Pastikan jmeter dapat mengakses server
Pastikan versi jmeter dan java sama
nonaktifkan SSL
Membutuhkan 3 mesin virtual
Gunakan 181 sebagai Pengendali (mesin kendali)
Gunakan 182.183 sebagai Pekerja (mesin beban)
Pada saat yang sama, ketiga mesin virtual ini harus menginstal jdk dan jmeter.
Lihat versi jdk
Instal jmeter di tiga mesin virtual
Jmeter mesin lokal ditransfer ke direktori usr/local mesin virtual.
Periksa versi jmeter setelah mengunggah
182、182
Cadangkan file konfigurasi jmeter.properties terlebih dahulu
server_port dapat diubah atau tidak diubah. Nilai defaultnya adalah 1099.
nonaktifkan SSL
server.rmi.ssl.disable=false, ubah false menjadi true
Mulai jemter
./jmeter-server
Periksa port 182 untuk melihat apakah dalam keadaan mendengarkan
memeriksa
Telnet mesin kontrol ke mesin beban untuk melihat apakah port dapat diakses.
Sebelum mengonfigurasi mesin kontrol, debug pada jmeter di jendela.
menang: untuk debugging
Cadangkan file konfigurasi jmeter.properties terlebih dahulu
Secara default, mesin ini digunakan sebagai mesin beban.
Mesin beban saat ini adalah mesin beban jarak jauh, ubah remote_hosts=127.0.0.1 menjadi remote_hosts=192.168.117.182:1099
IP dan port mesin beban jarak jauh harus ditulis di sini. Jika kelipatan adalah kelipatan, pisahkan dengan koma.
nonaktifkan SSL
Ubah server.rmi.ssl.disable=false menjadi server.rmi.ssl.disable=true
Debug dulu melalui mesin ini
Mulai ulang jmeter dan baca kembali file konfigurasi
Setelah melakukan debug di jendela, buka Linux untuk konfigurasi.
Konfigurasikan pada 181
Cadangkan file konfigurasi jmeter.properties terlebih dahulu
Mesin beban saat ini adalah mesin beban jarak jauh, yang akanremote_hosts=127.0.0.1
Mengubahremote_hosts=192.168.117.182:1099
IP dan port mesin beban jarak jauh harus ditulis di sini. Jika kelipatan adalah kelipatan, pisahkan dengan koma.
server.rmi.ssl.nonaktifkan=salah
Akanserver.rmi.ssl.disable=false
Mengubahserver.rmi.ssl.disable=true
Ketika skrip dikirimkan ke mesin kontrol, skrip akan secara otomatis didistribusikan ke setiap mesin beban.
Uji login skenario tunggal yang terpisah
Setelah skrip diunggah, jalankan skrip tersebut
Jalankan melalui pemuatan jarak jauh
/usr/local/apache-jmeter-5.1.1/bin/jmeter -n -r -t test.jmx
Setiap mesin beban kerja (press) mempunyai 5 thread, dan total mesin kendali mempunyai 10 thread.
Persiapan lingkungan
Dua mesin virtual. Ada satu master dan dua budak. Mesin Windows berfungsi sebagai satu master dan budak menggunakan mesin virtual.
Referensi: https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
Permasalahan yang muncul:
java.rmi.RemoteException: Tidak dapat memulai. localhost.localdomain adalah alamat loopback
Objek jarak jauh yang dibuat: UnicastServerRef2 [liveRef: [titik akhir:127.0.0.1:43474,ID objek:[-5a8dd143:17e2852fe88:-7fff, 3673082414768940798]]]
Server gagal untuk memulai: java.rmi.RemoteException: Tidak dapat memulai. localhost.localdomain adalah alamat loopback.
Terjadi kesalahan: Tidak dapat memulai. localhost.localdomain adalah alamat loopback.
Informasi pengecualian: Pengecualian startup server: Panggilan metode jarak jauh Java melemparkan pengecualian: Tidak dapat memulai layanan. localhost.localdomain adalah alamat loopback lokal
Nama host yang diperoleh melalui perintah hostname adalah localhost.
Periksa konfigurasi host melalui perintah cat /etc/hosts.localhost localhost.localdomain localhost4... menunjuk ke 127.0.0.1
Larutan:
Tentukan alamat IP host server jarak jauh (rmi.server.hostname)
Mulailah dengan menentukan perintah terminal
./jmeter-server -Djava.rmi.server.namahost=192.168.2.2