Γεια σου Χαμπρ!
Αυτό είναι ένα prequel στο δικό μου
Αυτή τη φορά θα σας πω για την εμπειρία μου από τη συμφωνία του JMeter και του IBM MQ για ευχάριστες δοκιμές εφαρμογών στο IBM WAS. Ήμουν αντιμέτωπος με ένα τέτοιο έργο, δεν ήταν εύκολο. Θέλω να βοηθήσω στην εξοικονόμηση χρόνου για όλους όσους ενδιαφέρονται.
Εισαγωγή
Σχετικά με το έργο: δίαυλος δεδομένων, πολλά μηνύματα xml, τρεις περιοχές ανταλλαγής (ουρές, βάση δεδομένων, σύστημα αρχείων), υπηρεσίες web με τη δική τους λογική επεξεργασίας μηνυμάτων. Καθώς το έργο προχωρούσε, οι χειροκίνητες δοκιμές έγιναν όλο και πιο δύσκολοι. Το Apache JMeter κλήθηκε στη διάσωση - ισχυρό και ανοιχτού κώδικα, με μεγάλη κοινότητα χρηστών και φιλική διεπαφή. Η ευκολία προσαρμογής της έκδοσης εκτός συσκευασίας σάς επιτρέπει να καλύψετε τυχόν περιπτώσεις και η υπόσχεση του κύριου προγραμματιστή να βοηθήσει αν τίποτα (Βοήθησε) τελικά επιβεβαίωσε την επιλογή μου.
Προετοιμασία του αρχικού πλαισίου
Για να αλληλεπιδράσετε με τον διαχειριστή ουράς, χρειάζεστε ένα αρχικό πλαίσιο. Υπάρχουν διάφοροι τύποι, εδώ
Για να το δημιουργήσετε, είναι βολικό να χρησιμοποιήσετε το MQ Explorer:
Εικόνα 1: Προσθήκη αρχικού περιβάλλοντος
Επιλέξτε τον τύπο αρχείου περιβάλλοντος και τον κατάλογο αποθήκευσης .δεσίματα αρχείο που θα περιέχει μια περιγραφή των αντικειμένων JNDI:
Εικόνα 2: Επιλογή του αρχικού τύπου περιβάλλοντος
Στη συνέχεια, μπορείτε να ξεκινήσετε τη δημιουργία αυτών των αντικειμένων. Και ξεκινήστε με το εργοστάσιο σύνδεσης:
Εικόνα 3: Δημιουργία εργοστασίου σύνδεσης
Επιλέξτε ένα φιλικό όνομα...
Εικόνα 4: Επιλογή ονόματος εργοστασίου σύνδεσης
... και πληκτρολογήστε Queue Connection Factory:
Εικόνα 5: Επιλογή του εργοστασιακού τύπου σύνδεσης
Πρωτόκολλο - MQ Client για να μπορείτε να αλληλεπιδράσετε με το MQ εξ αποστάσεως:
Εικόνα 6: Επιλογή Πρωτοκόλλου Εργοστασίου Σύνδεσης
Στο επόμενο βήμα, μπορείτε να επιλέξετε ένα υπάρχον εργοστάσιο και να αντιγράψετε περαιτέρω ρυθμίσεις από αυτό. Κάντε κλικ Επόμενο, αν δεν υπάρχει:
Εικόνα 7: Επιλογή ρυθμίσεων για ένα υπάρχον εργοστάσιο σύνδεσης
Στο παράθυρο επιλογής παραμέτρων, αρκεί να ορίσετε τρεις. Στην καρτέλα σύνδεση υποδείξτε το όνομα του διαχειριστή ουράς και τη βάση IP με τη θέση του (θύρα 1414 άδεια):
Εικόνα 8: Διαμόρφωση εργοστασιακών παραμέτρων σύνδεσης
Και στην καρτέλα Κανάλια — κανάλι για σύνδεση. Κάντε κλικ φινίρισμα να ολοκληρωσω:
Εικόνα 9: Ολοκλήρωση της δημιουργίας εργοστασιακών συνδέσεων
Τώρα ας δημιουργήσουμε μια σύνδεση με την ουρά:
Εικόνα 10: Δημιουργία αντικειμένου στόχου
Ας επιλέξουμε ένα φιλικό όνομα (προτιμώ να αναφέρω το πραγματικό όνομα της ουράς) και ας πληκτρολογήσουμε Ουρά:
Εικόνα 11: Επιλογή ονόματος και τύπου στόχου
Κατ' αναλογία με Εικόνα 7 Μπορείτε να αντιγράψετε ρυθμίσεις από μια υπάρχουσα ουρά. Κάντε επίσης κλικ Επόμενο, αν είναι το πρώτο:
Εικόνα 12: Επιλογή ρυθμίσεων για έναν υπάρχοντα στόχο
Στο παράθυρο ρυθμίσεων, απλώς επιλέξτε το όνομα του διαχειριστή και την επιθυμητή ουρά, κάντε κλικ φινίρισμα. Στη συνέχεια επαναλάβετε τον απαιτούμενο αριθμό φορές μέχρι να δημιουργηθούν όλες οι ουρές που απαιτούνται για την αλληλεπίδραση με το 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
Προτείνεται εναλλακτική λίστα
Παρουσιάζεται σφάλμα 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 μοιάζει με αυτό:
Εικόνα 14: Σχέδιο δοκιμής
Υπάρχουν πέντε μεταβλητές στο σχέδιο δοκιμής του παραδείγματος. Παρά τον μικρό αριθμό τους, προτείνω τη δημιουργία ξεχωριστών στοιχείων διαμόρφωσης για διαφορετικούς τύπους μεταβλητών. Καθώς οι δοκιμές αυξάνονται, αυτό θα κάνει την πλοήγηση πολύ πιο εύκολη. Σε αυτή την περίπτωση, έχουμε δύο λίστες. Το πρώτο περιέχει παραμέτρους για τη σύνδεση στο MQ (βλ. Σχήμα 2 и Σχήμα 4):
Εικόνα 15: Επιλογές σύνδεσης MQ
Το δεύτερο είναι τα ονόματα των αντικειμένων-στόχων που αναφέρονται στις ουρές:
Εικόνα 16: Παραμετροποιημένα ονόματα ουρών
Το μόνο που μένει είναι να ρυθμίσετε τις παραμέτρους του JMS Publisher για να φορτώσει το δοκιμαστικό μήνυμα στην εξερχόμενη ουρά:
Εικόνα 17: Ρύθμιση του JMS Publisher
Και ο συνδρομητής JMS για να διαβάσει ένα μήνυμα από την εισερχόμενη ουρά:
Εικόνα 18: Διαμόρφωση συνδρομητή JMS
Εάν όλα γίνονται σωστά, το αποτέλεσμα της εκτέλεσης στο listner θα γεμίσει με φωτεινά και χαρούμενα πράσινα χρώματα.
Συμπέρασμα
Εσκεμμένα παρέλειψα τα ζητήματα της δρομολόγησης και της διαχείρισης· αυτά είναι μάλλον οικεία και εκτενή θέματα για ξεχωριστές δημοσιεύσεις.
Επιπλέον, υπάρχει ένα σημαντικό μέρος των αποχρώσεων στην εργασία με ουρές, βάσεις δεδομένων και αρχεία, για τις οποίες θα ήθελα επίσης να μιλήσω ξεχωριστά και λεπτομερώς.
Εξοικονομήστε χρόνο. Και ευχαριστώ για την προσοχή σας.
Πηγή: www.habr.com