Haai Habr!
Dit is 'n prequel vir myne
Hierdie keer sal ek jou vertel van my ervaring van die versoening van JMeter en IBM MQ vir gelukkige toetsing van toepassings op IBM WAS. Ek het voor so 'n taak gestaan, dit was nie maklik nie. Ek wil help om tyd te bespaar vir almal wat belangstel.
Inleiding
Oor die projek: databus, baie xml-boodskappe, drie uitruilareas (toue, databasis, lêerstelsel), webdienste met hul eie boodskapverwerkingslogika. Soos die projek gevorder het, het handtoetsing al hoe moeiliker geword. Apache JMeter is tot die redding geroep - kragtig en oopbron, met 'n groot gemeenskap van gebruikers en 'n vriendelike koppelvlak. Die gemak van aanpassing van die out-of-the-box weergawe laat jou toe om enige gevalle te dek, en die hoofontwikkelaar se belofte om te help net vir ingeval (dit het wel gehelp) het uiteindelik my keuse bevestig.
Voorbereiding van die aanvanklike konteks
Om met die toubestuurder te kommunikeer, benodig jy 'n aanvanklike konteks. Daar is verskeie tipes, hier
Om dit te skep, is dit gerieflik om MQ Explorer te gebruik:
Figuur 1: Voeg 'n aanvanklike konteks by
Kies die kontekslêertipe en bergingsgids .bindings lêer wat 'n beskrywing van JNDI-objekte sal bevat:
Figuur 2: Kies die aanvanklike kontekstipe
Dan kan jy begin om hierdie voorwerpe te skep. En begin met die verbindingsfabriek:
Figuur 3: Skep 'n verbindingsfabriek
Kies 'n vriendelike naam...
Figuur 4: Kies 'n verbindingsfabrieknaam
... en tik Tou-verbindingsfabriek:
Figuur 5: Kies die tipe verbindingsfabriek
Protokol - MQ kliënt om op afstand met MQ te kan kommunikeer:
Figuur 6: Connection Factory Protocol Seleksie
In die volgende stap kan jy 'n bestaande fabriek kies en verdere instellings daaruit kopieer. Klik volgende, as daar nie een is nie:
Figuur 7: Kies instellings vir 'n bestaande verbindingsfabriek
In die parameterkeusevenster is dit genoeg om drie te spesifiseer. Op die blad verband dui die naam van die toubestuurder en die IP-staanplek aan met sy ligging (poort 1414 verlaat):
Figuur 8: Konfigurasie van verbindingsfabriekparameters
En op die blad Kanale — kanaal vir verbinding. Klik Voltooi om te voltooi:
Figuur 9: Voltooiing van verbindingsfabriekskepping
Kom ons skep nou 'n verbinding met die tou:
Figuur 10: Skep 'n teikenvoorwerp
Kom ons kies 'n vriendelike naam (ek verkies om die regte naam van die tou aan te dui) en tik tou:
Figuur 11: Kies teikennaam en tipe
Deur analogie met Figuur 7 Jy kan instellings vanaf 'n bestaande tou kopieer. Klik ook volgende, as dit die eerste is:
Figuur 12: Kies instellings vir 'n bestaande teiken
In die instellingsvenster, kies net die naam van die bestuurder en die verlangde tou, klik Voltooi. Herhaal dan die vereiste aantal kere totdat al die toue wat nodig is om met JMeter te kommunikeer, geskep is:
Figuur 13: Voltooiing van teikenskepping
Berei JMeter voor
Die voorbereiding van JMeter behels die toevoeging van die biblioteke wat nodig is om met MQ te kommunikeer. Hulle is geleë in %wmq_home%/java/lib. Kopieer hulle na %jmeter_home%/lib/ext voordat JMeter begin word.
- 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
Alternatiewe lys voorgestel
'n Fout NoClassDEfFoundError kom voor met jms.jar, die oplossing waarvoor ek gevind het
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- providerutil.jar
Albei lyste biblioteke werk suksesvol met JMeter 5.0 en IBM MQ 8.0.0.4.
Stel 'n toetsplan op
Die nodige en voldoende stel JMeter-elemente lyk soos volg:
Figuur 14: Toetsplan
Daar is vyf veranderlikes in die voorbeeld toetsplan. Ten spyte van hul klein aantal, beveel ek aan om aparte konfigurasie-elemente vir verskillende tipes veranderlikes te skep. Soos toetse groei, sal dit navigasie baie makliker maak. In hierdie geval kry ons twee lyste. Die eerste bevat parameters om aan MQ te koppel (sien. Figuur 2 и Figuur 4):
Figuur 15: MQ-verbindingsopsies
Die tweede is die name van die teikenobjekte wat na die toue verwys:
Figuur 16: Geparametriseerde touname
Al wat oorbly is om JMS Publisher op te stel om die toetsboodskap in die uitgaande tou te laai:
Figuur 17: Stel JMS Publisher op
En JMS-intekenaar om 'n boodskap uit die inkomende tou te lees:
Figuur 18: Stel JMS-intekenaar op
As alles korrek gedoen word, sal die resultaat van uitvoering in die luisteraar gevul word met helder en vrolike groen kleure.
Gevolgtrekking
Ek het doelbewus die kwessies van roetering en administrasie weggelaat; dit is taamlik intieme en uitgebreide onderwerpe vir aparte publikasies.
Daarbenewens is daar 'n aansienlike gedeelte van nuanses in die werk met rye, databasisse en lêers, waaroor ek ook afsonderlik en in detail wil praat.
Spaar jou tyd. En dankie vir jou aandag.
Bron: will.com