IBM MQ a JMeter: První kontakt

Ahoj, Habr!

Tohle je prequel mého předchozí publikace a zároveň remake článku Automatizované testování služeb využívajících MQ protokol pomocí JMeter.

Tentokrát se podělím o svou zkušenost s integrací JMeter a IBM MQ pro radostné testování aplikací na IBM WAS. S tímto úkolem jsem se setkal a nebylo to snadné. Chci pomoci všem zainteresovaným ušetřit čas.

IBM MQ a JMeter: První kontakt

Úvod

O projektu: datová sběrnice, množství xml zpráv, tři oblasti výměny (fronty, databáze, souborový systém), webové služby se svojí logikou zpracování zpráv. S postupem vývoje projektu bylo čím dál tím obtížnější testovat ručně. Na pomoc přišel Apache JMeter — výkonný a open-source nástroj s velkým uživatelským komunitou a přívětivým rozhraním. Snadná customizace verze "out of the box" pokrývá jakékoli scénáře, a slib hlavního vývojáře pomoci pokud bude potřeba (skutečně pomohl) mě definitivně utvrdil v rozhodnutí.

Příprava počátečního kontextu

Pro interakci s manažerem front potřebujeme počáteční kontext. Může mít několik typů, zde tady můžete se dočíst více.
Pro jeho vytvoření je pohodlné použít MQ Explorer:

IBM MQ a JMeter: První kontakt
Obrázek 1: Přidání počátečního kontextu

Vyberte typ kontextu a adresář pro ukládání .bindings souboru, který bude obsahovat popis JNDI objektů:

IBM MQ a JMeter: První kontakt
Obrázek 2: Výběr typu počátečního kontextu

Poté můžeme začít vytvářet tyto objekty. A začneme u továrny na spojení:

IBM MQ a JMeter: První kontakt
Obrázek 3: Vytváření továrny na spojení

Vyberte jasný název…

IBM MQ a JMeter: První kontakt
Obrázek 4: Výběr názvu továrny na spojení

… a typ Queue Connection Factory:

IBM MQ a JMeter: První kontakt
Obrázek 5: Výběr typu továrny na spojení

Protokol — MQ Client pro možnost vzdálené interakce s MQ:

IBM MQ a JMeter: První kontakt
Obrázek 6: Výběr protokolu továrny na spojení

V dalším kroku můžete vybrat již existující továrnu a další nastavení z ní zkopírovat. Klikněte Další, pokud taková není:

IBM MQ a JMeter: První kontakt
Obrázek 7: Výběr nastavení existující továrny na spojení

V okně výběru parametrů stačí zadat tři. Na kartě Connection uvést jméno manažera front a ip adresu standu s jeho umístěním (port 1414 nechat):

IBM MQ a JMeter: První kontakt
Obrázek 8: Nastavení parametrů továrny na spojení

A na kartě Channels — kanál pro připojení. Klikněte Dokončit pro dokončení:

IBM MQ a JMeter: První kontakt
Obrázek 9: Dokončení vytvoření továrny na spojení

Nyní vytvoříme připojení k frontě:

IBM MQ a JMeter: První kontakt
Obrázek 10: Vytvoření cílového objektu

Zvolíme jasný název (preferuji uvádět skutečný název fronty) a typ Fronta:

IBM MQ a JMeter: První kontakt
Obrázek 11: Výběr názvu a typu cílového objektu

Analogicky s Obrázkem 7 můžeme zkopírovat nastavení z existující fronty. Také stiskneme Další, pokud je první:

IBM MQ a JMeter: První kontakt
Obrázek 12: Výběr nastavení existujícího cílového objektu

V okně nastavení stačí vybrat jméno manažera a požadovanou frontu, stisknout Dokončit. Poté opakujeme požadovaný početkrát, dokud nebudou vytvořeny všechny fronty potřebné pro interakci s JMeterem:

IBM MQ a JMeter: První kontakt
Obrázek 13: Dokončení vytváření cílového objektu

Příprava JMeteru

Příprava JMeteru spočívá v přidání knihoven nezbytných pro interakci s MQ. Ty se nacházejí v %wmq_home%/java/lib. Zkopírujte je do %jmeter_home%/lib/ext před spuštěním JMeteru.

  • 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

Alternativní seznam, navrhovaný polarnik v komentáře s malou nuancí: javax.jms-api-2.0.jar místo jms.jar.
S jms.jar vzniká chyba NoClassDEfFoundError, jejíž řešení nalezl tady.

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

Oba seznamy knihoven úspěšně fungují s JMeterem 5.0 a IBM MQ 8.0.0.4.

Nastavení testovacího plánu

Potřebný a dostatečný soubor elementů JMeteru vypadá takto:

IBM MQ a JMeter: První kontakt
Obrázek 14: Testovací plán

V příkladu testovacího plánu je pět proměnných. I přes malé množství doporučuji vytvářet samostatné konfigurační prvky pro různé typy proměnných. S rostoucím počtem testů to výrazně usnadní navigaci. V tomto případě vznikají dva seznamy. První obsahuje parametry připojení k MQ (viz. Obrázek 2 a Obrázek 4):

IBM MQ a JMeter: První kontakt
Obrázek 15: Parametry připojení k MQ

Druhý — názvy cílových objektů, které odkazují na fronty:

IBM MQ a JMeter: První kontakt
Obrázek 16: Parametrizované názvy front

Zbývá nastavit JMS Publisher pro nahrání testovací zprávy do výchozí fronty:

IBM MQ a JMeter: První kontakt
Obrázek 17: Nastavení JMS Publisher

A JMS Subscriber pro čtení zprávy z příchozí fronty:

IBM MQ a JMeter: První kontakt
Obrázek 18: Nastavení JMS Subscriber

Pokud je vše uděláno správně, výsledek vykonání se v listeneru naplní jasnými a veselými zelenými barvami.

Závěr

Úmyslně jsem opustil témata směrování a správy, jedná se o poměrně intimní a rozsáhlá témata pro samostatné publikace.

Kromě toho existuje řada nuancí v práci s frontami, databázemi a soubory, o kterých bychom chtěli hovořit samostatně a podrobně.

Chraňte svůj čas. A děkujeme za pozornost.

IBM MQ a JMeter: První kontakt

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster