Redis kan worden gebruikt om stresstests uit te voeren met de ingebouwde redis-benchmark tool, die eenvoudig te gebruiken is:
- Onder Linux is het bestand redis-benchmark
- Onder Windows is het bestand redis-benchmark.exe
Dit artikel wordt gebruikt inredis-5.0.3 wordt gebruikt onder CentOS-systemenOm de prestatie-benchmark uit te voeren, zijn de parameters als volgt:
Ongeldige optie "-help" of optieargument ontbreekt
Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests>] [-k <boolean>]
-h <hostname> Serverhostnaam (standaard 127.0.0.1) -p <port> Serverpoort (standaard 6379) -s <socket> Serversocket (overschrijft host en poort) -een <password> wachtwoord voor Redis-authenticatie -c <clients> Aantal parallelle verbindingen (standaard 50) -n <requests> Totaal aantal verzoeken (standaard 100000) -d <size> Gegevensgrootte van de SET/GET-waarde in bytes (standaard 3) --dbnum <db> SELECTEER het opgegeven databasenummer (standaard 0) -k <boolean> 1=in leven houden 0=opnieuw verbinden (standaard 1) -r <keyspacelen> Gebruik willekeurige toetsen voor SET/GET/INCR, willekeurige waarden voor SADD Met deze optie zal de benchmark de string uitbreiden __rand_int__ binnen een argument met een 12-cijferig nummer in het opgegeven bereik van 0 naar keyspacelen-1. De substitutie verandert elke keer dat een commando een wordt geëxecuteerd. Standaardtests gebruiken dit om willekeurige toetsen in de gespecificeerd bereik. -P <numreq> Pipeline <numreq> verzoeken. Standaard 1 (geen pijplijn). -e Als de server met fouten reageert, toon ze dan op stdout. (er wordt niet meer dan 1 fout per seconde weergegeven) -q Stil. Toon gewoon query/sec-waarden --csv Uitvoer in CSV-formaat -I Loop. Voer de tests voor altijd uit -t <tests> Voer alleen de komma-gescheiden lijst met tests uit. De test namen zijn hetzelfde als die als output worden geproduceerd. -Ik Idle-modus. Open gewoon N idle-verbindingen en wacht.
Examples:
Voer de benchmark uit met de standaardconfiguratie tegen 127.0.0.1:6379: $ redis-benchmark
Gebruik 20 parallelle clients, voor in totaal 100k verzoeken, tegenover 192.168.1.1: $ redis-benchmark -h 192.168.1.1 -p 6379 -n 100000 -c 20
Vul 127.0.0.1:6379 in met ongeveer 1 miljoen sleutels alleen met behulp van de SET-test: $ redis-benchmark -t set -n 1000000 -r 1000000000
Benchmark 127.0.0.1:6379 voor een paar commando's die CSV-output produceren: $ redis-benchmark -t ping, set, get -n 100000 --csv
Benchmark een specifieke commandoregel: $ redis-benchmark -r 10000 -n 10000 eval 'return redis.call("ping")' 0
Vul een lijst met 10.000 willekeurige elementen: $ redis-benchmark -r 10000 -n 10000 lpush mylist __rand_int__
Op door de gebruiker opgegeven commandoregels wordt __rand_int__ vervangen door een willekeurig geheel getal met een bereik van waarden geselecteerd door de -r-optie. 1000 verzoeken worden naar de redis-server gestuurd, elk vergezeld van 400 gelijktijdige clients, die stil worden weergegeven met het volgende commando:
Testresultaten:
SET: 43478,26 verzoeken per seconde, GET: 40000,00 verzoeken per seconde
(Einde)
|