IBM MQ και JMeter: Πρώτη επαφή

Γεια σου Χαμπρ!

Αυτό είναι ένα prequel στο δικό μου προηγούμενη δημοσίευση και ταυτόχρονα ριμέικ του άρθρου Αυτοματοποιημένη δοκιμή υπηρεσιών με χρήση του πρωτοκόλλου MQ με χρήση JMeter.

Αυτή τη φορά θα σας πω για την εμπειρία μου από τη συμφωνία του JMeter και του IBM MQ για ευχάριστες δοκιμές εφαρμογών στο IBM WAS. Ήμουν αντιμέτωπος με ένα τέτοιο έργο, δεν ήταν εύκολο. Θέλω να βοηθήσω στην εξοικονόμηση χρόνου για όλους όσους ενδιαφέρονται.

IBM MQ και JMeter: Πρώτη επαφή

Εισαγωγή

Σχετικά με το έργο: δίαυλος δεδομένων, πολλά μηνύματα xml, τρεις περιοχές ανταλλαγής (ουρές, βάση δεδομένων, σύστημα αρχείων), υπηρεσίες web με τη δική τους λογική επεξεργασίας μηνυμάτων. Καθώς το έργο προχωρούσε, οι χειροκίνητες δοκιμές έγιναν όλο και πιο δύσκολοι. Το Apache JMeter κλήθηκε στη διάσωση - ισχυρό και ανοιχτού κώδικα, με μεγάλη κοινότητα χρηστών και φιλική διεπαφή. Η ευκολία προσαρμογής της έκδοσης εκτός συσκευασίας σάς επιτρέπει να καλύψετε τυχόν περιπτώσεις και η υπόσχεση του κύριου προγραμματιστή να βοηθήσει αν τίποτα (Βοήθησε) τελικά επιβεβαίωσε την επιλογή μου.

Προετοιμασία του αρχικού πλαισίου

Για να αλληλεπιδράσετε με τον διαχειριστή ουράς, χρειάζεστε ένα αρχικό πλαίσιο. Υπάρχουν διάφοροι τύποι, εδώ εδώ μπορείτε να διαβάσετε περισσότερα.
Για να το δημιουργήσετε, είναι βολικό να χρησιμοποιήσετε το MQ Explorer:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 1: Προσθήκη αρχικού περιβάλλοντος

Επιλέξτε τον τύπο αρχείου περιβάλλοντος και τον κατάλογο αποθήκευσης .δεσίματα αρχείο που θα περιέχει μια περιγραφή των αντικειμένων JNDI:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 2: Επιλογή του αρχικού τύπου περιβάλλοντος

Στη συνέχεια, μπορείτε να ξεκινήσετε τη δημιουργία αυτών των αντικειμένων. Και ξεκινήστε με το εργοστάσιο σύνδεσης:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 3: Δημιουργία εργοστασίου σύνδεσης

Επιλέξτε ένα φιλικό όνομα...

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 4: Επιλογή ονόματος εργοστασίου σύνδεσης

... και πληκτρολογήστε Queue Connection Factory:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 5: Επιλογή του εργοστασιακού τύπου σύνδεσης

Πρωτόκολλο - MQ Client για να μπορείτε να αλληλεπιδράσετε με το MQ εξ αποστάσεως:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 6: Επιλογή Πρωτοκόλλου Εργοστασίου Σύνδεσης

Στο επόμενο βήμα, μπορείτε να επιλέξετε ένα υπάρχον εργοστάσιο και να αντιγράψετε περαιτέρω ρυθμίσεις από αυτό. Κάντε κλικ Επόμενο, αν δεν υπάρχει:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 7: Επιλογή ρυθμίσεων για ένα υπάρχον εργοστάσιο σύνδεσης

Στο παράθυρο επιλογής παραμέτρων, αρκεί να ορίσετε τρεις. Στην καρτέλα σύνδεση υποδείξτε το όνομα του διαχειριστή ουράς και τη βάση IP με τη θέση του (θύρα 1414 άδεια):

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 8: Διαμόρφωση εργοστασιακών παραμέτρων σύνδεσης

Και στην καρτέλα Κανάλια — κανάλι για σύνδεση. Κάντε κλικ φινίρισμα να ολοκληρωσω:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 9: Ολοκλήρωση της δημιουργίας εργοστασιακών συνδέσεων

Τώρα ας δημιουργήσουμε μια σύνδεση με την ουρά:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 10: Δημιουργία αντικειμένου στόχου

Ας επιλέξουμε ένα φιλικό όνομα (προτιμώ να αναφέρω το πραγματικό όνομα της ουράς) και ας πληκτρολογήσουμε Ουρά:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 11: Επιλογή ονόματος και τύπου στόχου

Κατ' αναλογία με Εικόνα 7 Μπορείτε να αντιγράψετε ρυθμίσεις από μια υπάρχουσα ουρά. Κάντε επίσης κλικ Επόμενο, αν είναι το πρώτο:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 12: Επιλογή ρυθμίσεων για έναν υπάρχοντα στόχο

Στο παράθυρο ρυθμίσεων, απλώς επιλέξτε το όνομα του διαχειριστή και την επιθυμητή ουρά, κάντε κλικ φινίρισμα. Στη συνέχεια επαναλάβετε τον απαιτούμενο αριθμό φορές μέχρι να δημιουργηθούν όλες οι ουρές που απαιτούνται για την αλληλεπίδραση με το JMeter:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 13: Ολοκλήρωση δημιουργίας στόχου

Προετοιμασία JMeter

Η προετοιμασία του JMeter περιλαμβάνει την προσθήκη των βιβλιοθηκών που απαιτούνται για την αλληλεπίδραση με το MQ. Βρίσκονται στο %wmq_home%/java/lib. Αντιγράψτε τα στο %jmeter_home%/lib/ext πριν ξεκινήσετε το 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

Προτείνεται εναλλακτική λίστα polarnik в σχόλια με μια μικρή απόχρωση: javax.jms-api-2.0.jar αντί για jms.jar.
Παρουσιάζεται σφάλμα NoClassDEfFoundError με το jms.jar, τη λύση στην οποία βρήκα εδώ.

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

Και οι δύο λίστες βιβλιοθηκών λειτουργούν με επιτυχία με το JMeter 5.0 και το IBM MQ 8.0.0.4.

Δημιουργία σχεδίου δοκιμής

Το απαραίτητο και επαρκές σύνολο στοιχείων JMeter μοιάζει με αυτό:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 14: Σχέδιο δοκιμής

Υπάρχουν πέντε μεταβλητές στο σχέδιο δοκιμής του παραδείγματος. Παρά τον μικρό αριθμό τους, προτείνω τη δημιουργία ξεχωριστών στοιχείων διαμόρφωσης για διαφορετικούς τύπους μεταβλητών. Καθώς οι δοκιμές αυξάνονται, αυτό θα κάνει την πλοήγηση πολύ πιο εύκολη. Σε αυτή την περίπτωση, έχουμε δύο λίστες. Το πρώτο περιέχει παραμέτρους για τη σύνδεση στο MQ (βλ. Σχήμα 2 и Σχήμα 4):

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 15: Επιλογές σύνδεσης MQ

Το δεύτερο είναι τα ονόματα των αντικειμένων-στόχων που αναφέρονται στις ουρές:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 16: Παραμετροποιημένα ονόματα ουρών

Το μόνο που μένει είναι να ρυθμίσετε τις παραμέτρους του JMS Publisher για να φορτώσει το δοκιμαστικό μήνυμα στην εξερχόμενη ουρά:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 17: Ρύθμιση του JMS Publisher

Και ο συνδρομητής JMS για να διαβάσει ένα μήνυμα από την εισερχόμενη ουρά:

IBM MQ και JMeter: Πρώτη επαφή
Εικόνα 18: Διαμόρφωση συνδρομητή JMS

Εάν όλα γίνονται σωστά, το αποτέλεσμα της εκτέλεσης στο listner θα γεμίσει με φωτεινά και χαρούμενα πράσινα χρώματα.

Συμπέρασμα

Εσκεμμένα παρέλειψα τα ζητήματα της δρομολόγησης και της διαχείρισης· αυτά είναι μάλλον οικεία και εκτενή θέματα για ξεχωριστές δημοσιεύσεις.

Επιπλέον, υπάρχει ένα σημαντικό μέρος των αποχρώσεων στην εργασία με ουρές, βάσεις δεδομένων και αρχεία, για τις οποίες θα ήθελα επίσης να μιλήσω ξεχωριστά και λεπτομερώς.

Εξοικονομήστε χρόνο. Και ευχαριστώ για την προσοχή σας.

IBM MQ και JMeter: Πρώτη επαφή

Πηγή: www.habr.com