Το Redis μπορεί να χρησιμοποιηθεί για τη διεξαγωγή δοκιμών ακραίων καταστάσεων με το ενσωματωμένο εργαλείο redis-benchmark, το οποίο είναι απλό στη χρήση:
- Στο linux, το αρχείο είναι redis-benchmark
- Στα Windows, το αρχείο είναι redis-benchmark.exe
Αυτό το άρθρο χρησιμοποιείται σεΤο redis-5.0.3 χρησιμοποιείται στα συστήματα CentOSΓια να γίνει το σημείο αναφοράς απόδοσης, οι παράμετροι είναι οι εξής:
Λείπει η μη έγκυρη επιλογή "-help" ή το όρισμα επιλογής
Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests>] [-k <boolean>]
-h <hostname> Όνομα κεντρικού υπολογιστή διακομιστή (προεπιλογή 127.0.0.1) -p <port> Θύρα διακομιστή (προεπιλογή 6379) -s <socket> Υποδοχή διακομιστή (παρακάμπτει τον κεντρικό υπολογιστή και τη θύρα) -<password>έναν κωδικό πρόσβασης για το Redis Auth -c <clients> Αριθμός παράλληλων συνδέσεων (προεπιλογή 50) -n <requests> Συνολικός αριθμός αιτήσεων (προεπιλογή 100000) -d <size> Μέγεθος δεδομένων της τιμής SET/GET σε byte (προεπιλογή 3) --dbnum <db> ΕΠΙΛΕΞΤΕ τον καθορισμένο αριθμό db (προεπιλογή 0) -k <boolean> 1=διατήρηση εν ενεργεία 0=επανασύνδεση (προεπιλογή 1) -r <keyspacelen> Χρησιμοποιήστε τυχαία πλήκτρα για SET/GET/INCR, τυχαίες τιμές για SADD Χρησιμοποιώντας αυτήν την επιλογή, το σημείο αναφοράς θα επεκτείνει τη συμβολοσειρά __rand_int__ μέσα σε ένα όρισμα με έναν αριθμό 12 ψηφίων στην καθορισμένη περιοχή από το 0 έως το keyspacelen-1. Η αντικατάσταση αλλάζει κάθε φορά που μια εντολή εκτελείται. Οι προεπιλεγμένες δοκιμές το χρησιμοποιούν για να πατήσουν τυχαία πλήκτρα στο καθορισμένο εύρος. -P <numreq> <numreq> Αιτήματα διοχέτευσης. Προεπιλογή 1 (χωρίς διοχέτευση). -e Εάν ο διακομιστής απαντήσει με σφάλματα, εμφανίστε τα στο stdout. (δεν εμφανίζεται περισσότερο από 1 σφάλμα ανά δευτερόλεπτο) -q Ήσυχο. Απλώς εμφανίστε τιμές ερωτήματος/δευτερολέπτου --csv Έξοδος σε μορφή CSV -l Βρόχος. Εκτελέστε τις δοκιμές για πάντα -t <tests> Εκτελέστε μόνο τη λίστα δοκιμών διαχωρισμένων με κόμματα. Το τεστ Τα ονόματα είναι τα ίδια με αυτά που παράγονται ως έξοδος. -I Λειτουργία αδράνειας. Απλώς ανοίξτε τις N αδρανείς συνδέσεις και περιμένετε.
Examples:
Εκτελέστε το σημείο αναφοράς με την προεπιλεγμένη διαμόρφωση στο 127.0.0.1:6379: $ redis-benchmark
Χρησιμοποιήστε 20 παράλληλους πελάτες, για συνολικά 100 χιλιάδες αιτήματα, έναντι 192.168.1.1: $ redis-benchmark -h 192.168.1.1 -p 6379 -n 100000 -c 20
Συμπληρώστε το 127.0.0.1:6379 με περίπου 1 εκατομμύριο κλειδιά μόνο χρησιμοποιώντας τη δοκιμή SET: $ redis-benchmark -t set -n 1000000 -r 100000000
Benchmark 127.0.0.1:6379 για μερικές εντολές που παράγουν έξοδο CSV: $ redis-benchmark -t ping,set,get -n 100000 --csv
Συγκρίνετε μια συγκεκριμένη γραμμή εντολών: $ redis-benchmark -r 10000 -n 10000 eval 'return redis.call("ping")' 0
Συμπληρώστε μια λίστα με 10000 τυχαία στοιχεία: $ redis-benchmark -r 10000 -n 10000 lpush mylist __rand_int__
Στις γραμμές εντολών που καθορίζονται από το χρήστη__rand_int__ αντικαθίσταται με έναν τυχαίο ακέραιο αριθμό με ένα εύρος τιμών που επιλέγεται από την επιλογή -r. Αποστέλλονται 1000 αιτήματα στον διακομιστή Redis, το καθένα συνοδευόμενο από 400 ταυτόχρονους πελάτες, που εμφανίζονται σιωπηλά, με την ακόλουθη εντολή:
Αποτελέσματα δοκιμών:
SET: 43478,26 αιτήματα ανά δευτερόλεπτο, GET: 40000,00 αιτήματα ανά δευτερόλεπτο
(Τέλος)
|