Ola Habr!
Esta é unha precuela da miña
Esta vez falareivos da miña experiencia na conciliación de JMeter e IBM MQ para probas felices de aplicacións en IBM WAS. Atopeime con tal tarefa, non foi doado. Quero axudar a aforrar tempo para todos os interesados.
Introdución
Sobre o proxecto: bus de datos, moitas mensaxes xml, tres áreas de intercambio (colas, base de datos, sistema de ficheiros), servizos web con lóxica de procesamento de mensaxes propia. A medida que o proxecto avanzaba, as probas manuais facíanse cada vez máis difíciles. Apache JMeter foi chamado ao rescate: poderoso e de código aberto, cunha gran comunidade de usuarios e unha interface amigable. A facilidade de personalización da versión lista permíteche cubrir calquera caso e a promesa do desenvolvedor principal de axudar por se acaso (axudou) finalmente confirmou a miña elección.
Preparación do contexto inicial
Para interactuar co xestor de colas, necesitas un contexto inicial. Hai varios tipos, aquí
Para crealo, é conveniente usar MQ Explorer:
Figura 1: Engadindo un contexto inicial
Seleccione o tipo de ficheiro de contexto e o directorio de almacenamento .encadernacións ficheiro que conterá unha descrición dos obxectos JNDI:
Figura 2: Selección do tipo de contexto inicial
Entón podes comezar a crear estes obxectos. E comeza coa fábrica de conexións:
Figura 3: Creación dunha fábrica de conexións
Escolle un nome amigable...
Figura 4: Selección dun nome de fábrica de conexións
... e tipo Fábrica de conexións de cola:
Figura 5: Selección do tipo de fábrica de conexión
Protocolo - Cliente MQ para poder interactuar con MQ de forma remota:
Figura 6: Selección do protocolo de fábrica de conexións
No seguinte paso, pode seleccionar unha fábrica existente e copiar máis axustes dela. Fai clic seguinte, se non hai ningunha:
Figura 7: Selección de configuracións para unha fábrica de conexións existente
Na xanela de selección de parámetros, abonda con especificar tres. Na pestana Conexión indicar o nome do xestor de colas e o soporte IP coa súa localización (port 1414 saír):
Figura 8: Configuración dos parámetros de fábrica de conexións
E na pestana Canles - canle de conexión. Fai clic Rematar completar:
Figura 9: Completando a creación da fábrica de conexións
Agora imos crear unha conexión coa cola:
Figura 10: Creación dun obxecto de destino
Escollemos un nome amigable (prefiro indicar o nome real da cola) e escriba cola:
Figura 11: Selección do nome e do tipo de destino
Por analoxía con Figura 7 Pode copiar a configuración dunha cola existente. Tamén fai clic seguinte, se é o primeiro:
Figura 12: Selección de configuracións para un destino existente
Na xanela de configuración, só tes que seleccionar o nome do xestor e a cola desexada, fai clic Rematar. A continuación, repita o número necesario de veces ata que se creen todas as colas necesarias para interactuar con JMeter:
Figura 13: Completando a creación do obxectivo
Preparando JMeter
A preparación de JMeter implica engadir as bibliotecas necesarias para interactuar con MQ. Están localizados en %wmq_home%/java/lib. Cópiaos en %jmeter_home%/lib/ext antes de 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
Lista alternativa suxerida
Prodúcese un erro NoClassDEfFoundError con jms.jar, a solución á que atopei
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- providerutil.jar
Ambas listas de bibliotecas funcionan correctamente con JMeter 5.0 e IBM MQ 8.0.0.4.
Establecemento dun plan de proba
O conxunto necesario e suficiente de elementos JMeter ten o seguinte aspecto:
Figura 14: Plan de proba
Hai cinco variables no plan de proba de exemplo. A pesar do seu pequeno número, recomendo crear elementos de configuración separados para diferentes tipos de variables. A medida que medran as probas, isto facilitará moito a navegación. Neste caso, obtemos dúas listas. O primeiro contén parámetros para conectarse a MQ (ver. Imaxe 2 и Imaxe 4):
Figura 15: Opcións de conexión MQ
O segundo son os nomes dos obxectos de destino que fan referencia ás filas:
Figura 16: Nomes de filas parametrizados
Todo o que queda é configurar JMS Publisher para cargar a mensaxe de proba na cola de saída:
Figura 17: Configuración de JMS Publisher
E o abonado JMS para ler unha mensaxe da cola de entrada:
Figura 18: Configuración do abonado JMS
Se todo se fai correctamente, o resultado da execución no listener estará cheo de cores verdes brillantes e alegres.
Conclusión
Omitín deliberadamente os temas de enrutamento e administración; estes son temas bastante íntimos e extensos para publicacións separadas.
Ademais, hai unha parte importante de matices no traballo con filas, bases de datos e ficheiros, dos que tamén me gustaría falar por separado e en detalle.
Aforra o teu tempo. E grazas pola túa atención.
Fonte: www.habr.com