Hola Habr!
Aquesta és una preqüela de la meva
Aquesta vegada us explicaré la meva experiència de conciliació de JMeter i IBM MQ per a proves feliços d'aplicacions a IBM WAS. Em vaig trobar davant d'una tasca així, no va ser fàcil. Vull ajudar a estalviar temps per a tots els interessats.
Introducció
Sobre el projecte: bus de dades, molts missatges xml, tres àrees d'intercanvi (cues, base de dades, sistema de fitxers), serveis web amb lògica de processament de missatges pròpia. A mesura que avançava el projecte, les proves manuals es feien cada cop més difícils. Apache JMeter va ser cridat al rescat: potent i de codi obert, amb una gran comunitat d'usuaris i una interfície amigable. La facilitat de personalització de la versió fora de la caixa us permet cobrir qualsevol cas i la promesa del desenvolupador principal d'ajudar-vos per si de cas (va ajudar) finalment va confirmar la meva elecció.
Preparació del context inicial
Per interactuar amb el gestor de cues, necessiteu un context inicial. N'hi ha de diversos tipus, aquí
Per crear-lo, és convenient utilitzar MQ Explorer:
Figura 1: Afegir un context inicial
Seleccioneu el tipus de fitxer de context i el directori d'emmagatzematge .enquadernacions fitxer que contindrà una descripció dels objectes JNDI:
Figura 2: Selecció del tipus de context inicial
A continuació, podeu començar a crear aquests objectes. I comenceu amb la fàbrica de connexions:
Figura 3: Creació d'una fàbrica de connexions
Tria un nom amigable...
Figura 4: Selecció d'un nom de fàbrica de connexions
... i escriviu Fàbrica de connexions a la cua:
Figura 5: Selecció del tipus de fàbrica de connexió
Protocol - Client MQ per poder interactuar amb MQ de forma remota:
Figura 6: Selecció del protocol de fàbrica de connexió
En el següent pas, podeu seleccionar una fàbrica existent i copiar-ne més configuracions. Feu clic Següent, si no n'hi ha cap:
Figura 7: selecció de la configuració per a una fàbrica de connexions existent
A la finestra de selecció de paràmetres n'hi ha prou amb especificar-ne tres. A la pestanya Connexió indiqueu el nom del gestor de cues i l'estand IP amb la seva ubicació (port 1414 marxar):
Figura 8: Configuració de la configuració de fàbrica de connexió
I a la pestanya canals - canal per a la connexió. Feu clic Finish completar:
Figura 9: Finalització de la creació de la fàbrica de connexions
Ara creem una connexió a la cua:
Figura 10: Creació d'un objecte objectiu
Triem un nom amigable (prefereixo indicar el nom real de la cua) i escrivim cua:
Figura 11: Selecció del nom i el tipus de destinació
Per analogia amb Figura 7 Podeu copiar la configuració d'una cua existent. També feu clic Següent, si és el primer:
Figura 12: Selecció de la configuració per a un objectiu existent
A la finestra de configuració, només cal que seleccioneu el nom del gestor i la cua desitjada, feu clic Finish. A continuació, repetiu el nombre de vegades necessari fins que s'hagin creat totes les cues necessàries per interactuar amb JMeter:
Figura 13: Finalització de la creació de l'objectiu
Preparant JMeter
La preparació de JMeter implica afegir les biblioteques necessàries per interactuar amb MQ. Es troben a %wmq_home%/java/lib. Copieu-los a %jmeter_home%/lib/ext abans d'iniciar 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
Llista alternativa suggerida
Es produeix un error NoClassDEfFoundError amb jms.jar, la solució a la qual he trobat
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- providerutil.jar
Ambdues llistes de biblioteques funcionen correctament amb JMeter 5.0 i IBM MQ 8.0.0.4.
Establiment d'un pla de proves
El conjunt necessari i suficient d'elements JMeter té aquest aspecte:
Figura 14: Pla de proves
Hi ha cinc variables al pla de prova d'exemple. Malgrat el seu petit nombre, recomano crear elements de configuració separats per a diferents tipus de variables. A mesura que creixin les proves, això facilitarà molt la navegació. En aquest cas, obtenim dues llistes. El primer conté paràmetres per connectar-se a MQ (vegeu. Figura 2 и Figura 4):
Figura 15: Opcions de connexió MQ
El segon són els noms dels objectes de destinació que fan referència a les cues:
Figura 16: Noms de cues parametritzats
Tot el que queda és configurar JMS Publisher per carregar el missatge de prova a la cua de sortida:
Figura 17: Configuració de JMS Publisher
I el subscriptor JMS per llegir un missatge de la cua entrant:
Figura 18: Configuració del subscriptor JMS
Si tot es fa correctament, el resultat de l'execució al listener s'omplirà de colors verds brillants i alegres.
Conclusió
Vaig ometre deliberadament els problemes d'encaminament i administració; aquests són temes més aviat íntims i extensos per a publicacions separades.
A més, hi ha una part important de matisos en el treball amb cues, bases de dades i fitxers, dels quals també m'agradaria parlar per separat i amb detall.
Estalvieu el vostre temps. I gràcies per la vostra atenció.
Font: www.habr.com