IBM MQ ja JMeter: Ensimmäinen yhteydenotto

Hei Habr!

Tämä on esiosa omalleni edellinen julkaisu ja samalla artikkelin uusintaversio Palveluiden automaattinen testaus MQ-protokollalla JMeterin avulla.

Tällä kertaa kerron kokemuksestani JMeterin ja IBM MQ:n yhteensovittamisesta sovellusten onnelliseen testaamiseen IBM WAS:ssa. Olin sellaisen tehtävän edessä, se ei ollut helppoa. Haluan auttaa säästämään aikaa kaikille kiinnostuneille.

IBM MQ ja JMeter: Ensimmäinen yhteydenotto

Esittely

Tietoa projektista: dataväylä, paljon xml-viestejä, kolme vaihtoaluetta (jonot, tietokanta, tiedostojärjestelmä), web-palvelut omalla viestinkäsittelylogiikallaan. Projektin edetessä manuaalinen testaus vaikeutui. Apache JMeter kutsuttiin apuun – tehokkaalla ja avoimella lähdekoodilla, suurella käyttäjäyhteisöllä ja ystävällisellä käyttöliittymällä. Valmisversion mukauttamisen helppouden ansiosta voit kattaa kaikki tapaukset ja pääkehittäjän lupauksen auttaa jos mitään (se auttoi) vahvisti lopulta valintani.

Alkukontekstin valmistelu

Jotta voit olla vuorovaikutuksessa jononhallinnan kanssa, tarvitset alustavan kontekstin. Täällä on useita tyyppejä täällä voit lukea lisää.
Sen luomiseen on kätevää käyttää MQ Exploreria:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 1: Alkukontekstin lisääminen

Valitse kontekstitiedostotyyppi ja tallennushakemisto .sidokset tiedosto, joka sisältää kuvauksen JNDI-objekteista:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 2: Alkukontekstityypin valinta

Sitten voit aloittaa näiden objektien luomisen. Ja aloita yhteystehtaalla:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 3: Yhteystehtaan luominen

Valitse ystävällinen nimi...

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 4: Yhteystehtaan nimen valitseminen

...ja tyyppi Jonoyhteystehdas:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 5: Yhteystehdastyypin valinta

Protokolla - MQ asiakas voidaksesi olla vuorovaikutuksessa MQ:n kanssa etänä:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 6: Yhteystehtaan protokollan valinta

Seuraavassa vaiheessa voit valita olemassa olevan tehtaan ja kopioida siitä lisää asetuksia. Klikkaus seuraava, jos sellaista ei ole:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 7: Olemassa olevan yhteystehtaan asetusten valinta

Parametrien valintaikkunassa riittää, että määrität kolme. Välilehdellä Yhteys ilmoita jononhallinnan nimi ja IP-jalusta ja sen sijainti (portti 1414 lähteä):

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 8: Yhteyden tehdasparametrien määrittäminen

Ja välilehdellä Kanavat - yhteyskanava. Klikkaus Suorittaa loppuun saada valmiiksi:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 9: ​​Yhteystehtaan luominen on valmis

Luodaan nyt yhteys jonoon:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 10: Kohdeobjektin luominen

Valitaan ystävällinen nimi (ilmoitan mieluummin jonon oikean nimen) ja kirjoita Jono:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 11: Kohteen nimen ja tyypin valitseminen

Analogisesti kanssa Kuva 7 Voit kopioida asetukset olemassa olevasta jonosta. Napsauta myös seuraava, jos se on ensimmäinen:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 12: Asetusten valitseminen olemassa olevalle kohteelle

Valitse asetusikkunassa vain johtajan nimi ja haluamasi jono, napsauta Suorittaa loppuun. Toista sitten tarvittava määrä kertoja, kunnes kaikki JMeterin kanssa vuorovaikutukseen tarvittavat jonot on luotu:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 13: Kohteen luomisen viimeistely

JMeteriä valmistellaan

JMeterin valmisteluun kuuluu MQ:n kanssa vuorovaikutuksessa tarvittavien kirjastojen lisääminen. Ne sijaitsevat hakemistossa %wmq_home%/java/lib. Kopioi ne tiedostoon %jmeter_home%/lib/ext ennen JMeterin käynnistämistä.

  • 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

Vaihtoehtoinen lista ehdotettu polarnik в комментарии pienellä vivahteella: javax.jms-api-2.0.jar jms.jar sijaan.
NoClassDEfFoundError-virhe ilmenee jms.jar-sovelluksessa, jonka ratkaisun löysin täällä.

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

Molemmat kirjastoluettelot toimivat onnistuneesti JMeter 5.0:n ja IBM MQ 8.0.0.4:n kanssa.

Testisuunnitelman laatiminen

Tarvittava ja riittävä joukko JMeter-elementtejä näyttää tältä:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 14: Testisuunnitelma

Esimerkkitestisuunnitelmassa on viisi muuttujaa. Pienestä määrästä huolimatta suosittelen erilaisten konfiguraatioelementtien luomista erityyppisille muuttujille. Testien kasvaessa tämä tekee navigoinnista paljon helpompaa. Tässä tapauksessa saamme kaksi luetteloa. Ensimmäinen sisältää parametrit MQ-liitäntää varten (katso. Kuvio 2 и Kuvio 4):

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 15: MQ-liitäntävaihtoehdot

Toinen on jonoihin viittaavien kohdeobjektien nimet:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 16: Parametriset jonojen nimet

Jäljelle jää vain määrittää JMS Publisher lataamaan testiviesti lähtevään jonoon:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 17: JMS Publisherin määrittäminen

Ja JMS-tilaaja lukemaan viestin saapuvasta jonosta:

IBM MQ ja JMeter: Ensimmäinen yhteydenotto
Kuva 18: JMS-tilaajan määrittäminen

Jos kaikki tehdään oikein, suorituksen tulos listassa täyttyy kirkkailla ja iloisilla vihreillä väreillä.

Johtopäätös

Jätin tietoisesti pois reititys- ja hallintokysymykset, ne ovat melko intiimejä ja laajoja aiheita erillisiin julkaisuihin.

Lisäksi jonojen, tietokantojen ja tiedostojen kanssa työskentelyssä on merkittävä osa vivahteita, joista haluaisin myös puhua erikseen ja yksityiskohtaisesti.

Säästä aikaasi. Ja kiitos huomiostasi.

IBM MQ ja JMeter: Ensimmäinen yhteydenotto

Lähde: will.com