Hoi Habr!
Dit is in prequel foar my
Dizze kear sil ik jo fertelle oer myn ûnderfining fan it fermoedsoenjen fan JMeter en IBM MQ foar lokkich testen fan applikaasjes op IBM WAS. Ik stie foar sa'n taak, it wie net maklik. Ik wol helpe om tiid te besparjen foar elkenien dy't ynteressearre is.
Ynlieding
Oer it projekt: databus, in protte xml-berjochten, trije útwikselingsgebieten (wachtrijen, database, bestânsysteem), webtsjinsten mei in eigen berjochtferwurkingslogika. As it projekt foarútgong, waard hânmjittich testen hieltyd dreger. Apache JMeter waard oproppen ta de rêding - krêftige en iepen boarne, mei in grutte mienskip fan brûkers en in freonlike ynterface. It gemak fan oanpassing fan 'e out-of-the-box ferzje lit jo alle gefallen dekke, en de belofte fan' e haadûntwikkelder om te helpen krekt yn gefal (it holp) úteinlik befêstige myn kar.
De earste kontekst tariede
Om ynteraksje mei de wachtrige manager, hawwe jo in earste kontekst nedich. D'r binne ferskate soarten, hjir
Om it te meitsjen, is it handich om MQ Explorer te brûken:
Ofbylding 1: In earste kontekst tafoegje
Selektearje it type kontekstbestân en opslachmap .bindings bestân dat in beskriuwing fan JNDI-objekten sil befetsje:
Ofbylding 2: Selektearje it earste konteksttype
Dan kinne jo begjinne mei it meitsjen fan dizze objekten. En begjin mei it ferbiningfabryk:
figuer 3: It meitsjen fan in ferbining fabryk
Kies in freonlike namme ...
figuer 4: Selektearje in ferbining fabryk namme
... en type Wachtrie Connection Factory:
Figuer 5: Selektearje de ferbining fabryk type
Protokol - MQ Client om op ôfstân mei MQ te kinnen:
figuer 6: Ferbining Factory Protocol Seleksje
Yn 'e folgjende stap kinne jo in besteande fabryk selektearje en fierdere ynstellingen derút kopiearje. Klikje Folgjende, as der gjin is:
figuer 7: Selektearje ynstellings foar in besteande ferbining fabryk
Yn it finster foar seleksje fan parameters is it genôch om trije op te jaan. Op de ljepper Ferbining jouwe de namme fan 'e wachtrigebehearder en de IP-stand mei syn lokaasje oan (port 1414 ferlitte):
figuer 8: Konfigurearje Connection Factory Parameters
En op 'e ljepper kanalen - kanaal foar ferbining. Klikje Ein ôfmeitsje:
figuer 9: Ferbining fabryk oanmeitsjen
Litte wy no in ferbining meitsje mei de wachtrige:
figuer 10: It meitsjen fan in doelobjekt
Litte wy in freonlike namme kieze (ik geef leaver de echte namme fan 'e wachtrige oan) en type wachtrige:
Ofbylding 11: Selektearje doelnamme en type
Troch analogy mei figuer 7 Jo kinne ynstellings kopiearje fan in besteande wachtrige. Klik ek Folgjende, as it de earste is:
figuer 12: Selektearje ynstellings foar in besteande doel
Selektearje yn it ynstellingsfinster de namme fan 'e behearder en de winske wachtrige, klikje Ein. Werhelje dan it fereaske oantal kearen oant alle wachtrijen dy't nedich binne foar ynteraksje mei JMeter binne oanmakke:
figuer 13: It meitsjen fan doelen foltôgje
JMeter tariede
It tarieden fan JMeter omfettet it tafoegjen fan de biblioteken dy't nedich binne om te ynteraksje mei MQ. Se lizze yn %wmq_home%/java/lib. Kopiearje se nei %jmeter_home%/lib/ext foardat JMeter start.
- 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
Alternative list foarsteld
In flater NoClassDEfFoundError komt foar mei jms.jar, de oplossing dêr't ik fûn
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- providerutil.jar
Beide listen fan bibleteken wurkje mei súkses mei JMeter 5.0 en IBM MQ 8.0.0.4.
It opstellen fan in testplan
De nedige en foldwaande set fan JMeter-eleminten sjocht der sa út:
figuer 14: Test plan
D'r binne fiif fariabelen yn it foarbyld testplan. Nettsjinsteande harren lytse oantal, ik riede it meitsjen fan aparte konfiguraasje eleminten foar ferskillende soarten fan fariabelen. As testen groeie, sil dit de navigaasje folle makliker meitsje. Yn dit gefal krije wy twa listen. De earste befettet parameters foar ferbining mei MQ (sjoch. Ofbylding 2 и Ofbylding 4):
figuer 15: MQ Connection opsjes
De twadde is de nammen fan 'e doelobjekten dy't ferwize nei de wachtrijen:
figuer 16: Parameterized wachtrige nammen
Alles wat oerbliuwt is om JMS Publisher te konfigurearjen om it testberjocht yn 'e útgeande wachtrige te laden:
figuer 17: JMS Publisher ynstelle
En JMS Subscriber om in berjocht te lêzen fan 'e ynkommende wachtrige:
figuer 18: Ynstelle JMS Subscriber
As alles goed dien wurdt, sil it resultaat fan útfiering yn 'e listner fol wêze mei ljochte en fleurige griene kleuren.
konklúzje
Ik haw de problemen fan routing en administraasje mei opsetsin weilitten; dit binne nochal yntime en wiidweidige ûnderwerpen foar aparte publikaasjes.
Dêrnjonken sit der in grut part oan nuânses yn it wurkjen mei wachtrijen, databases en bestannen, dêr't ik ek wol apart en yn detail oer prate wolle.
Besparje jo tiid. En tank foar jo oandacht.
Boarne: www.habr.com