Benchmark the Performance of a Redis Server

To benchmark the performance of a Redis server, you can use Redis' built-in benchmarking tool called redis-benchmark. It measures the throughput and latency of different Redis commands under various conditions. Here's how you can perform a benchmark:

Install Monitoring Tool

Install a Redis monitoring tool, such as Tiny RDM.

Redis Benchmarking Tool

If Redis is installed on your system, you can run the following command:

redis-benchmark

This will give you a quick overview of Redis performance with default settings and commands.

1M Requests with 500 Clients

This runs 100,000 requests with 500 clients for the SET and GET commands.

redis-benchmark -n 100000 -c 500 -t set,get

Data Size

To evaluate performance with different data sizes, you can use the -d option, which allows you to specify the data size in bytes for SET and GET requests.

redis-benchmark -n 100000 -c 50 -d 1000

This benchmarks with data size of 1KB.

Run a Long Test

-t get,set: Specifies the commands to benchmark (in this case, get and set). 

-n 100000000: The total number of requests to be sent. 

-d 256: Sets the size of the payload (in bytes) to 256 bytes.  

-r 1000000000: Random keys to prevent caching effects.

-c 500: Number of parallel connections.  

-q: Quiet mode.

redis-benchmark -t get,set -n 100000000 -d 256 -r 1000000000 -c 500 -q

Test with Pipelines

Redis supports pipelining, where multiple commands can be sent to the server without waiting for replies. This can be benchmarked with the -P option.

redis-benchmark -n 100000 -c 50 -P 10

This sends 10 commands at a time (pipeline of 10).

Monitor Redis during Benchmarking

It's also useful to monitor Redis' memory, CPU usage, and key statistics while running the benchmark. You can do this using redis-cli's INFO command or external monitoring tools like Redis' built-in performance dashboard (RedisInsight).

redis-cli INFO

Software Engineer | Ethical Hacker & Cybersecurity...

Md Obydullah is a software engineer and full stack developer specialist at Laravel, Django, Vue.js, Node.js, Android, Linux Server, and Ethichal Hacking.