jmeter processors controllers
Επισκόπηση των προεπεξεργαστών και ελεγκτών στο JMeter (Μέρος-III):
=> Ακολουθήστε ολοκληρωμένες σειρές δωρεάν εκπαιδευτικών προγραμμάτων JMeter εδώ
Αυτό το άρθρο θα καθοδηγήσει τους χρήστες μέσω της χρήσης των Προεπεξεργαστών, των Επεξεργαστών και των ελεγκτών στο JMeter. Οι ελεγκτές είναι πολύ χρήσιμοι καθώς κάνουν τα σενάρια δοκιμής σας.
Ίσως θελήσετε να δοκιμάσετε διαφορετικά σενάρια στα οποία θέλετε να διαμορφώσετε τη δική σας ακολουθία ενός αιτήματος που αποστέλλεται σε έναν διακομιστή για την παρακολούθηση του χρόνου απόκρισης και άλλων παραγόντων απόδοσης.
Τι θα μάθετε:
- Προεπεξεργαστές
- Παράμετροι χρήστη
- Λήξη δείγματος
- Ελεγκτές
- Παράδειγμα σε πραγματικό χρόνο
- Πρότυπο εγγραφής του JMeter
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Προεπεξεργαστές
Αυτά είναι τα στοιχεία που εκτελούνται πριν εκτελεστεί ένα δείγμα. Μπορείτε να επισυνάψετε τον Προεπεξεργαστή με το δείγμα για το οποίο θέλετε να κάνετε κάποιες αλλαγές στο αίτημα.
Το απλούστερο μιας υπόθεσης θα μπορούσε να είναι η προσθήκη προεπεξεργαστή 'Sample Timeout' με ένα αίτημα HTTP, έτσι ώστε αυτό το αίτημα να εκτελείται μόνο για καθορισμένο χρονικό διάστημα. Διασφαλίζει επίσης ότι αυτή η τροποποίηση πραγματοποιείται μόνο για το γονικό Sampler.
Παρακάτω είναι μερικές από τις Προεπεξεργαστές που χρησιμοποιούνται στο JMeter:
- Προεπεξεργαστής Bean Shell
- Αναλυτής συνδέσμων HTML
- Επανεγγραφή URL HTTP
- Προεπεξεργαστής JDBC
- Δείγμα χρονικού ορίου
- Παράμετροι χρήστη
Οι πιο συχνά χρησιμοποιούμενες επεξηγούνται παρακάτω με παραδείγματα. Ίσως ή δεν χρειάζεστε όλα στα έργα σας. Προσπαθήστε να εντοπίσετε τα σενάρια που σχετίζονται με το έργο σας και να εφαρμόσετε αυτά που σας βοηθούν να καλύψετε σενάρια απόδοσης σε πραγματικό χρόνο.
Παράμετροι χρήστη
Οι παράμετροι χρήστη χρησιμοποιούνται για τον καθορισμό τιμών για τις μεταβλητές προτού χρησιμοποιηθούν στο Samplers. Όταν το JMeter εκτελεί αυτό το στοιχείο προ-επεξεργαστή, αποθηκεύει τις τιμές στις μεταβλητές που μπορούν να αναφερθούν από οποιουσδήποτε Samplers στην ίδια ομάδα νήματος.
πώς να δοκιμάσετε τον ιστότοπο σε διαφορετικά προγράμματα περιήγησης
Εάν έχετε περισσότερα νήματα από τον αριθμό των χρηστών στις 'Παράμετροι χρήστη' από τα επιπλέον νήματα θα επαναληφθούν ξανά μέσω των τιμών.
Για παράδειγμα, έχετε 5 χρήστες στην ομάδα του νήματός σας, αλλά μόνο 3 στον προ-επεξεργαστή, και στη συνέχεια το 4 σαςουκαι 5ουτο νήμα θα χρησιμοποιήσει param1 και param2 .
Λήξη δείγματος
Αυτός ο προεπεξεργαστής χρησιμοποιείται για τον καθορισμό της διάρκειας λήξης των αιτημάτων.
Για παράδειγμα, Αν έχετε δείξει χρόνο από 400 χιλιοστά του δευτερολέπτου, τότε όλα τα αιτήματα που απαιτούν χρόνο> 400 θα έχουν αποτυχημένη απάντηση. Δείτε παρακάτω στιγμιότυπα οθόνης.
Ελεγκτές
Οι ελεγκτές είναι πολύ σημαντικοί για τη δημιουργία ενός σχεδίου δοκιμών JMeter σε πραγματικό χρόνο. Καθορίζει την ακολουθία με την οποία τα αιτήματα αποστέλλονται στον διακομιστή.
Για παράδειγμα, Εάν θέλετε να δοκιμάσετε μια εφαρμογή ιστού στην οποία θέλετε να πραγματοποιείται είσοδος μία φορά και να κάνετε αναζήτηση, η επιλογή στοιχείων ζητά να πάει ένα προς ένα για όλες τις επαναλήψεις. Οι ελεγκτές το καθιστούν δυνατό με τη διαχείριση της ροής του αιτήματος που πηγαίνει στον διακομιστή υπό δοκιμή.
Παρακάτω είναι οι πιο συχνά χρησιμοποιούμενοι ελεγκτές στο JMeter
- Απλός ελεγκτής
- Ελεγκτής μονάδας
- Μόνο Ελεγκτής Μόνο
- Ελεγκτής Interleave
- Ελεγκτής βρόχου
- Εάν Ελεγκτής
- Για κάθε ελεγκτή
- Ελεγκτής εγγραφής κ.λπ.,
Απλός ελεγκτής
Ο απλός ελεγκτής δεν εκτελεί καμία συγκεκριμένη λειτουργία. Είναι απλώς ένα είδος κοντέινερ στο οποίο μπορείτε να κρατήσετε τα παρόμοια αιτήματά σας για να καταστήσετε το δοκιμαστικό σας σχέδιο εύκολα κατανοητό.
Ελεγκτής βρόχου
Εάν θέλετε κάποιο συγκεκριμένο αίτημα να εκτελεί περισσότερες επαναλήψεις από ό, τι ορίζεται στην ομάδα νήματος, μπορείτε να τα τοποθετήσετε στο Loop Controller και να εισαγάγετε τον αριθμό βρόχων στις ρυθμίσεις του ελεγκτή.
Παράδειγμα: Εάν έχετε μια ομάδα νήματος με 1 χρήστη και 3 επαναλήψεις, τότε όλα τα αιτήματά σας σε αυτήν την ομάδα θα εκτελούνται για 3 φορές. Τώρα, εάν έχετε δύο HTTP Sampler κάτω από έναν ελεγκτή βρόχου με αριθμό βρόχου 2, και τα δύο αυτά Samplers θα εκτελούσαν 1 * 3 * 2 = 6 φορές.
Δείτε τα παρακάτω στιγμιότυπα οθόνης που το εξηγούν περαιτέρω
Μόνο Ελεγκτής Μόνο
Αυτός ο ελεγκτής χρησιμοποιείται όταν θέλετε να εκτελέσετε κάποιο συγκεκριμένο αίτημα μόνο μία φορά ακόμα κι αν έχετε πολλά νήματα στην ομάδα νήματος. Το απλούστερο παράδειγμα που μπορεί να ληφθεί υπόψη είναι «Ανάκτηση αρχικής σελίδας ιστότοπου» ή «Σύνδεση σε εφαρμογή Ιστού». Το σενάριο σε πραγματικό χρόνο θα ήθελε να συμβεί μόνο μία φορά και άλλα αιτήματα όπως αναζήτηση ή επεξεργασία / διαγραφή κάτι να συμβεί πολλές φορές.
Το αίτημα που πρέπει να εκτελεστεί μόνο μία φορά μπορεί να τοποθετηθεί κάτω από το Once Only Controller. Ανατρέξτε στο παρακάτω στιγμιότυπο οθόνης για την αναφορά σας. Μόλις οι ρυθμίσεις μόνο του ελεγκτή παρακάμπτουν τις ρυθμίσεις της ομάδας γονικού νήματος.
Ελεγκτής εγγραφής
Ακριβώς όπως το Simple Controller, το Recording Controller δεν τροποποιεί καμία ακολουθία των αιτημάτων που αποστέλλονται στον διακομιστή. Χρησιμοποιείται με HTTP (S) Script Recorder. Όλα τα αιτήματα που καταγράφονται με αυτό το στοιχείο μη δοκιμής αποθηκεύονται στον ελεγκτή εγγραφής.
Πρέπει να καθορίσετε τον ελεγκτή προορισμού για να αποθηκεύσετε τα καταγεγραμμένα αιτήματα που έγιναν στον διακομιστή.
Ο ελεγκτής εγγραφής και η εγγραφή σεναρίων HTTP (ες) έρχονται σε εικόνα όταν οι υπεύθυνοι δοκιμών δεν έχουν τις πληροφορίες σχετικά με τις διευθύνσεις URL και τις παραμέτρους αιτημάτων. Μπορούν απλά να καταγράψουν και να συλλάβουν όλα τα αιτήματα που χτυπούν τους διακομιστές τους. Αυτό λειτουργεί τόσο για κινητά όσο και για έργα στο διαδίκτυο.
Ελεγκτής απόδοσης
Αυτός ο ελεγκτής χρησιμοποιείται επίσης για τον έλεγχο της ροής εκτέλεσης. Όπως φαίνεται στο παρακάτω απόκομμα, αυτός ο ελεγκτής χωρίζεται περαιτέρω σε δύο μέρη:
Ποσοστό εκτέλεσης - Αυτή η επιλογή θα κάνει το Jmeter να εκτελεί μόνο ένα συγκεκριμένο ποσοστό των συνολικών επαναλήψεων για Samplers που βρίσκονται κάτω από αυτόν τον ελεγκτή. Μπορείτε επίσης να επιλέξετε το πλαίσιο ελέγχου 'Ανά χρήστη' για να το ελέγξετε σε επίπεδο χρήστη.
Για παράδειγμα, Το Thread Group έχει διαμορφωθεί ώστε να έχει 10 χρήστες και ο αριθμός βρόχων είναι 5. Επομένως, οι συνολικές επαναλήψεις είναι 50. Εάν το% εκτέλεσης έχει οριστεί στο 50%, τότε όλοι οι δειγματοληπτές στο πλαίσιο του Throughput Controller θα κάνουν μόνο 25 επαναλήψεις (50% από 50).
Σύνολο εκτελέσεων - Αυτό επιτρέπει στους χρήστες να καθορίσουν τον αριθμό των επαναλήψεων απευθείας για τα δείγματα που περιέχονται σε αυτόν τον ελεγκτή.
Ελεγκτής Interleave
Αυτός ο ελεγκτής σάς επιτρέπει να αυξήσετε το εύρος των δοκιμών απόδοσής σας τροποποιώντας την ακολουθία με πολλούς τρόπους, ώστε να μπορείτε να δοκιμάσετε το φορτίο στο διακομιστή όταν οι εφαρμογές χτυπούν αίτημα με διαφορετικές ακολουθίες. Το Interleave Controller κάνει εναλλακτικές επιλογές με τα δείγματα κάτω από αυτό.
Σε περίπτωση που υπάρχουν άλλοι ελεγκτές όπως το Simple Controller που διατηρούνται κάτω από αυτό το μπλοκ, ο ελεγκτής interleave δίνει το προνόμιο να επιλέξει ένα δείγμα το καθένα από ένα δοχείο για κάθε επανάληψη. Για να το εξηγήσετε περαιτέρω, εξετάστε το παρακάτω σχέδιο δοκιμών.
Έτσι, το Jmeter επαναλαμβάνει εναλλακτικά μεταξύ των ελεγκτών για κάθε επανάληψη. Επομένως, η ακολουθία θα αναφέρεται παρακάτω
Request1 -> Request3 -> Request 5 - Request2 -> Request4 -> Request6
Δείτε τα παρακάτω αποτελέσματα JMeter με τον αριθμό των νημάτων = 2 και τον αριθμό βρόχων = 2.
ποιο είναι το καλύτερο πρόγραμμα λήψης mp3 για Android
Στο παραπάνω παράδειγμα, το Jmeter είναι Interleaving με τον επόμενο βρόχο / επανάληψη. Υπάρχουν ρυθμίσεις στο Interleave Controller που μπορούν να κάνουν το JMeter να στέλνει εναλλακτικά αιτήματα με κάθε νέο νήμα.
Δείτε τα αποτελέσματα παρακάτω. Αυτό είναι χρήσιμο σε σενάρια όπου θέλετε διαδοχικούς ή ταυτόχρονους διακομιστές που φορτώνουν φορτίο με τη διαφορετική ακολουθία του αιτήματος από το ίδιο μηχάνημα.
Τυχαίος ελεγκτής
Λειτουργεί σχεδόν σαν τον ελεγκτή Interleave αλλά δεν επιλέγει τα δείγματα στη σειρά. Επιλέγει απλώς τους υπο-ελεγκτές και τα δείγματα μέσα τους σε τυχαία βάση.
Εάν Ελεγκτής
Εάν ο ελεγκτής λειτουργεί με παρόμοιο τρόπο, μια έκφραση IF αντιμετωπίζεται σε οποιαδήποτε γλώσσα προγραμματισμού. Η συνθήκη επικυρώνεται πρώτα και στη συνέχεια τα στοιχεία κάτω από αυτό το κοντέινερ εκτελούνται εάν η συνθήκη είναι ΑΛΗΘΕΙΑ, διαφορετικά, τα στοιχεία εκτός του Ελεγκτή IF θα εκτελεστούν.
Παράδειγμα : Συνεχίζοντας με ένα από τα προηγούμενα παραδείγματα που αφορούν το Interleave Controller, τώρα ένα από τα δύο χειριστήρια Interleave έχει κρατηθεί κάτω από το IF Controller and Condition “$ (COUNT)<10 is added as a condition. Variable COUNT is defined in config element “User Defined Variables” and is given a value equal to 11. Configuration is described below
Καθορισμός και εκχώρηση τιμής σε COUNT μεταβλητή.
Καθορισμός συνθήκης σε Εάν Ελεγκτής Ρυθμίσεις. Το Jmeter θα επικυρώσει αυτήν την κατάσταση και εάν είναι αληθές, θα εκτελέσει τα μπλοκ κάτω από αυτό το κοντέινερ.
Όπως μπορείτε να δείτε από το παρακάτω σχέδιο δοκιμών, θα εκτελεστούν μόνο τα Request3, Request4 και Request5 σε περίπτωση που η συνθήκη IF αξιολογηθεί ως Ψευδής .
Ενώ οι Ελεγκτές
Αυτός ο ελεγκτής εκτελεί τα εξαρτήματα κάτω από αυτό έως ότου η συνθήκη γίνει εσφαλμένη.
Για παράδειγμα, ας πούμε ότι έχουμε έναν όρο ενώ ($ (count)<10), it will execute the child elements until the condition is false. To test this, there should be a counter which gets increment or decrement on each iteration and then condition is evaluated. Config Element “Counter” can be used to serve this purpose.
Διαμορφώστε το στοιχείο διαμόρφωσης 'Μετρητής' για να ξεκινήσετε από το 1 και μετά αυξήστε σε κάθε επανάληψη. Δείτε παρακάτω για περισσότερες διευκρινίσεις:
Θα αγγίξουμε τους υπόλοιπους ελεγκτές στα εκπαιδευτικά μας βίντεο.
Παράδειγμα σε πραγματικό χρόνο
Ας εξετάσουμε ένα σενάριο στο οποίο η ομάδα δοκιμών δεν γνωρίζει τις διευθύνσεις URL και τις παραμέτρους όλου του αιτήματος που αφορά τον υπό δοκιμή διακομιστή. Τώρα, για να δοκιμάσετε τη φόρτωση του διακομιστή που χρειάζονται για να καταγράψουν τα αιτήματα και στη συνέχεια να διαμορφώσουν το φορτίο διαδοχικά ή ταυτόχρονα και να δημιουργήσουν σενάρια από αυτά για να κάνουν τον έλεγχο απόδοσης.
Βήματα
καλύτερο δωρεάν καθαριστικό και επισκευή υπολογιστή
- Προσθέστε ένα πρότυπο στο Jmeter for Recording Controller
- Ορίστε τον διακομιστή μεσολάβησης στο πρόγραμμα περιήγησής σας και επιλέξτε την ίδια θύρα στο HTTP (s) Recorder σεναρίων
- Καταγράψτε τα αιτήματα
- Τροποποιήστε το σχέδιο δοκιμών και αυξήστε το φορτίο
- Ομαδοποιήστε τις συναλλαγές ανάλογα
- Δοκιμάστε διαφορετικούς συνδυασμούς αιτημάτων
Πρότυπο εγγραφής του JMeter
Το JMeter έχει επίσης κάποιο προκαθορισμένο πρότυπο. Επιλέξτε 'Πρότυπο' από το μενού αρχείων. Αφού επιλέξετε το πρότυπο για να επιλέξετε «Εγγραφή» στο παράθυρο που ανοίγει και κάντε κλικ στο Δημιουργία.
Μόλις επιλέξετε αυτό το Πρότυπο εγγραφής, θα δείτε κάποια στοιχεία που έχουν ήδη προστεθεί στο σχέδιο δοκιμών.
- Εγγραφή σεναρίων HTTP (ες) κάτω από τον πάγκο εργασίας
- Προεπιλογές αιτήματος HTTP και Διαχείριση cookie HTTP
- Ελεγκτής εγγραφής κάτω από την ομάδα νήματος.
Μπορείτε είτε να κάνετε ρυθμίσεις διακομιστή μεσολάβησης στο πρόγραμμα περιήγησής σας για να μιλήσετε με τον διακομιστή μεσολάβησης JMeter ή να χρησιμοποιήσετε το CHROME Extension Blazemeter για να εγγράψετε τα αιτήματα και, στη συνέχεια, να εξαγάγετε το. αρχείο jmx στο Jmeter. Υπάρχουν πολλές άλλες επεκτάσεις για να εγγράψετε το σενάριο και στη συνέχεια να το εξαγάγετε στο JMeter. Το εργαλείο BADBOY λειτουργεί επίσης καλά με το Jmeter για την καταγραφή επιτυχιών ιστού και κινητών.
Κάντε κλικ στο. επιλογή jmx για εξαγωγή του εγγεγραμμένου αιτήματος στο Jmeter. Τώρα από το Jmeter, ανοίξτε το. αρχείο jmx και δείτε τα αιτήματα και τις παραμέτρους που σχετίζονται με κάθε αίτημα.
συμπέρασμα
Μέχρι τώρα, θεωρείται ότι όλοι πρέπει να εξοικειωθείτε με τη βασική λογική του JMeter, πώς προσομοιώνει το φορτίο, πώς να παίξετε με διαφορετικό τύπο δειγματοληπτών, πώς να ελέγχετε τη ροή εκτέλεσης με τη χρήση του Controller και τη χρήση μεταβλητών και λειτουργεί για την εκτέλεση των βρόχων κατά μήκος των επαναλήψεων. Αυτό σίγουρα δεν είναι το τέλος της σειράς μαθημάτων στο JMeter.
Υπάρχουν πολλά εκπαιδευτικά βίντεο να ακολουθήσει το οποίο θα καθοδηγήσει τους υπεύθυνους δοκιμών με περισσότερα χέρια σε διαφορετικά σενάρια στο Jmeter και πώς μπορεί να χρησιμοποιηθεί κάθε στοιχείο JMeter με τον καλύτερο τρόπο.
=> Δείτε την πλήρη λίστα των εκπαιδευτικών βίντεο JMeter εδώ
Μοιραστείτε τα σχόλια ή τις ερωτήσεις σας μαζί μας.
Συνιστώμενη ανάγνωση
- Jmeter Controllers Μέρος 1
- Jmeter Controllers Μέρος 2
- Τρόπος επίτευξης συσχέτισης JMeter με παράδειγμα
- Εργασία με αιτήματα HTTP στο JMeter
- Εργασία με αίτημα FTP στο JMeter
- Χρήση Post Processor In JMeter (Regular Expression Extractor)
- Top 5 JMeter Plugins και πώς να τα χρησιμοποιήσετε (με παραδείγματα)
- Χρονοδιακόπτες JMeter: Constant, BeanShell και Guassian Random Timer