IBM MQ at JMeter: Unang contact

Hoy Habr!

Ito ay isang prequel sa akin nakaraang publikasyon at kasabay nito ang muling paggawa ng artikulo Awtomatikong pagsubok ng mga serbisyo gamit ang MQ protocol gamit ang JMeter.

Sa pagkakataong ito, sasabihin ko sa iyo ang tungkol sa aking karanasan sa pag-reconcile ng JMeter at IBM MQ para sa masayang pagsubok ng mga application sa IBM WAS. Napaharap ako sa ganoong gawain, hindi ito madali. Gusto kong tumulong na makatipid ng oras para sa lahat ng interesado.

IBM MQ at JMeter: Unang contact

Pagpapakilala

Tungkol sa proyekto: data bus, maraming xml na mensahe, tatlong exchange area (queues, database, file system), mga serbisyo sa web na may sariling logic sa pagpoproseso ng mensahe. Habang umuunlad ang proyekto, lalong naging mahirap ang manu-manong pagsubok. Ang Apache JMeter ay tinawag upang iligtas - malakas at open source, na may malaking komunidad ng mga user at isang friendly na interface. Ang kadalian ng pag-customize ng out-of-the-box na bersyon ay nagbibigay-daan sa iyo upang masakop ang anumang mga kaso, at ang pangako ng nangungunang developer na tumulong kung sakali (ito ay nakatulong) sa wakas ay nakumpirma ang aking pinili.

Paghahanda ng paunang konteksto

Para makipag-ugnayan sa queue manager, kailangan mo ng paunang konteksto. Mayroong ilang mga uri, dito dito maaari mong basahin ang higit pa.
Upang gawin ito, maginhawang gamitin ang MQ Explorer:

IBM MQ at JMeter: Unang contact
Figure 1: Pagdaragdag ng paunang konteksto

Piliin ang uri ng file ng konteksto at direktoryo ng imbakan .bindings file na maglalaman ng paglalarawan ng mga bagay na JNDI:

IBM MQ at JMeter: Unang contact
Figure 2: Pagpili ng unang uri ng konteksto

Pagkatapos ay maaari mong simulan ang paglikha ng mga bagay na ito. At magsimula sa factory ng koneksyon:

IBM MQ at JMeter: Unang contact
Figure 3: Paglikha ng factory ng koneksyon

Pumili ng magiliw na pangalan...

IBM MQ at JMeter: Unang contact
Figure 4: Pagpili ng pangalan ng factory ng koneksyon

... at i-type Pabrika ng Koneksyon ng Queue:

IBM MQ at JMeter: Unang contact
Figure 5: Pagpili ng uri ng pabrika ng koneksyon

Protocol - MQ Client upang magawang makipag-ugnayan sa MQ nang malayuan:

IBM MQ at JMeter: Unang contact
Larawan 6: Pagpili ng Protokol ng Pabrika ng Koneksyon

Sa susunod na hakbang, maaari kang pumili ng isang umiiral na factory at kumopya ng karagdagang mga setting mula dito. I-click susunod, kung wala:

IBM MQ at JMeter: Unang contact
Figure 7: Pagpili ng mga setting para sa isang umiiral na factory ng koneksyon

Sa window ng pagpili ng parameter, sapat na upang tukuyin ang tatlo. Sa tab koneksyon ipahiwatig ang pangalan ng queue manager at ang IP stand kasama ang lokasyon nito (port 1414 umalis):

IBM MQ at JMeter: Unang contact
Figure 8: Pag-configure ng Mga Parameter ng Pabrika ng Koneksyon

At sa tab Channel - channel para sa koneksyon. I-click Tapusin para makumpleto:

IBM MQ at JMeter: Unang contact
Figure 9: Pagkumpleto ng paggawa ng factory ng koneksyon

Ngayon gumawa tayo ng koneksyon sa pila:

IBM MQ at JMeter: Unang contact
Larawan 10: Paglikha ng Target na Bagay

Pumili tayo ng magiliw na pangalan (mas gusto kong ipahiwatig ang tunay na pangalan ng pila) at i-type pila:

IBM MQ at JMeter: Unang contact
Figure 11: Pagpili ng target na pangalan at uri

Sa pamamagitan ng pagkakatulad sa Larawan 7 Maaari mong kopyahin ang mga setting mula sa isang umiiral na queue. I-click din susunod, kung ito ang una:

IBM MQ at JMeter: Unang contact
Figure 12: Pagpili ng Mga Setting para sa isang Umiiral na Target

Sa window ng mga setting, piliin lamang ang pangalan ng manager at ang nais na pila, i-click Tapusin. Pagkatapos ay ulitin ang kinakailangang bilang ng beses hanggang sa malikha ang lahat ng mga pila na kailangan upang makipag-ugnayan sa JMeter:

IBM MQ at JMeter: Unang contact
Figure 13: Pagkumpleto ng target na paggawa

Inihahanda ang JMeter

Ang paghahanda ng JMeter ay kinabibilangan ng pagdaragdag ng mga aklatan na kailangan upang makipag-ugnayan sa MQ. Matatagpuan ang mga ito sa %wmq_home%/java/lib. Kopyahin ang mga ito sa %jmeter_home%/lib/ext bago simulan ang 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
  • providerutil.jar

Iminungkahi ang alternatibong listahan polarnik Π² komento na may maliit na nuance: javax.jms-api-2.0.jar sa halip na jms.jar.
Ang isang error na NoClassDEfFoundError ay nangyayari sa jms.jar, ang solusyon na aking nahanap dito.

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

Ang parehong mga listahan ng mga aklatan ay matagumpay na gumagana sa JMeter 5.0 at IBM MQ 8.0.0.4.

Pagse-set up ng test plan

Ang kailangan at sapat na hanay ng mga elemento ng JMeter ay ganito ang hitsura:

IBM MQ at JMeter: Unang contact
Larawan 14: Plano ng pagsubok

Mayroong limang variable sa halimbawang plano ng pagsubok. Sa kabila ng kanilang maliit na bilang, inirerekumenda ko ang paglikha ng hiwalay na mga elemento ng pagsasaayos para sa iba't ibang uri ng mga variable. Habang lumalaki ang mga pagsubok, gagawin nitong mas madali ang pag-navigate. Sa kasong ito, nakakakuha kami ng dalawang listahan. Ang una ay naglalaman ng mga parameter para sa pagkonekta sa MQ (tingnan. Figure 2 ΠΈ Figure 4):

IBM MQ at JMeter: Unang contact
Larawan 15: Mga Opsyon sa Koneksyon ng MQ

Ang pangalawa ay ang mga pangalan ng mga target na bagay na tumutukoy sa mga pila:

IBM MQ at JMeter: Unang contact
Larawan 16: Mga pangalan ng naka-parameter na pila

Ang natitira na lang ay i-configure ang JMS Publisher na i-load ang test message sa papalabas na queue:

IBM MQ at JMeter: Unang contact
Larawan 17: Pag-set up ng JMS Publisher

At JMS Subscriber para magbasa ng mensahe mula sa papasok na pila:

IBM MQ at JMeter: Unang contact
Figure 18: Pag-configure ng JMS Subscriber

Kung ang lahat ay tapos na nang tama, ang resulta ng pagpapatupad sa tagapakinig ay mapupuno ng maliwanag at masayang berdeng mga kulay.

Konklusyon

Sinadya kong tinanggal ang mga isyu ng pagruruta at pangangasiwa; ito ay medyo kilalang-kilala at malawak na mga paksa para sa magkakahiwalay na publikasyon.

Bilang karagdagan, mayroong isang makabuluhang bahagi ng mga nuances sa pagtatrabaho sa mga queue, database at mga file, na gusto ko ring pag-usapan nang hiwalay at detalyado.

I-save ang iyong oras. At salamat sa iyong pansin.

IBM MQ at JMeter: Unang contact

Pinagmulan: www.habr.com