Jmeter Χρονοδιακόπτες: Constant, Gaussian Random, Uniform [Παράδειγμα]

Τι είναι τα χρονόμετρα;

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

Φανταστείτε ότι στέλνετε χιλιάδες αίτημα σε διακομιστή web υπό δοκιμή σε λίγα δευτερόλεπτα. Αυτό συμβαίνει!

Χρονόμετρα μέσα JMeter

Τα χρονόμετρα επιτρέπουν JMeter προς την delay μεταξύ κάθε αιτήματος που κάνει ένα νήμα. Ένα χρονόμετρο μπορεί να λύσει τον διακομιστή υπερφόρτωση πρόβλημα.

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

Following είναι μερικά κοινός τύποι χρονοδιακόπτη σε JMeter

Σταθερός χρονοδιακόπτης

Ο σταθερός χρονοδιακόπτης καθυστερεί κάθε αίτημα χρήστη για το ίδιο χρονικό διάστημα.

Constant Timer in Jmeter

Gaussian Random Timer

Gaussian Το τυχαίο χρονόμετρο καθυστερεί κάθε αίτημα χρήστη για α τυχαίος χρονικό διάστημα.

Gaussian Random Timer in Jmeter

παράμετροι

Χαρακτηριστικό Περιγραφή
Όνομα Περιγραφικό όνομα για αυτό το χρονόμετρο που εμφανίζεται στο δέντρο
Αποκλίσεις (χιλιοστά του δευτερολέπτου) A παράμετρος της συνάρτησης Gaussian Distribution
Μετατόπιση σταθερής καθυστέρησης (χιλιοστά του δευτερολέπτου) Πρόσθετος τιμή σε χιλιοστά του δευτερολέπτου

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

Gaussian Random Timer in Jmeter

Uniform Random Timer

Το Uniform random timer καθυστερεί κάθε αίτημα χρήστη για ένα τυχαίο χρονικό διάστημα.

Ενιαίος τυχαίος χρονοδιακόπτης εισόδου Jmeter

παράμετροι

Χαρακτηριστικό Περιγραφή
Όνομα Περιγραφικό όνομα για αυτό το χρονόμετρο που εμφανίζεται στο δέντρο
Τυχαία Μέγιστη καθυστέρηση Μέγιστος τυχαίος αριθμός χιλιοστών του δευτερολέπτου για καθυστέρηση.
Μετατόπιση σταθερής καθυστέρησης (χιλιοστά του δευτερολέπτου) Πρόσθετος τιμή σε χιλιοστά του δευτερολέπτου

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

BeanShell Timer

Η BeanShell Μπορεί να χρησιμοποιηθεί χρονοδιακόπτης παράγουν ένα χρόνο καθυστέρησης μεταξύ κάθε αιτήματος χρήστη.

Χρονοδιακόπτης BSF

Ο χρονοδιακόπτης BSF μπορεί να χρησιμοποιηθεί για τη δημιουργία καθυστέρησης μεταξύ κάθε αιτήματος χρήστη χρησιμοποιώντας α BSF γλώσσα σεναρίου.

Χρονοδιακόπτης JSR223

Το χρονόμετρο JSR223 μπορεί να χρησιμοποιηθεί για τη δημιουργία καθυστέρησης μεταξύ κάθε αιτήματος χρήστη χρησιμοποιώντας α JSR223 γλώσσα δέσμης ενεργειών

Πώς να χρησιμοποιήσετε το Constant Timer

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

Ας ξεκινήσουμε με ένα απλό σενάριο δοκιμής

  1. JMeter δημιουργεί ένας αίτημα χρήστη προς http://www.google.com 100 φορές
  2. Καθυστέρηση μεταξύ κάθε αιτήματος χρήστη είναι 5000 ms

Εδώ είναι η οδικός χάρτης για αυτό το πρακτικό παράδειγμα:

Χρησιμοποιήστε το Constant Timer σε Jmeter

Προϋπόθεση

We επαναχρησιμοποίηση το Βήμα 1 και Βήμα 2 στο σεμινάριο JMeter Δοκιμές Απόδοσης.

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

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

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

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

Αυτή η ρύθμιση επιτρέπει JMeter δημιουργία ένας αίτημα χρήστη προς http://www.google.com in 100 φορές

Βήμα 2) Προσθέστε JMeter στοιχεία

  • Προσθήκη προεπιλεγμένου αιτήματος HTTP
  • Προσθήκη αιτήματος HTTP

Βήμα 3) Προσθήκη Constant Timer

Κάντε δεξί κλικ Ομάδα νημάτων -> χρονόμετρο -> Σταθερός χρονοδιακόπτης

Προσθήκη Constant Timer

Διαμόρφωση καθυστέρησης νήματος 5000 χιλιοστών του δευτερολέπτου

Προσθήκη Constant Timer

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

Προβολή αποτελεσμάτων στον πίνακα εμφανίζει το αποτέλεσμα της δοκιμής σε μορφή πίνακα.

Κάντε δεξί κλικ Πρόσθεση -> Ακροατής ->Προβολή αποτελεσμάτων στον πίνακα

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

Προβολή Αποτελεσμάτων στον Πίνακα εμφανίζεται όπως στην παρακάτω εικόνα

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

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

Όταν είστε έτοιμοι να εκτελέσετε μια δοκιμή, κάντε κλικ το τρέξιμο κουμπί στη γραμμή μενού ή το πλήκτρο συντόμευσης Ctrl + R

Αυτό είναι το αποτέλεσμα αυτής της δοκιμής

Εκτελέστε το τεστ

Για παράδειγμα, στο παραπάνω σχήμα, ας αναλύσουμε το Δείγμα 2

  • Ώρα έναρξης είναι 22:05:01.866
  • Δείγμα Ώρα του Δείγματος 2 είναι 172 ms
  • Σταθερός χρονοδιακόπτης: 5000 ms (όπως έχει διαμορφωθεί)
  • Ώρα λήξης αυτού του δείγματος είναι = 22:05:01.866 + 172 + 5000 = 22:05:07.038

Έτσι το δείγμα 3 θα πρέπει να ξεκινήσει τη στιγμή που είναι 22:05:07.039 (Όπως φαίνεται στο παραπάνω σχήμα)

Η delay κάθε δείγματος είναι 5000 ms

Εάν αλλάξετε το Constant Timer είναι μηδέν, θα δείτε ότι το αποτέλεσμα έχει αλλάξει

Εκτελέστε το τεστ

Ας αναλύσουμε το Δείγμα 1

  • Ώρα έναρξης είναι 22:17:39.141
  • Δείγμα Ώρα του Δείγματος 2 είναι 370 ms
  • Σταθερός χρονοδιακόπτης : 0 ms (όπως έχει διαμορφωθεί)
  • Ώρα λήξης αυτού του δείγματος είναι = 22:17:39.141+ 370 + 0 = 22:17:39.511

Ετσι το Δείγμα 2 πρέπει να ξεκινήσει τη στιγμή που είναι 22:17:39.512 (Φαίνεται στο παραπάνω σχήμα)

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

Εάν αντιμετωπίσετε το πρόβλημα κατά την εκτέλεση του παραπάνω σεναρίου… κάντε το ακόλουθοwing

  1. Ελέγξτε εάν συνδέεστε στο διαδίκτυο μέσω διακομιστή μεσολάβησης. Εάν ναι, αφαιρέστε τον διακομιστή μεσολάβησης.
  2. Ανοίξτε μια νέα παρουσία του JMeter
  3. Ανοίξτε το TimerTestPlan.jmx in Jmeter
  4. Double Κάντε κλικ στην Ομάδα νημάτων -> Προβολή αποτελεσμάτων στον πίνακα
  5. Εκτελέστε το Test