Ελεγκτές στο JMeter: Loop, Simple, Transaction, Module, Random

Πίνακας περιεχομένων:

Anonim

Τι είναι ο Λογικός Ελεγκτής;

Οι ελεγκτές λογικής σάς επιτρέπουν να ορίσετε τη σειρά της αίτησης επεξεργασίας σε ένα νήμα. Σας επιτρέπει να ελέγχετε το "πότε" για να στείλετε ένα αίτημα χρήστη σε έναν διακομιστή ιστού. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τους τυχαίους ελεγκτές για να στείλετε αιτήματα HTTP στον διακομιστή τυχαία

Λογικοί ελεγκτές καθορίζουν τη σειρά με την οποία εκτελείται το αίτημα χρήστη.

Μερικοί συνήθως χρησιμοποιούμενοι ελεγκτές λογικής είναι παρακάτω:

Ελεγκτής εγγραφής:

Το JMeter μπορεί να καταγράψει τα βήματα δοκιμής. ένας ελεγκτής εγγραφής είναι ένα σύμβολο κράτησης θέσης για την αποθήκευση αυτών των βημάτων εγγραφής.

Απλός ελεγκτής:

Το Simple Controller είναι απλώς ένα κοντέινερ για αίτημα χρήστη

Ελεγκτής βρόχου:

Το Loop Controller κάνει το αίτημα χρήστη να εκτελεί συγκεκριμένες φορές ή να εκτελείται για πάντα όπως φαίνεται στο σχήμα:

Τυχαίος ελεγκτής:

Το Random Controller κάνει όλες τις αιτήσεις χρηστών να εκτελούνται με τυχαία σειρά σε κάθε περίοδο βρόχου.

Για παράδειγμα, έχετε 3 αιτήματα χρήστη στον ιστότοπο http://www.google.com με την ακόλουθη σειρά:

  1. Αίτημα HTTP
  2. Αίτημα FTP
  3. Αίτημα JDBC

Αυτά τα 3 αιτήματα πρέπει να εκτελούνται 5 φορές. Συνολικά 15 αιτήματα χρηστών θα σταλούν στον διακομιστή Google από το JMeter.

Σε διαδοχική σειρά, τα αιτήματα αποστέλλονται διαδοχικά με την ακόλουθη σειρά:

Αίτημα HTTP -> Αίτημα FTP-> Αίτημα JDBC

για κάθε βρόχο.

Σε τυχαία σειρά, τα αιτήματα αποστέλλονται ως τυχαία,

Αίτημα FTP -> Αίτημα HTTP-> Αίτημα JDBC

Ή

Αίτημα JDBC -> Αίτημα FTP-> Αίτημα HTTP

Για κάθε βρόχο.

Ελεγκτής ενότητας:

Ο στόχος του Module Controller είναι να προσθέσει modularity στο JMeter.

Η γενική ιδέα είναι ότι οι εφαρμογές Ιστού αποτελούνται από μικρές μονάδες λειτουργικότητας (π.χ. Σύνδεση, Δημιουργία λογαριασμού, Αποσύνδεση…). Αυτή η λειτουργικότητα μπορεί να αποθηκευτεί στο Simple Controller ως "modules". Το Module Controller θα επιλέξει ποια ενότητα πρέπει να εκτελεστεί.

Εξετάστε το ακόλουθο σενάριο -

Θέλετε να προσομοιώσετε:

  • 50 χρήστες αποσυνδέονται ,
  • 100 χρήστες συνδέονται
  • 30 χρήστες πραγματοποιούν αναζήτηση στο www.google.com

Μπορείτε να χρησιμοποιήσετε το JMeter για να δημιουργήσετε 3 ενότητες. Κάθε ενότητα προσομοιώνει κάθε δραστηριότητα χρήστη: Σύνδεση, Αποσύνδεση και Αναζήτηση.

Ο ελεγκτής Module επιλέγει ποια ενότητα πρέπει να εκτελεστεί.

Άλλοι σημαντικοί ελεγκτές:

  • Interleave Controller: παραλαμβάνει και εκτελεί ένα από τα αιτήματα χρήστη σε κάθε βρόχο του νήματος.
  • Runtime Controller: ελέγχει πόσο καιρό επιτρέπεται στα παιδιά να τρέχουν.

Για παράδειγμα, εάν καθορίσατε το Runtime Controller 10 δευτερόλεπτα, το JMeter θα εκτελέσει τη δοκιμή σας για 10 δευτερόλεπτα.

  • Transaction Controller: μετρά τον συνολικό χρόνο που απαιτείται για την ολοκλήρωση μιας δοκιμής
  • Συμπερίληψη ελεγκτή: έχει σχεδιαστεί για να χρησιμοποιεί ένα εξωτερικό σχέδιο δοκιμών. Αυτός ο ελεγκτής σάς επιτρέπει να χρησιμοποιείτε πολλαπλά σχέδια δοκιμών στο JMeter. Δείτε λεπτομέρειες στο JMeter Performance Testing.

Παράδειγμα ελεγκτή βρόχου

Αυτή η ενότητα σας δείχνει οδηγίες βήμα προς βήμα για να προσθέσετε Loop Controller set στο τρέχον σχέδιο δοκιμής απόδοσης.

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

  • Προσθέστε ένα αίτημα HTTP σε έναν ελεγκτή βρόχου με αριθμό βρόχου 50
  • Διαμορφώστε τον αριθμό βρόχων της ομάδας νημάτων σε 2
  • Στη συνέχεια, το JMeter θα στείλει συνολικά 50 * 2 = 100 αιτήματα HTTP.

Αυτός είναι ο χάρτης πορείας αυτού του παραδείγματος:

Βήμα 1) Διαμόρφωση ομάδας νημάτων

Χρησιμοποιούμε ξανά το Βήμα 1, 2 στο τεστ JMeter Performance Testing.

  1. Προσθήκη ομάδας νημάτων

Κάντε δεξί κλικ στο Σχέδιο δοκιμής και προσθέστε μια νέα ομάδα νήματος: Προσθήκη -> Νήματα (Χρήστες) -> Ομάδα νήματος

Αλλά στον πίνακα ελέγχου της ομάδας νήματος, εισαγάγετε τις ιδιότητες νημάτων ως εξής:

Θα υποβάλει ένα αίτημα χρήστη στον διακομιστή ιστού google.com και θα το εκτελέσει 2 φορές.

  1. Προσθέστε στοιχεία JMeter

Προσθέστε προεπιλεγμένο αίτημα HTTP στο www.google.com.

  1. Προσθήκη ελεγκτή βρόχου

Δεξί κλικ Ομάδα νήματος -> Λογικός ελεγκτής -> Loop Controller

Βήμα 2) Διαμόρφωση ελεγκτή βρόχου

Προσθέστε την τιμή 50 στο πεδίο Loop Count όπως φαίνεται παρακάτω. Θα κάνει ένα αίτημα χρήστη στον διακομιστή ιστού google.com να το εκτελέσει 50 φορές, εκτός από την τιμή βρόχου = 2, που καθορίσατε για την ομάδα νήματος παραπάνω. Έτσι, το JMeter θα στείλει συνολικά 2 * 50 = 100 αιτήματα HTTP.

Κάντε δεξί κλικ στο Loop Controller, Add -> Sampler -> HTTP request

Βήμα 3) Προσθήκη αποτελεσμάτων προβολής στον πίνακα

Χρησιμοποιούμε ξανά το Βήμα 2 στο Χρονοδιακόπτη για να προσθέσουμε Προβολή αποτελεσμάτων στον Πίνακα

Έτσι, το σχέδιο δοκιμής φαίνεται στο παρακάτω σχήμα

Βήμα 4) Εκτελέστε τη δοκιμή σας

Τώρα επιστρέψτε Προβολή αποτελεσμάτων στον πίνακα, κάντε κλικ στο κουμπί Έναρξη στη γραμμή μενού (Ctrl + R) για να εκτελέσετε μια δοκιμή

Όπως φαίνεται στο παρακάτω σχήμα, το JMeter προσομοιώνει ένα αίτημα χρήστη, το οποίο αποστέλλεται 100 φορές, στον διακομιστή ιστού http://www.google.com/. Η δοκιμή διακόπτεται μετά την αποστολή ενός αιτήματος χρήστη 100 φορές.

Αντιμετώπιση προβλημάτων:

  1. Εάν αντιμετωπίζετε το πρόβλημα κατά την εκτέλεση του παραπάνω σεναρίου… κάντε τα εξής
  2. Ελέγξτε αν συνδέεστε στο Διαδίκτυο μέσω διακομιστή μεσολάβησης. Εάν ναι, καταργήστε τον πληρεξούσιο.
  3. Ανοίξτε μια νέα εμφάνιση του Jmeter
  4. Ανοίξτε το ControllerTestPlan.jmx στο Jmeter
  5. Κάντε κλικ στο Thread Group -> Προβολή αποτελεσμάτων στον πίνακα
  6. Εκτελέστε το τεστ