Oppdag hvordan din Redis-installasjon yter, og når den kan nå sine grenser, gjennomstrømning, dataoverføringshastighet og mye mer, ved hjelp av disse fantastiske verktøyene.
Redis (Remote Dictionary Service) har opplevd en markant økning i popularitet og bruk de siste årene.
Det er ikke lenger bare et verktøy for store bedriftsapplikasjoner, men også for små og mellomstore prosjekter. Du kan til og med bruke Redis på WordPress for hurtigbufring, noe som fører til betydelig forbedret ytelse. Hvis du er interessert i å lære Redis fra bunnen av, anbefales dette onlinekurset.
Som utvikler eller systemadministrator for en bedriftsapplikasjon, er det viktig å ha innsikt i ytelsesstandarder for å forstå applikasjonens kapasitet og yteevne. Redis-benchmarking skiller seg litt fra benchmarking av webservere. Heldigvis finnes det mange gratis verktøy som du kan benytte deg av, slik at du kan finne det som passer best for deg.
Er du klar til å utforske?
Redis-benchmark
Dra nytte av Redis sitt innebygde benchmark-verktøy, kjent som redis-benchmark
. Dette verktøyet er inkludert i Redis-installasjonen og kan kjøres ved å skrive redis-benchmark
i et UNIX-miljø. Det er også tilgjengelig for Windows, der den kjørbare filen heter redis-benchmark.exe
.
La oss se på noen eksempler.
Sender en million forespørsler til 192.168.0.100:
[email protected]:~# redis-benchmark -h 192.168.0.100 -p 6379 -n 1000000 ====== PING_INLINE ====== 1000000 requests completed in 30.62 seconds 50 parallel clients 3 bytes payload keep alive: 1 61.85% <= 1 milliseconds 99.55% <= 2 milliseconds 99.93% <= 3 milliseconds 99.96% <= 4 milliseconds 99.98% <= 5 milliseconds 99.99% <= 6 milliseconds 99.99% <= 7 milliseconds 100.00% <= 8 milliseconds 100.00% <= 9 milliseconds 100.00% <= 9 milliseconds 32653.06 requests per second
En million forespørsler ble behandlet på 30,62 sekunder. Merk deg også den siste linjen, som viser at ca. 32653 forespørsler behandles per sekund.
Hvis du legger merke til det, er nyttelaststørrelsen 3 byte. Dette er standardinnstillingen, og du kan tilpasse dette ved å bruke -d
-parameteren. Følgende test viser 100 000 forespørsler med en nyttelast på 1 MB.
[email protected]:~# redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -d 1000000 ====== PING_INLINE ====== 100000 requests completed in 2.80 seconds 50 parallel clients 1000000 bytes payload keep alive: 1 73.19% <= 1 milliseconds 99.95% <= 2 milliseconds 100.00% <= 2 milliseconds 35676.06 requests per second
La du merke til de parallelle klientene? Det er 50 som standard, og du kan justere dette ved å bruke -c
-parameteren. Eksemplet nedenfor bruker 200 klienter.
[email protected]:~# redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -d 1000000 -c 200 ====== PING_INLINE ====== 100000 requests completed in 3.77 seconds 200 parallel clients 1000000 bytes payload keep alive: 1 0.00% <= 1 milliseconds 2.99% <= 2 milliseconds 18.95% <= 3 milliseconds 45.81% <= 4 milliseconds 69.65% <= 5 milliseconds 86.58% <= 6 milliseconds 95.79% <= 7 milliseconds 98.88% <= 8 milliseconds 99.78% <= 9 milliseconds 99.96% <= 10 milliseconds 100.00% <= 10 milliseconds 26532.24 requests per second
Som du ser, tok det lengre tid med 200 klienter, og prosesseringen gikk også tregere. Dette er som forventet og hjelper oss med å avdekke den reelle ytelsen til applikasjonen.
Er du ikke fornøyd med redis-benchmark
-verktøyet? Ingen bekymringer, det finnes flere alternativer.
Redis-cli
Er du kun interessert i latensinformasjon?
Da kan du bruke redis-cli
, som følger med Redis-serveren. Du kan kjøre dette med parameteren --latency
.
[email protected]:~# redis-cli --latency min: 0, max: 1, avg: 0.16 (1056 samples)
Som standard tas latensprøver hvert sekund, men du kan endre dette med -i
-bryteren om nødvendig.
Memtier Benchmark
Memtier benchmark fra Redis Labs støtter både Redis og Memcache. Det er et avansert benchmark-verktøy med ulike testalternativer, som:
- Test av passordbeskyttet Redis
- Kjøring av klienten i klyngemodus
- Konfigurasjon av antall klienter, forespørsler, tråder og datastørrelse
- Justering av SET- og GET-forhold
og mye mer…
Her er en rask testrapport:
[email protected]:~# memtier_benchmark [RUN #1] Preparing benchmark client... [RUN #1] Launching threads now... [RUN #1 100%, 133 secs] 3 threads: 1993223 ops, 15083 (avg: 14877) ops/sec, 639.97KB/sec (avg: 631.04KB/sec), 13.30 (avg: 13.44) msec latenc[RUN #1 100%, 134 secs] 0 threads: 2000000 ops, 15083 (avg: 14911) ops/sec, 639.97KB/sec (avg: 632.52KB/sec), 13.30 (avg: 13.41) msec latency 4 Threads 50 Connections per thread 10000 Requests per client ALL STATS ========================================================================= Type Ops/sec Hits/sec Misses/sec Latency KB/sec ------------------------------------------------------------------------- Sets 1354.30 --- --- 13.40200 104.30 Gets 13528.13 0.00 13528.13 13.41000 526.98 Waits 0.00 --- --- 0.00000 --- Totals 14882.43 0.00 13528.13 13.40900 631.28 Request Latency Distribution Type <= msec Percent ------------------------------------------------------------------------ SET 0.055 0.00 SET 0.063 0.00 SET 0.110 0.00 SET 0.140 0.00 SET 0.160 0.00 SET 0.170 0.00 SET 0.180 0.00 SET 0.210 0.01 SET 0.230 0.01 SET 0.280 0.01 SET 0.300 0.01 SET 0.360 0.01 SET 0.440 0.01 SET 0.460 0.01 SET 0.480 0.01 SET 0.510 0.01 SET 0.570 0.01 SET 0.590 0.01 SET 0.610 0.01 SET 0.630 0.01 SET 0.640 0.02 SET 0.670 0.02 SET 0.680 0.02 SET 0.710 0.02 SET 0.730 0.02 SET 0.740 0.02 SET 0.750 0.02 SET 0.760 0.02 SET 0.770 0.02 SET 0.780 0.02 SET 0.790 0.02 SET 0.820 0.02 SET 0.840 0.02 SET 0.850 0.03 SET 0.870 0.03 SET 0.880 0.03 SET 0.900 0.03 SET 0.930 0.03 SET 0.940 0.03 SET 0.950 0.03 SET 0.960 0.03 SET 0.970 0.03 SET 1.000 0.03 SET 1.100 0.04 SET 1.200 0.05 SET 1.300 0.06 SET 1.400 0.07 SET 1.500 0.08 SET 1.600 0.08 SET 1.700 0.09 SET 1.800 0.10 SET 1.900 0.10 SET 2.000 0.11 SET 2.100 0.12 SET 2.200 0.12 SET 2.300 0.13 SET 2.400 0.14 SET 2.500 0.16 SET 2.600 0.18 SET 2.700 0.21 SET 2.800 0.24 SET 2.900 0.25 SET 3.000 0.26 SET 3.100 0.27 SET 3.200 0.28 SET 3.300 0.28 SET 3.400 0.29 SET 3.500 0.30 SET 3.600 0.32 SET 3.700 0.35 SET 3.800 0.37 SET 3.900 0.39 SET 4.000 0.42 SET 4.100 0.45 SET 4.200 0.48 SET 4.300 0.52 SET 4.400 0.55 SET 4.500 0.59 SET 4.600 0.63 SET 4.700 0.68 SET 4.800 0.73 SET 4.900 0.77 SET 5.000 0.82 SET 5.100 0.88 SET 5.200 0.93 SET 5.300 0.99 SET 5.400 1.06 SET 5.500 1.12 SET 5.600 1.18 SET 5.700 1.25 SET 5.800 1.33 SET 5.900 1.40 SET 6.000 1.47 SET 6.100 1.56 SET 6.200 1.64 SET 6.300 1.73 SET 6.400 1.81 SET 6.500 1.92 SET 6.600 2.00 SET 6.700 2.10 SET 6.800 2.21 SET 6.900 2.32 SET 7.000 2.44 SET 7.100 2.57 SET 7.200 2.69 SET 7.300 2.80 SET 7.400 2.95 SET 7.500 3.09 SET 7.600 3.24 SET 7.700 3.37 SET 7.800 3.52 SET 7.900 3.68 SET 8.000 3.84 SET 8.100 4.02 SET 8.200 4.17 SET 8.300 4.34 SET 8.400 4.49 SET 8.500 4.65 SET 8.600 4.84 SET 8.700 5.03 SET 8.800 5.20 SET 8.900 5.38 SET 9.000 5.59 SET 9.100 5.78 SET 9.200 6.01 SET 9.300 6.22 SET 9.400 6.45 SET 9.500 6.72 SET 9.600 7.05 SET 9.700 7.35 SET 9.800 7.66 SET 9.900 7.99 SET 10.000 10.29 SET 11.000 17.47 SET 12.000 39.07 SET 13.000 62.05 SET 14.000 76.14 SET 15.000 83.95 SET 16.000 88.77 SET 17.000 91.73 SET 18.000 93.54 SET 19.000 94.82 SET 20.000 95.90 SET 21.000 96.80 SET 22.000 97.62 SET 23.000 98.26 SET 24.000 98.74 SET 25.000 99.07 SET 26.000 99.31 SET 27.000 99.49 SET 28.000 99.65 SET 29.000 99.71 SET 30.000 99.76 SET 31.000 99.82 SET 32.000 99.86 SET 33.000 99.89 SET 34.000 99.91 SET 35.000 99.93 SET 36.000 99.96 SET 37.000 99.97 SET 38.000 99.98 SET 39.000 99.99 SET 40.000 99.99 SET 41.000 99.99 SET 42.000 100.00 SET 43.000 100.00 SET 45.000 100.00 SET 46.000 100.00 --- GET 0.053 0.00 GET 0.054 0.00 GET 0.055 0.00 GET 0.067 0.00 GET 0.068 0.00 GET 0.076 0.00 GET 0.082 0.00 GET 0.086 0.00 GET 0.100 0.00 GET 0.110 0.00 GET 0.120 0.00 GET 0.130 0.00 GET 0.140 0.00 GET 0.150 0.00 GET 0.160 0.00 GET 0.170 0.00 GET 0.190 0.00 GET 0.200 0.00 GET 0.210 0.00 GET 0.220 0.00 GET 0.230 0.00 GET 0.240 0.00 GET 0.250 0.00 GET 0.270 0.00 GET 0.280 0.00 GET 0.290 0.00 GET 0.300 0.00 GET 0.320 0.00 GET 0.330 0.00 GET 0.340 0.00 GET 0.350 0.01 GET 0.360 0.01 GET 0.380 0.01 GET 0.400 0.01 GET 0.430 0.01 GET 0.440 0.01 GET 0.460 0.01 GET 0.470 0.01 GET 0.480 0.01 GET 0.500 0.01 GET 0.510 0.01 GET 0.520 0.01 GET 0.530 0.01 GET 0.540 0.01 GET 0.550 0.01 GET 0.560 0.01 GET 0.580 0.01 GET 0.590 0.01 GET 0.600 0.01 GET 0.610 0.01 GET 0.620 0.01 GET 0.630 0.01 GET 0.640 0.01 GET 0.650 0.01 GET 0.660 0.01 GET 0.670 0.01 GET 0.680 0.01 GET 0.690 0.01 GET 0.700 0.01 GET 0.710 0.01 GET 0.720 0.01 GET 0.730 0.01 GET 0.740 0.01 GET 0.750 0.01 GET 0.760 0.01 GET 0.770 0.01 GET 0.780 0.01 GET 0.790 0.01 GET 0.800 0.01 GET 0.810 0.01 GET 0.820 0.01 GET 0.830 0.01 GET 0.840 0.01 GET 0.850 0.02 GET 0.860 0.02 GET 0.870 0.02 GET 0.880 0.02 GET 0.890 0.02 GET 0.900 0.02 GET 0.910 0.02 GET 0.920 0.02 GET 0.930 0.02 GET 0.940 0.02 GET 0.950 0.02 GET 0.960 0.02 GET 0.970 0.02 GET 0.980 0.02 GET 0.990 0.02 GET 1.000 0.02 GET 1.100 0.02 GET 1.200 0.03 GET 1.300 0.04 GET 1.400 0.04 GET 1.500 0.05 GET 1.600 0.05 GET 1.700 0.05 GET 1.800 0.06 GET 1.900 0.06 GET 2.000 0.07 GET 2.100 0.07 GET 2.200 0.08 GET 2.300 0.09 GET 2.400 0.09 GET 2.500 0.11 GET 2.600 0.13 GET 2.700 0.16 GET 2.800 0.18 GET 2.900 0.20 GET 3.000 0.20 GET 3.100 0.21 GET 3.200 0.21 GET 3.300 0.22 GET 3.400 0.24 GET 3.500 0.25 GET 3.600 0.26 GET 3.700 0.28 GET 3.800 0.31 GET 3.900 0.33 GET 4.000 0.36 GET 4.100 0.39 GET 4.200 0.43 GET 4.300 0.46 GET 4.400 0.49 GET 4.500 0.53 GET 4.600 0.57 GET 4.700 0.61 GET 4.800 0.65 GET 4.900 0.69 GET 5.000 0.73 GET 5.100 0.78 GET 5.200 0.83 GET 5.300 0.89 GET 5.400 0.95 GET 5.500 1.01 GET 5.600 1.08 GET 5.700 1.14 GET 5.800 1.21 GET 5.900 1.30 GET 6.000 1.37 GET 6.100 1.45 GET 6.200 1.54 GET 6.300 1.62 GET 6.400 1.71 GET 6.500 1.80 GET 6.600 1.90 GET 6.700 1.99 GET 6.800 2.10 GET 6.900 2.21 GET 7.000 2.33 GET 7.100 2.45 GET 7.200 2.56 GET 7.300 2.67 GET 7.400 2.80 GET 7.500 2.94 GET 7.600 3.08 GET 7.700 3.22 GET 7.800 3.36 GET 7.900 3.51 GET 8.000 3.66 GET 8.100 3.83 GET 8.200 3.99 GET 8.300 4.17 GET 8.400 4.32 GET 8.500 4.49 GET 8.600 4.67 GET 8.700 4.84 GET 8.800 5.00 GET 8.900 5.18 GET 9.000 5.37 GET 9.100 5.58 GET 9.200 5.78 GET 9.300 6.00 GET 9.400 6.25 GET 9.500 6.53 GET 9.600 6.82 GET 9.700 7.11 GET 9.800 7.41 GET 9.900 7.77 GET 10.000 10.13 GET 11.000 17.36 GET 12.000 39.32 GET 13.000 62.21 GET 14.000 76.31 GET 15.000 83.98 GET 16.000 88.82 GET 17.000 91.71 GET 18.000 93.50 GET 19.000 94.77 GET 20.000 95.84 GET 21.000 96.76 GET 22.000 97.58 GET 23.000 98.22 GET 24.000 98.73 GET 25.000 99.07 GET 26.000 99.32 GET 27.000 99.51 GET 28.000 99.66 GET 29.000 99.73 GET 30.000 99.78 GET 31.000 99.83 GET 32.000 99.87 GET 33.000 99.90 GET 34.000 99.92 GET 35.000 99.94 GET 36.000 99.96 GET 37.000 99.97 GET 38.000 99.98 GET 39.000 99.99 GET 40.000 99.99 GET 41.000 99.99 GET 42.000 100.00 GET 43.000 100.00 GET 44.000 100.00 GET 45.000 100.00 GET 46.000 100.00 GET 47.000 100.00 --- [email protected]:~#
Det er tvilsomt at du kan installere dette på Windows, men det skal fungere på UNIX-distribusjoner som RHEL/CentOS, Ubuntu/Debian, MacOS osv. Det er gratis å teste.
Tilgjengelig både som CLI og GUI. RDBT-verktøy er et verktøy på tvers av plattformer som har som mål å bidra til å forbedre applikasjonens ytelse. Når det kommer til benchmarking, har verktøyet en minneanalysefunksjon som gjør det mulig å analysere minnebruk, nøkkelanalyse, identifisere minnelekkasjer og gi anbefalinger om å redusere minnebruken.
Du kan se sanntidsytelse og utføre alle slags administrative oppgaver gjennom GUI.
Konklusjon