Optimaliser Redis: Test ytelse med disse fantastiske verktøyene!

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