Configure Redis Cluster on RHEL 8
– 3 nodes
– 2 redis instances each node
Node Name | node-1 | node-2 | node-3 |
IP address | 10.6.10.21/24 | 10.6.10.22/24 | 10.6.10.23/24 |
Redis server instances (port number) | master-1 (7000) | master-2 (7000) | master-3 (7000) |
slave-3 (7001) | slave-1 (7001) | slave-2 (7001) |
Install each nodes with RHEL 8
Register server and select minimal server option, standard server, development tools
Create user with root access
Login as user root
adduser openstack usermod -aG wheel openstack echo “openstack ALL=(ALL) NOPASSWD:ALL” | tee /etc/sudoers.d/openstack |
Logout user root
Login as user openstack
Update RHEL
sudo dnf check-update sudo dnf update |
Install required packages
sudo dnf install -y vim wget tcl systemd-devel.x86_64 python3 |
Modify /etc/sysctl.conf file
sudo vim /etc/sysctl.conf |
Add following lines
vm.overcommit_memory=1 net.core.somaxconn=511 |
Configure firewall (need to check!)
sudo firewall-cmd –permanent –new-zone=redis sudo firewall-cmd –permanent –zone=redis –add-port=7000/tcp sudo firewall-cmd –permanent –zone=redis –add-port=7001/tcp sudo firewall-cmd –permanent –zone=redis –add-port=17000/tcp sudo firewall-cmd –permanent –zone=redis –add-port=17001/tcp sudo firewall-cmd –permanent –zone=redis –add-port=7000/tcp sudo firewall-cmd –permanent –zone=redis –add-source=10.6.10.0/24 sudo firewall-cmd –reload |
Install redis server
wget https://download.redis.io/redis-stable.tar.gz tar xzf redis-stable.tar.gz cd redis-stable make make test sudo make install |
Check installation
[root@node-1 ~]# whereis redis-server redis-server: /usr/local/bin/redis-server |
[root@node-1 ~]# redis-server –version Redis server v=7.0.5 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=a49a56f97af1c0b0 |
Prepare required directories
On ALL nodes | sudo mkdir -p /etc/redis |
On node-1 | sudo mkdir -p /var/redis/m1 sudo mkdir -p /var/redis/s3 |
On node-2 | sudo mkdir -p /var/redis/m2 sudo mkdir -p /var/redis/s1 |
On node-3 | sudo mkdir -p /var/redis/m3 sudo mkdir -p /var/redis/s2 |
Prepare configuration files
On node-1 | sudo cp ~/redis-stable/redis.conf /etc/redis/m1.conf sudo cp ~/redis-stable/redis.conf /etc/redis/s3.conf |
On node-2 | sudo cp ~/redis-stable/redis.conf /etc/redis/m2.conf sudo cp ~/redis-stable/redis.conf /etc/redis/s1.conf |
On node-3 | sudo cp ~/redis-stable/redis.conf /etc/redis/m3.conf sudo cp ~/redis-stable/redis.conf /etc/redis/s2.conf |
Configure redis-server
node-1 / master-1
Edit /etc/redis/m1.conf
sudo vim /etc/redis/m1.conf |
Change following lines
bind 127.0.0.1 10.6.10.21 protected-mode no port 7000 daemonize no supervised systemd pidfile /var/run/redis_m1.pid loglevel notice logfile “/var/log/redis_m1.log” save 900 1 300 10 60 10000 stop-writes-on-bgsave-error yes rdbchecksum yes dbfilename dump.rdb dir /var/redis/m1 replica-read-only yes maxmemory 64mb maxmemory-policy volatile-ttl appendonly yes cluster-enabled yes cluster-config-file nodes-m1.conf cluster-node-timeout 5000 cluster-replica-validity-factor 1 slowlog-log-slower-than 10000 slowlog-max-len 64 latency-monitor-threshold 100 |
Save and quit
Create systemd service file
sudo vim /etc/systemd/system/redis-m1.service |
Add following lines
[Unit] Description=Redis data structure server – redis-m1 Documentation=https://redis.io/documentation AssertPathExists=/etc/redis/m1.conf AssertPathExists=/var/redis/m1 [Service] ExecStart=/usr/local/bin/redis-server /etc/redis/m1.conf LimitNOFILE=10032 NoNewPrivileges=yes Type=notify TimeoutStartSec=infinity TimeoutStopSec=infinity UMask=0077 User=root Group=root WorkingDirectory=/var/redis/m1 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target |
Save and quit
Reload service
sudo systemctl deamon-reload |
Start redis-m1 service
sudo systemctl start redis-m1.service |
Check status redis-m1 service
sudo systemctl status redis-m1.service |
Sample output
[root@node-1 ~]# systemctl status redis-m1 ● redis-m1.service – Redis data structure server – redis-m1 Loaded: loaded (/etc/systemd/system/redis-m1.service; enabled; vendor preset: di> Active: active (running) since Tue 2022-11-22 16:09:22 WIB; 2 days ago Docs: https://redis.io/documentation Main PID: 1246 (redis-server) Status: “Ready to accept connections” Tasks: 7 (limit: 23604) Memory: 374.3M CGroup: /system.slice/redis-m1.service └─1246 /usr/local/bin/redis-server 127.0.0.1:7000 [cluster] |
Make redis-m1 autostart at server startup
sudo systemctl enable redis-m1.service |
Modify redis-server configuration files:
node-1 / slave-3 – /etc/redis/s3.conf
bind 127.0.0.1 10.6.10.21 protected-mode no port 7001 daemonize no supervised systemd pidfile /var/run/redis_s3.pid loglevel notice logfile “/var/log/redis_s3.log” save 900 1 300 10 60 10000 stop-writes-on-bgsave-error yes rdbchecksum yes dbfilename dump.rdb dir /var/redis/s3 replica-read-only yes maxmemory 64mb maxmemory-policy volatile-ttl appendonly yes cluster-enabled yes cluster-config-file nodes-s3.conf cluster-node-timeout 5000 cluster-replica-validity-factor 1 slowlog-log-slower-than 10000 slowlog-max-len 64 latency-monitor-threshold 100 |
node-2 / master-2 – /etc/redis/m2.conf
bind 127.0.0.1 10.6.10.22 protected-mode no port 7000 daemonize no supervised systemd pidfile /var/run/redis_m2.pid loglevel notice logfile “/var/log/redis_m2.log” save 900 1 300 10 60 10000 stop-writes-on-bgsave-error yes rdbchecksum yes dbfilename dump.rdb dir /var/redis/m2 replica-read-only yes maxmemory 64mb maxmemory-policy volatile-ttl appendonly yes cluster-enabled yes cluster-config-file nodes-m2.conf cluster-node-timeout 5000 cluster-replica-validity-factor 1 slowlog-log-slower-than 10000 slowlog-max-len 64 latency-monitor-threshold 100 |
node-2 / slave-1 – /etc/redis/s1.conf
bind 127.0.0.1 10.6.10.22 protected-mode no port 7001 daemonize no supervised systemd pidfile /var/run/redis_s1.pid loglevel notice logfile “/var/log/redis_s1.log” save 900 1 300 10 60 10000 stop-writes-on-bgsave-error yes rdbchecksum yes dbfilename dump.rdb dir /var/redis/s1 replica-read-only yes maxmemory 64mb maxmemory-policy volatile-ttl appendonly yes cluster-enabled yes cluster-config-file nodes-s1.conf cluster-node-timeout 5000 cluster-replica-validity-factor 1 slowlog-log-slower-than 10000 slowlog-max-len 64 latency-monitor-threshold 100 |
node-3 / master-3 – /etc/redis/m3.conf
bind 127.0.0.1 10.6.10.23 protected-mode no port 7000 daemonize no supervised systemd pidfile /var/run/redis_m3.pid loglevel notice logfile “/var/log/redis_m3.log” save 900 1 300 10 60 10000 stop-writes-on-bgsave-error yes rdbchecksum yes dbfilename dump.rdb dir /var/redis/m3 replica-read-only yes maxmemory 64mb maxmemory-policy volatile-ttl appendonly yes cluster-enabled yes cluster-config-file nodes-m3.conf cluster-node-timeout 5000 cluster-replica-validity-factor 1 slowlog-log-slower-than 10000 slowlog-max-len 64 latency-monitor-threshold 100 |
node-3 / slave-2 – /etc/redis/s2.conf
bind 127.0.0.1 10.6.10.23 protected-mode no port 7001 daemonize no supervised systemd pidfile /var/run/redis_s2.pid loglevel notice logfile “/var/log/redis_s2.log” save 900 1 300 10 60 10000 stop-writes-on-bgsave-error yes rdbchecksum yes dbfilename dump.rdb dir /var/redis/s2 replica-read-only yes maxmemory 64mb maxmemory-policy volatile-ttl appendonly yes cluster-enabled yes cluster-config-file nodes-s2.conf cluster-node-timeout 5000 cluster-replica-validity-factor 1 slowlog-log-slower-than 10000 slowlog-max-len 64 latency-monitor-threshold 100 |
Create systemd service files
node-1 / slave-3 – /etc/systemd/system/redis-s3.service
[Unit] Description=Redis data structure server – redis-s3 Documentation=https://redis.io/documentation AssertPathExists=/etc/redis/s3.conf AssertPathExists=/var/redis/s3 [Service] ExecStart=/usr/local/bin/redis-server /etc/redis/s3.conf LimitNOFILE=10032 NoNewPrivileges=yes Type=notify TimeoutStartSec=infinity TimeoutStopSec=infinity UMask=0077 User=root Group=root WorkingDirectory=/var/redis/s3 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target |
node-2 / master-2 – /etc/systemd/system/redis-m2.service
[Unit] Description=Redis data structure server – redis-m2 Documentation=https://redis.io/documentation AssertPathExists=/etc/redis/m2.conf AssertPathExists=/var/redis/m2 [Service] ExecStart=/usr/local/bin/redis-server /etc/redis/m2.conf LimitNOFILE=10032 NoNewPrivileges=yes Type=notify TimeoutStartSec=infinity TimeoutStopSec=infinity UMask=0077 User=root Group=root WorkingDirectory=/var/redis/m2 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target |
node-2 / slave-1 – /etc/systemd/system/redis-s1.service
[Unit] Description=Redis data structure server – redis-s1 Documentation=https://redis.io/documentation AssertPathExists=/etc/redis/s1.conf AssertPathExists=/var/redis/s1 [Service] ExecStart=/usr/local/bin/redis-server /etc/redis/s1.conf LimitNOFILE=10032 NoNewPrivileges=yes Type=notify TimeoutStartSec=infinity TimeoutStopSec=infinity UMask=0077 User=root Group=root WorkingDirectory=/var/redis/s1 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target |
node-3 / master-3 – /etc/systemd/system/redis-m3.service
[Unit] Description=Redis data structure server – redis-m3 Documentation=https://redis.io/documentation AssertPathExists=/etc/redis/m3.conf AssertPathExists=/var/redis/m3 [Service] ExecStart=/usr/local/bin/redis-server /etc/redis/m3.conf LimitNOFILE=10032 NoNewPrivileges=yes Type=notify TimeoutStartSec=infinity TimeoutStopSec=infinity UMask=0077 User=root Group=root WorkingDirectory=/var/redis/m3 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target |
node-3 / slave-2 – /etc/systemd/system/redis-s2.service
[Unit] Description=Redis data structure server – redis-s2 Documentation=https://redis.io/documentation AssertPathExists=/etc/redis/s2.conf AssertPathExists=/var/redis/s2 [Service] ExecStart=/usr/local/bin/redis-server /etc/redis/s2.conf LimitNOFILE=10032 NoNewPrivileges=yes Type=notify TimeoutStartSec=infinity TimeoutStopSec=infinity UMask=0077 User=root Group=root WorkingDirectory=/var/redis/s2 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target |
Start, check status, and enable service as master-1 above
Test redis-server instance, we take master-1 as example here
[root@node-1 ~]# redis-cli -h 10.6.10.21 -p 7000 ping PONG |
Check other redis-server instances
redis-cli -h 10.6.10.22 -p 7000 ping redis-cli -h 10.6.10.23 -p 7000 ping redis-cli -h 10.6.10.21 -p 7001 ping redis-cli -h 10.6.10.22 -p 7001 ping redis-cli -h 10.6.10.21 -p 7001 ping |
Configure slots allocation
Slot 0 – 5400 will be on master-1
Slot 5401 – 10800 will be on master-2
Slot 10801 – 16383 will be on master-3
for i in {0..5400}; do redis-cli -h 10.6.10.21 -p 7000 CLUSTER ADDSLOTS $i; done for i in {5401..10800}; do redis-cli -h 10.6.10.22 -p 7000 CLUSTER ADDSLOTS $i; done for i in {10801..16383}; do redis-cli -h 10.6.10.23 -p 7000 CLUSTER ADDSLOTS $i; done |
Check slot allocation
redis-cli -h 10.6.10.21 -p 7000 cluster nodes redis-cli -h 10.6.10.22 -p 7000 cluster nodes redis-cli -h 10.6.10.23 -p 7000 cluster nodes |
Sample output
[root@node-1 ~]# redis-cli -h 10.6.10.21 -p 7000 cluster nodes 757cda6322a7a03743c2ffa0b3366c80a42d9646 10.6.10.21:7000@17000 myself,master – 0 1669346419000 4 connected 0-5400 [root@node-1 ~]# redis-cli -h 10.6.10.22 -p 7000 cluster nodes e3e910e1f47fd03a53a612ba612a855e89c77683 10.6.10.22:7000@17000 myself,master – 0 1669346474000 0 connected 5401-10800 [root@node-1 ~]# redis-cli -h 10.6.10.23 -p 7000 cluster nodes 7ed9ceb67c88779442f11ba48e80bc5f943d3206 10.6.10.23:7000@17000 myself,master – 0 1669346487000 5 connected 10801-16383 |
Configure cluster
redis-cli -h 10.6.10.21 -p 7000 CLUSTER MEET 10.6.10.21 7001 redis-cli -h 10.6.10.21 -p 7000 CLUSTER MEET 10.6.10.22 7000 redis-cli -h 10.6.10.21 -p 7000 CLUSTER MEET 10.6.10.22 7001 redis-cli -h 10.6.10.21 -p 7000 CLUSTER MEET 10.6.10.23 7000 redis-cli -h 10.6.10.21 -p 7000 CLUSTER MEET 10.6.10.23 7001 |
Check cluster configuration
redis-cli -h 10.6.10.21 -p 7000 cluster nodes redis-cli -h 10.6.10.21 -p 7001 cluster nodes redis-cli -h 10.6.10.22 -p 7000 cluster nodes redis-cli -h 10.6.10.22 -p 7001 cluster nodes redis-cli -h 10.6.10.23 -p 7000 cluster nodes redis-cli -h 10.6.10.23 -p 7001 cluster nodes |
Sample output
[root@node-1 ~]# redis-cli -h 10.6.10.21 -p 7000 cluster nodes 757cda6322a7a03743c2ffa0b3366c80a42d9646 10.6.10.21:7000@17000 myself,master – 0 1669346815000 4 connected 0-5400 14dc7be2f12c9166fb1b0e7f62ca4da9cfd00362 10.6.10.21:7001@17001 master 7ed9ceb67c88779442f11ba48e80bc5f943d3206 0 1669346815581 5 connected 7ed9ceb67c88779442f11ba48e80bc5f943d3206 10.6.10.23:7000@17000 master – 0 1669346814000 5 connected 10801-16383 2fc309a3d30dad20464ad07d411bcf597cca8981 10.6.10.22:7001@17001 master 757cda6322a7a03743c2ffa0b3366c80a42d9646 0 1669346815581 4 connected 081e11a943ef79234e9963c6bdb34fb6b9e449f0 10.6.10.23:7001@17001 master e3e910e1f47fd03a53a612ba612a855e89c77683 0 1669346814072 0 connected e3e910e1f47fd03a53a612ba612a855e89c77683 10.6.10.22:7000@17000 master – 0 1669346815882 0 connected 5401-10800 |
Configure replication
Get redis-server ID for master-1, master-2, master-3
[root@node-1 ~]# redis-cli -h 10.6.10.21 -p 7000 cluster nodes 757cda6322a7a03743c2ffa0b3366c80a42d9646 10.6.10.21:7000@17000 myself,master – 0 1669346815000 4 connected 0-5400 14dc7be2f12c9166fb1b0e7f62ca4da9cfd00362 10.6.10.21:7001@17001 master 7ed9ceb67c88779442f11ba48e80bc5f943d3206 0 1669346815581 5 connected 7ed9ceb67c88779442f11ba48e80bc5f943d3206 10.6.10.23:7000@17000 master – 0 1669346814000 5 connected 10801-16383 2fc309a3d30dad20464ad07d411bcf597cca8981 10.6.10.22:7001@17001 master 757cda6322a7a03743c2ffa0b3366c80a42d9646 0 1669346815581 4 connected 081e11a943ef79234e9963c6bdb34fb6b9e449f0 10.6.10.23:7001@17001 master e3e910e1f47fd03a53a612ba612a855e89c77683 0 1669346814072 0 connected e3e910e1f47fd03a53a612ba612a855e89c77683 10.6.10.22:7000@17000 master – 0 1669346815882 0 connected 5401-10800 |
From above we can make following table
Node/Role | IP Address | Port | ID |
node-1 / master-1 | 10.6.10.21 | 7000 | 757cda6322a7a03743c2ffa0b3366c80a42d9646 |
node-2 / master-2 | 10.6.10.22 | 7000 | e3e910e1f47fd03a53a612ba612a855e89c77683 |
node-3 / master-3 | 10.6.10.23 | 7000 | 7ed9ceb67c88779442f11ba48e80bc5f943d3206 |
Relate slave-1 with master-1
redis-cli -h 10.6.10.22 -p 7001 CLUSTER REPLICATE 757cda6322a7a03743c2ffa0b3366c80a42d9646 |
Relate slave-2 with master-2
redis-cli -h 10.6.10.23 -p 7001 CLUSTER REPLICATE e3e910e1f47fd03a53a612ba612a855e89c77683 |
Relate slave-3 with master-3
redis-cli -h 10.6.10.21 -p 7001 CLUSTER REPLICATE 7ed9ceb67c88779442f11ba48e80bc5f943d3206 |
Check master – slave relation
redis-cli -h 10.6.10.21 -p 7000 cluster nodes |
Sample output
[root@node-1 ~]# redis-cli -h 10.6.10.21 -p 7000 cluster nodes 757cda6322a7a03743c2ffa0b3366c80a42d9646 10.6.10.21:7000@17000 myself,master – 0 1669347989000 4 connected 0-5400 14dc7be2f12c9166fb1b0e7f62ca4da9cfd00362 10.6.10.21:7001@17001 slave 7ed9ceb67c88779442f11ba48e80bc5f943d3206 0 1669347990000 5 connected 7ed9ceb67c88779442f11ba48e80bc5f943d3206 10.6.10.23:7000@17000 master – 0 1669347990105 5 connected 10801-16383 2fc309a3d30dad20464ad07d411bcf597cca8981 10.6.10.22:7001@17001 slave 757cda6322a7a03743c2ffa0b3366c80a42d9646 0 1669347990305 4 connected 081e11a943ef79234e9963c6bdb34fb6b9e449f0 10.6.10.23:7001@17001 slave e3e910e1f47fd03a53a612ba612a855e89c77683 0 1669347989000 0 connected e3e910e1f47fd03a53a612ba612a855e89c77683 10.6.10.22:7000@17000 master – 0 1669347989803 0 connected 5401-10800 |
Check master and slave replication status
From master perspective
redis-cli -h 10.6.10.21 -p 7000 info replication |
From slave perspective
redis-cli -h 10.6.10.22 -p 7001 info replication |
Sample output
[root@node-1 ~]# redis-cli -h 10.6.10.21 -p 7000 info replication # Replication role:master connected_slaves:1 slave0:ip=10.6.10.22,port=7001,state=online,offset=92958069,lag=0 master_failover_state:no-failover master_replid:962a8f6652e65daa12f9cf7b9bdd084c53999f41 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:92958069 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:91898241 repl_backlog_histlen:1059829 [root@node-1 ~]# redis-cli -h 10.6.10.22 -p 7001 info replication # Replication role:slave master_host:10.6.10.21 master_port:7000 master_link_status:up master_last_io_seconds_ago:2 master_sync_in_progress:0 slave_read_repl_offset:92958363 slave_repl_offset:92958363 slave_priority:100 slave_read_only:1 replica_announced:1 connected_slaves:0 master_failover_state:no-failover master_replid:962a8f6652e65daa12f9cf7b9bdd084c53999f41 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:92958363 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:91898241 repl_backlog_histlen:1060123 |
Test set and get key
[root@node-1 ~]# redis-cli -h 10.6.10.22 -p 7000 -c 10.6.10.22:7000> 10.6.10.22:7000> set keyone “this is a test” -> Redirected to slot [13391] located at 10.6.10.23:7000 OK 10.6.10.23:7000> 10.6.10.22:7000> get keyone -> Redirected to slot [13391] located at 10.6.10.23:7000 “this is a test” 10.6.10.23:7000> 10.6.10.23:7000> set keyone “the value was replaced” OK 10.6.10.23:7000> get keyone “the value was replaced” 10.6.10.23:7000> |
Benchmark test
redis-benchmark -q -h 10.6.10.21 -p 7000 –cluster |
Sample output
[root@node-1 ~]# redis-benchmark -q -h 10.6.10.21 -p 7000 –cluster Cluster has 3 master nodes: Master 0: 757cda6322a7a03743c2ffa0b3366c80a42d9646 10.6.10.21:7000 Master 1: 7ed9ceb67c88779442f11ba48e80bc5f943d3206 10.6.10.23:7000 Master 2: e3e910e1f47fd03a53a612ba612a855e89c77683 10.6.10.22:7000 PING_INLINE: 99800.40 requests per second, p50=0.223 msec PING_MBULK: 133155.80 requests per second, p50=0.207 msec SET: 100000.00 requests per second, p50=0.279 msec GET: 132978.73 requests per second, p50=0.215 msec INCR: 99700.90 requests per second, p50=0.271 msec LPUSH: 99800.40 requests per second, p50=0.287 msec RPUSH: 99800.40 requests per second, p50=0.287 msec LPOP: 99800.40 requests per second, p50=0.287 msec RPOP: 99800.40 requests per second, p50=0.279 msec SADD: 99700.90 requests per second, p50=0.223 msec HSET: 99800.40 requests per second, p50=0.303 msec SPOP: 132978.73 requests per second, p50=0.215 msec ZADD: 99800.40 requests per second, p50=0.231 msec ZPOPMIN: 133333.33 requests per second, p50=0.215 msec LPUSH (needed to benchmark LRANGE): rps=4.0 (overall: inf) avg_msec=0.042 (overa LPUSH (needed to benchmark LRANGE): rps=116768.9 (overall: 116772.9) avg_msec=0. LPUSH (needed to benchmark LRANGE): rps=124144.0 (overall: 120451.1) avg_msec=0. LPUSH (needed to benchmark LRANGE): rps=115147.4 (overall: 118680.9) avg_msec=0. LPUSH (needed to benchmark LRANGE): 99800.40 requests per second, p50=0.287 msec LRANGE_100 (first 100 elements): rps=0.0 (overall: -nan) avg_msec=-nan (overall: LRANGE_100 (first 100 elements): rps=84259.0 (overall: 84259.0) avg_msec=0.344 ( LRANGE_100 (first 100 elements): rps=91580.0 (overall: 87912.2) avg_msec=0.311 ( LRANGE_100 (first 100 elements): rps=88597.6 (overall: 88141.0) avg_msec=0.325 ( LRANGE_100 (first 100 elements): rps=82532.0 (overall: 86741.5) avg_msec=0.338 ( LRANGE_100 (first 100 elements): 79872.20 requests per second, p50=0.311 msec LRANGE_300 (first 300 elements): rps=0.0 (overall: -nan) avg_msec=-nan (overall: LRANGE_300 (first 300 elements): rps=39107.6 (overall: 39107.6) avg_msec=0.717 ( LRANGE_300 (first 300 elements): rps=36596.0 (overall: 37854.3) avg_msec=0.788 ( LRANGE_300 (first 300 elements): rps=39844.6 (overall: 38518.6) avg_msec=0.670 ( LRANGE_300 (first 300 elements): rps=39876.0 (overall: 38857.3) avg_msec=0.684 ( LRANGE_300 (first 300 elements): rps=39235.1 (overall: 38933.0) avg_msec=0.713 ( LRANGE_300 (first 300 elements): rps=39396.0 (overall: 39010.0) avg_msec=0.681 ( LRANGE_300 (first 300 elements): rps=38581.7 (overall: 38948.7) avg_msec=0.706 ( LRANGE_300 (first 300 elements): rps=40322.7 (overall: 39120.7) avg_msec=0.663 ( LRANGE_300 (first 300 elements): rps=39442.2 (overall: 39156.5) avg_msec=0.690 ( LRANGE_300 (first 300 elements): rps=37840.6 (overall: 39024.7) avg_msec=0.722 ( LRANGE_300 (first 300 elements): 36271.31 requests per second, p50=0.647 msec LRANGE_500 (first 500 elements): rps=0.0 (overall: -nan) avg_msec=-nan (overall: LRANGE_500 (first 500 elements): rps=26290.8 (overall: 26290.8) avg_msec=1.063 ( LRANGE_500 (first 500 elements): rps=28521.9 (overall: 27406.4) avg_msec=0.919 ( LRANGE_500 (first 500 elements): rps=28664.0 (overall: 27824.5) avg_msec=0.936 ( LRANGE_500 (first 500 elements): rps=27625.5 (overall: 27774.7) avg_msec=0.977 ( LRANGE_500 (first 500 elements): rps=27513.9 (overall: 27722.5) avg_msec=0.984 ( LRANGE_500 (first 500 elements): rps=27996.0 (overall: 27768.1) avg_msec=0.955 ( LRANGE_500 (first 500 elements): rps=28247.0 (overall: 27836.6) avg_msec=0.941 ( LRANGE_500 (first 500 elements): rps=27235.1 (overall: 27761.3) avg_msec=0.997 ( LRANGE_500 (first 500 elements): rps=29768.0 (overall: 27983.6) avg_msec=0.905 ( LRANGE_500 (first 500 elements): rps=29588.0 (overall: 28143.6) avg_msec=0.893 ( LRANGE_500 (first 500 elements): rps=28456.3 (overall: 28172.2) avg_msec=0.953 ( LRANGE_500 (first 500 elements): rps=31148.0 (overall: 28419.4) avg_msec=0.851 ( LRANGE_500 (first 500 elements): rps=28043.7 (overall: 28390.4) avg_msec=1.009 ( LRANGE_500 (first 500 elements): rps=29482.1 (overall: 28468.4) avg_msec=0.913 ( LRANGE_500 (first 500 elements): 26624.07 requests per second, p50=0.863 msec LRANGE_600 (first 600 elements): rps=0.0 (overall: -nan) avg_msec=-nan (overall: LRANGE_600 (first 600 elements): rps=24278.9 (overall: 24278.9) avg_msec=1.102 ( LRANGE_600 (first 600 elements): rps=25600.0 (overall: 24938.1) avg_msec=1.046 ( LRANGE_600 (first 600 elements): rps=24996.0 (overall: 24957.6) avg_msec=1.048 ( LRANGE_600 (first 600 elements): rps=24908.4 (overall: 24945.3) avg_msec=1.067 ( LRANGE_600 (first 600 elements): rps=25604.0 (overall: 25076.5) avg_msec=1.041 ( LRANGE_600 (first 600 elements): rps=26138.9 (overall: 25254.1) avg_msec=1.006 ( LRANGE_600 (first 600 elements): rps=25032.0 (overall: 25222.5) avg_msec=1.051 ( LRANGE_600 (first 600 elements): rps=24705.2 (overall: 25157.9) avg_msec=1.049 ( LRANGE_600 (first 600 elements): rps=24812.8 (overall: 25119.5) avg_msec=1.037 ( LRANGE_600 (first 600 elements): rps=24312.0 (overall: 25039.1) avg_msec=1.114 ( LRANGE_600 (first 600 elements): rps=24297.6 (overall: 24971.4) avg_msec=1.083 ( LRANGE_600 (first 600 elements): rps=25525.9 (overall: 25017.6) avg_msec=1.041 ( LRANGE_600 (first 600 elements): rps=24494.0 (overall: 24977.3) avg_msec=1.089 ( LRANGE_600 (first 600 elements): rps=25195.2 (overall: 24992.9) avg_msec=1.035 ( LRANGE_600 (first 600 elements): rps=24147.4 (overall: 24936.5) avg_msec=1.123 ( LRANGE_600 (first 600 elements): 23496.24 requests per second, p50=0.999 msec MSET (10 keys): 79808.46 requests per second, p50=0.367 msec |
Securing redis-server