Redis kan brukes til stresstesting med det innebygde redis-benchmark-verktøyet, som er enkelt å bruke:
- Under Linux er filen redis-benchmark
- Under Windows er filen redis-benchmark.exe
Denne artikkelen brukes iredis-5.0.3 brukes under CentOS-systemerFor å utføre ytelsesbenchmarken er parameterne som følger:
Ugyldig alternativ "-hjelp" eller alternativ argument mangler
Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests>] [-k <boolean>]
-h <hostname> Serververtsnavn (standard 127.0.0.1) -p <port> Serverport (standard 6379) -s <socket> serversokkel (overstyrer vert og port) -<password>Et passord for Redis-autentisering -c <clients> Antall parallelle tilkoblinger (standard 50) -n <requests> Totalt antall forespørsler (standard 100000) -d <size> Datastørrelse av SET/GET-verdi i bytes (standard 3) --dbnum <db> VELG det angitte databasenummeret (standard 0) -k <boolean> 1=hold live 0=koble til igjen (standard 1) -r <keyspacelen> Bruk tilfeldige nøkler for SET/GET/INCR, tilfeldige verdier for SADD Ved å bruke dette alternativet vil benchmarken utvide strengen __rand_int__ inne i et argument med et 12-sifret tall i det angitte området fra 0 til keyspacelen-1. Substitusjonen endres hver gang en kommando blir henrettet. Standardtester bruker dette for å trykke på tilfeldige taster i spesifisert rekkevidde. -P <numreq> <numreq> Pipeline-forespørsler. Standard 1 (ingen pipeline). -e Hvis serveren svarer med feil, vis dem på stdout. (ikke mer enn 1 feil per sekund vises) -q Stille. Bare vis query/sec-verdier --csv Utdata i CSV-format -I Loop. Kjør testene for alltid -t <tests> Kjør kun den komma-separerte listen over tester. Testen navnene er de samme som de som produseres som output. -I Idle-modus. Bare åpne N ledige tilkoblinger og vent.
Examples:
Kjør benchmarken med standardkonfigurasjonen mot 127.0.0.1:6379: $ redis-benchmark
Bruk 20 parallelle klienter, for totalt 100 000 forespørsler, mot 192.168.1.1: $ redis-benchmark -h 192.168.1.1 -p 6379 -n 100000 -c 20
Fyll 127.0.0.1:6379 med omtrent 1 million nøkler kun ved bruk av SET-testen: $ redis-benchmark -t set -n 1000000 -r 1000000000
Benchmark 127.0.0.1:6379 for noen kommandoer som produserer CSV-utdata: $ redis-benchmark -t ping,set,get -n 100000 --csv
Benchmark en spesifikk kommandolinje: $ redis-benchmark -r 10000 -n 10000 eval 'return redis.call("ping")' 0
Fyll en liste med 10 000 tilfeldige elementer: $ redis-benchmark -r 10000 -n 10000 lpush mylist __rand_int__
På brukerdefinerte kommandolinjer erstattes __rand_int__ med et tilfeldig heltall med et verdiområde valgt av -r-alternativet. 1000 forespørsler sendes til Redis-serveren, hver ledsaget av 400 samtidige klienter, vist lydløst, med følgende kommando:
Testresultater:
SET: 43478,26 forespørsler per sekund, GET: 40000,00 forespørsler per sekund
(Slutt)
|