IBM MQ dan JMeter: Kontak Pertama

Hei Habr!

Ini adalah prekuel milikku publikasi sebelumnya dan pada saat yang sama membuat ulang artikel tersebut Pengujian layanan otomatis menggunakan protokol MQ menggunakan JMeter.

Kali ini saya akan bercerita tentang pengalaman saya merekonsiliasi JMeter dan IBM MQ untuk pengujian aplikasi yang menyenangkan di IBM WS. Saya dihadapkan pada tugas seperti itu, itu tidak mudah. Saya ingin membantu menghemat waktu bagi semua orang yang tertarik.

IBM MQ dan JMeter: Kontak Pertama

pengenalan

Tentang proyek: bus data, banyak pesan xml, tiga area pertukaran (antrian, database, sistem file), layanan web dengan logika pemrosesan pesannya sendiri. Seiring berjalannya proyek, pengujian manual menjadi semakin sulit. Apache JMeter dipanggil untuk menyelamatkan - kuat dan open source, dengan komunitas pengguna yang besar dan antarmuka yang ramah. Kemudahan penyesuaian versi out-of-the-box memungkinkan Anda menangani kasus apa pun, dan janji pengembang utama untuk membantu jika ada (itu membantu) akhirnya mengkonfirmasi pilihan saya.

Mempersiapkan konteks awal

Untuk berinteraksi dengan pengelola antrean, Anda memerlukan konteks awal. Ada beberapa tipe nih di sini Anda dapat membaca lebih lanjut.
Untuk membuatnya, akan lebih mudah menggunakan MQ Explorer:

IBM MQ dan JMeter: Kontak Pertama
Gambar 1: Menambahkan konteks awal

Pilih jenis file konteks dan direktori penyimpanan .binding file yang akan berisi deskripsi objek JNDI:

IBM MQ dan JMeter: Kontak Pertama
Gambar 2: Memilih tipe konteks awal

Kemudian Anda dapat mulai membuat objek-objek ini. Dan mulailah dengan koneksi pabrik:

IBM MQ dan JMeter: Kontak Pertama
Gambar 3: Membuat pabrik koneksi

Pilihlah nama yang ramah...

IBM MQ dan JMeter: Kontak Pertama
Gambar 4: Memilih nama pabrik koneksi

... dan ketik Pabrik Koneksi Antrian:

IBM MQ dan JMeter: Kontak Pertama
Gambar 5: Memilih tipe pabrik koneksi

Protokol - Klien MQ untuk dapat berinteraksi dengan MQ dari jarak jauh:

IBM MQ dan JMeter: Kontak Pertama
Gambar 6: Pemilihan Protokol Pabrik Koneksi

Pada langkah berikutnya, Anda dapat memilih pabrik yang ada dan menyalin pengaturan lebih lanjut dari pabrik tersebut. Klik Selanjutnya, jika tidak ada:

IBM MQ dan JMeter: Kontak Pertama
Gambar 7: Memilih pengaturan untuk pabrik koneksi yang ada

Di jendela pemilihan parameter, cukup menentukan tiga. Di tab Koneksi menunjukkan nama pengelola antrian dan stand IP beserta lokasinya (port 1414 meninggalkan):

IBM MQ dan JMeter: Kontak Pertama
Gambar 8: Mengonfigurasi Parameter Pabrik Koneksi

Dan di tabnya Saluran β€” saluran untuk koneksi. Klik Finish untuk menyelesaikan:

IBM MQ dan JMeter: Kontak Pertama
Gambar 9: Menyelesaikan pembuatan pabrik koneksi

Sekarang mari buat koneksi ke antrian:

IBM MQ dan JMeter: Kontak Pertama
Gambar 10: Membuat Objek Target

Mari kita pilih nama yang bersahabat (saya lebih suka menunjukkan nama asli antrian) dan mengetik Antre:

IBM MQ dan JMeter: Kontak Pertama
Gambar 11: Memilih nama dan jenis target

Dengan analogi dengan Gambar 7 Anda dapat menyalin pengaturan dari antrean yang ada. Klik juga Selanjutnya, jika ini yang pertama:

IBM MQ dan JMeter: Kontak Pertama
Gambar 12: Memilih Pengaturan untuk Target yang Ada

Di jendela pengaturan, cukup pilih nama pengelola dan antrian yang diinginkan, klik Finish. Kemudian ulangi beberapa kali hingga semua antrian yang diperlukan untuk berinteraksi dengan JMeter telah dibuat:

IBM MQ dan JMeter: Kontak Pertama
Gambar 13: Menyelesaikan pembuatan target

Mempersiapkan JMeter

Mempersiapkan JMeter melibatkan penambahan perpustakaan yang diperlukan untuk berinteraksi dengan MQ. Mereka berada di %wmq_home%/Java/lib. Salin ke %jmeter_home%/lib/ext sebelum memulai JMeter.

  • com.ibm.mq.commonservices.jar
  • com.ibm.mq.headers.jar
  • com.ibm.mq.jar
  • com.ibm.mq.jmqi.jar
  • com.ibm.mq.pcf.jar
  • com.ibm.mqjms.jar
  • dhbcore.jar
  • fscontext.jar
  • jms.jar
  • jta.jar
  • penyediautil.jar

Daftar alternatif disarankan polarnik Π² komentar dengan sedikit nuansa: javax.jms-api-2.0.jar bukannya jms.jar.
Kesalahan NoClassDEFFoundError terjadi dengan jms.jar, solusi yang saya temukan di sini.

  • com.ibm.mq.allclient.jar
  • fscontext.jar
  • javax.jms-api-2.0.jar
  • penyediautil.jar

Kedua daftar perpustakaan berhasil bekerja dengan JMeter 5.0 dan IBM MQ 8.0.0.4.

Menyiapkan rencana pengujian

Kumpulan elemen JMeter yang diperlukan dan memadai terlihat seperti ini:

IBM MQ dan JMeter: Kontak Pertama
Gambar 14: Rencana pengujian

Ada lima variabel dalam contoh rencana pengujian. Meskipun jumlahnya kecil, saya sarankan membuat elemen konfigurasi terpisah untuk berbagai jenis variabel. Seiring berkembangnya pengujian, hal ini akan membuat navigasi menjadi lebih mudah. Dalam hal ini, kita mendapatkan dua daftar. Yang pertama berisi parameter untuk menghubungkan ke MQ (lihat. Gambar 2 ΠΈ Gambar 4):

IBM MQ dan JMeter: Kontak Pertama
Gambar 15: Opsi Koneksi MQ

Yang kedua adalah nama objek target yang mengacu pada antrian:

IBM MQ dan JMeter: Kontak Pertama
Gambar 16: Nama antrian yang diparameterisasi

Yang tersisa hanyalah mengonfigurasi JMS Publisher untuk memuat pesan pengujian ke dalam antrian keluar:

IBM MQ dan JMeter: Kontak Pertama
Gambar 17: Menyiapkan JMS Publisher

Dan Pelanggan JMS membaca pesan dari antrian masuk:

IBM MQ dan JMeter: Kontak Pertama
Gambar 18: Konfigurasi Pelanggan JMS

Jika semuanya dilakukan dengan benar, maka hasil eksekusi di listner akan dipenuhi warna hijau cerah dan ceria.

Kesimpulan

Saya sengaja menghilangkan masalah perutean dan administrasi; ini adalah topik yang agak intim dan luas untuk publikasi terpisah.

Selain itu, ada banyak perbedaan dalam bekerja dengan antrian, database, dan file, yang juga ingin saya bicarakan secara terpisah dan mendetail.

Hemat waktu Anda. Dan terima kasih atas perhatian Anda.

IBM MQ dan JMeter: Kontak Pertama

Sumber: www.habr.com