IBM MQ va JMeter: Birinchi aloqa

Hey Xabr!

Bu men uchun prequel oldingi nashr va shu bilan birga maqolaning remeyki JMeter yordamida MQ protokoli yordamida xizmatlarni avtomatlashtirilgan sinovdan o'tkazish.

Bu safar men sizga IBM WAS da ilovalarni baxtli sinovdan o'tkazish uchun JMeter va IBM MQ ni yarashtirish tajribam haqida gapirib beraman. Men shunday vazifaga duch keldim, bu oson emas edi. Men qiziqqan barchaga vaqtni tejashga yordam bermoqchiman.

IBM MQ va JMeter: Birinchi aloqa

kirish

Loyiha haqida: ma'lumotlar shinasi, ko'plab xml xabarlari, uchta almashuv zonalari (navbatlar, ma'lumotlar bazasi, fayl tizimi), o'zlarining xabarlarni qayta ishlash mantiqiga ega veb-xizmatlar. Loyiha davom etar ekan, qo'lda test qilish tobora qiyinlashdi. Apache JMeter yordamga chaqirildi - kuchli va ochiq manba, katta foydalanuvchilar jamoasi va do'stona interfeys. Chiqarilgan versiyani moslashtirishning qulayligi har qanday holatlarni qoplash imkonini beradi va etakchi ishlab chiquvchining yordam berishga va'dasi. agararda, mabodo (bu yordam berdi) nihoyat mening tanlovimni tasdiqladi.

Dastlabki kontekstni tayyorlash

Navbat menejeri bilan ishlash uchun sizga dastlabki kontekst kerak. Bu erda bir nechta turlar mavjud shu yerda ko'proq o'qishingiz mumkin.
Uni yaratish uchun MQ Explorer-dan foydalanish qulay:

IBM MQ va JMeter: Birinchi aloqa
1-rasm: Boshlang'ich kontekstni qo'shish

Kontekst fayl turini va saqlash katalogini tanlang .bog'lashlar JNDI obyektlarining tavsifini o'z ichiga olgan fayl:

IBM MQ va JMeter: Birinchi aloqa
2-rasm: Dastlabki kontekst turini tanlash

Shundan so'ng siz ushbu ob'ektlarni yaratishni boshlashingiz mumkin. Va ulanish zavodidan boshlang:

IBM MQ va JMeter: Birinchi aloqa
3-rasm: Ulanish zavodini yaratish

Do'stona ism tanlang...

IBM MQ va JMeter: Birinchi aloqa
4-rasm: Ulanish zavod nomini tanlash

... va yozing Navbatga ulanish zavodi:

IBM MQ va JMeter: Birinchi aloqa
5-rasm: Ulanishning zavod turini tanlash

Protokol - MQ mijozi MQ bilan masofadan o'zaro aloqada bo'lish uchun:

IBM MQ va JMeter: Birinchi aloqa
6-rasm: Ulanish zavodi protokolini tanlash

Keyingi bosqichda siz mavjud zavodni tanlashingiz va undan boshqa sozlamalarni nusxalashingiz mumkin. bosing Keyingi, agar yo'q bo'lsa:

IBM MQ va JMeter: Birinchi aloqa
7-rasm: Mavjud ulanish zavodi uchun sozlamalarni tanlash

Parametrlarni tanlash oynasida uchtasini ko'rsatish kifoya. Yorliqda Ulanish navbat menejeri nomini va uning joylashuvi bilan IP stendini ko'rsating (port 1414 tark):

IBM MQ va JMeter: Birinchi aloqa
8-rasm: Ulanish zavod parametrlarini sozlash

Va yorliqda Kanallar β€” ulanish uchun kanal. bosing tugatmoq bajarish uchun:

IBM MQ va JMeter: Birinchi aloqa
9-rasm: Ulanish zavodini yaratish tugallanmoqda

Endi navbatga ulanishni yaratamiz:

IBM MQ va JMeter: Birinchi aloqa
10-rasm: Maqsadli ob'ektni yaratish

Keling, do'stona ismni tanlaymiz (men navbatning haqiqiy nomini ko'rsatishni afzal ko'raman) va yozamiz navbat:

IBM MQ va JMeter: Birinchi aloqa
11-rasm: Maqsad nomi va turini tanlash

O'xshashlik bo'yicha 7-rasm Sozlamalarni mavjud navbatdan nusxalashingiz mumkin. Shuningdek bosing Keyingi, agar u birinchi bo'lsa:

IBM MQ va JMeter: Birinchi aloqa
12-rasm: Mavjud maqsad uchun sozlamalarni tanlash

Sozlamalar oynasida faqat menejer nomini va kerakli navbatni tanlang, bosing tugatmoq. Keyin JMeter bilan ishlash uchun zarur bo'lgan barcha navbatlar yaratilgunga qadar kerakli sonni takrorlang:

IBM MQ va JMeter: Birinchi aloqa
13-rasm: Maqsad yaratishni yakunlash

JMeter tayyorlanmoqda

JMeterni tayyorlash MQ bilan ishlash uchun zarur bo'lgan kutubxonalarni qo'shishni o'z ichiga oladi. Ular %wmq_home%/java/lib-da joylashgan. JMeterni ishga tushirishdan oldin ularni %jmeter_home%/lib/ext ga nusxalang.

  • 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
  • providerutil.jar

Taklif etilgan alternativ ro'yxat polarnik Π² izoh kichik nuance bilan: jms.jar o'rniga javax.jms-api-2.0.jar.
NoClassDEfFoundError xatosi jms.jar bilan yuzaga keldi, men uni hal qildim shu yerda.

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

Kutubxonalarning ikkala ro'yxati JMeter 5.0 va IBM MQ 8.0.0.4 bilan muvaffaqiyatli ishlaydi.

Sinov rejasini tuzish

JMeter elementlarining kerakli va etarli to'plami quyidagicha ko'rinadi:

IBM MQ va JMeter: Birinchi aloqa
14-rasm: Sinov rejasi

Sinov rejasi misolida beshta o'zgaruvchi mavjud. Ularning kichik soniga qaramay, men har xil turdagi o'zgaruvchilar uchun alohida konfiguratsiya elementlarini yaratishni tavsiya qilaman. Sinovlar o'sishi bilan bu navigatsiyani ancha osonlashtiradi. Bunday holda biz ikkita ro'yxatni olamiz. Birinchisi MQ ga ulanish parametrlarini o'z ichiga oladi (qarang. Shakl 2 ΠΈ Shakl 4):

IBM MQ va JMeter: Birinchi aloqa
15-rasm: MQ ulanish imkoniyatlari

Ikkinchisi, navbatlarga ishora qiluvchi maqsadli ob'ektlarning nomlari:

IBM MQ va JMeter: Birinchi aloqa
16-rasm: Parametrlangan navbat nomlari

JMS Publisher-ni sinov xabarini chiquvchi navbatga yuklash uchun sozlash qoladi:

IBM MQ va JMeter: Birinchi aloqa
17-rasm: JMS Publisher dasturini sozlash

Va JMS obunachisi kiruvchi navbatdagi xabarni o'qish uchun:

IBM MQ va JMeter: Birinchi aloqa
18-rasm: JMS obunachisini sozlash

Har bir narsa to'g'ri bajarilgan bo'lsa, tinglovchida bajarilish natijasi yorqin va quvnoq yashil ranglar bilan to'ldiriladi.

xulosa

Men marshrutlash va ma'muriyat masalalarini ataylab o'tkazib yubordim; bu alohida nashrlar uchun juda samimiy va keng mavzular.

Bundan tashqari, navbatlar, ma'lumotlar bazalari va fayllar bilan ishlashda nuanslarning katta qismi mavjud, ular haqida ham alohida va batafsil gapirishni xohlayman.

Vaqtingizni tejang. Va e'tiboringiz uchun rahmat.

IBM MQ va JMeter: Birinchi aloqa

Manba: www.habr.com