Redis kan användas för att göra stresstester med det inbyggda redis-benchmark-verktyget, som är enkelt att använda:
- Under Linux är filen redis-benchmark
- Under Windows är filen redis-benchmark.exe
Denna artikel används iredis-5.0.3 används under CentOS-systemFör att göra prestandabenchmarken är parametrarna följande:
Ogiltigt alternativ "-hjälp" eller alternativ argument saknas
Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests>] [-k <boolean>]
-h <hostname> Servervärdnamn (standard 127.0.0.1) -p <port> Serverport (standard 6379) -s <socket> Serversockel (åsidosätter värd och port) -ett <password> lösenord för Redis Auth -c <clients> Antal parallella anslutningar (standard 50) -n <requests> Totalt antal förfrågningar (standard 100000) -d <size> Datastorlek för SET/GET-värdet i bytes (standard 3) --dbnum <db> VÄLJ det angivna databasnumret (standard 0) -k <boolean> 1=håll vid liv 0=återanslut (standard 1) -r <keyspacelen> Använd slumpmässiga tangenter för SET/GET/INCR, slumpmässiga värden för SADD Med detta alternativ kommer benchmarken att utöka strängen __rand_int__ inom ett argument med ett 12-siffrigt tal inom det angivna intervallet från 0 till Keyspacelen-1. Substitutionen ändras varje gång ett kommando avrättas. Standardtester använder detta för att trycka på slumpmässiga tangenter i specificerat avstånd. -P <numreq> <numreq> Pipeline-förfrågningar. Standard 1 (ingen pipeline). -e Om servern svarar med fel, visa dem på stdout. (högst 1 fel per sekund visas) -q Tyst. Visa bara query/sec-värden --csv Utdata i CSV-format -I Loop. Kör testerna för evigt -t <tests> Kör bara den komma-separerade listan med tester. Testet Namnen är desamma som de som produceras som output. -I Idle-läge. Öppna bara N vilo-anslutningar och vänta.
Examples:
Kör benchmarken med standardkonfigurationen mot 127.0.0.1:6379: $ redis-benchmark
Använd 20 parallella klienter, för totalt 100 000 förfrågningar, jämfört med 192.168.1.1: $ redis-benchmark -h 192.168.1.1 -p 6379 -n 100000 -c 20
Fyll 127.0.0.1:6379 med cirka 1 miljon nycklar endast med SET-testet: $ redis-benchmark -t set -n 1000000 -r 1000000000
Benchmark 127.0.0.1:6379 för några kommandon som ger CSV-utdata: $ redis-benchmark -t ping, set, get -n 100000 --csv
Benchmarka en specifik kommandorad: $ redis-benchmark -r 10000 -n 10000 eval 'return redis.call("ping")' 0
Fyll en lista med 10 000 slumpmässiga element: $ redis-benchmark -r 10000 -n 10000 lpush mylist __rand_int__
På användarangivna kommandorader ersätts __rand_int__ med ett slumpmässigt heltal med ett värdeintervall valt av -r-alternativet. 1000 förfrågningar skickas till redis-servern, var och en åtföljd av 400 samtidiga klienter, som visas tyst, med följande kommando:
Testresultat:
SET: 43478,26 förfrågningar per sekund, GET: 40000,00 förfrågningar per sekund
(Slut)
|