本文介绍 Redis 6.2.5 在未启用 TLS 功能条件下,在不同测试场景下的测试结果。

测试环境

测试环境信息数 说明

地域和可用区

所有测试均在北京三区的可用区 B 中完成。

Redis 集群架构

默认架构 1主节点。本次测试以企业型 e3基础型规格为例,集群配置如下:

  • 单线程测试环境基础型2核机型

  • 多线程测试环境基础型8核机型

  • 单线程生产环境企业型e3 2核机型

  • 多线程生产环境企业型e3 8核机型

部署压测工具的机器

采用计算型云服务器,实例规格为 ec3ne.16xlarge.r2,类型为 网络增强计算型ec3ne,64核CPU,128G内存。

测试场景

场景 说明

get

分别在 64、128、246、1024B 数据量下的 get 操作。

set

分别在 64、128、246、1024B 数据量下的 set 操作。

测试目标

准备约 10GB 测试数据,对于不同 Redis Standalone 集群配置场景下,启动 32 个线程、512 个连接、100000 个 Key 的取值范围,测试使用数据库服务端口连接,执行不同数据量 SET 及 GET 操作的性能。

测试步骤

  1. 创建云服务器,配置云服务器与 Redis Standalone 集群在相同可用区、VPC、私有网络和安全组。

  2. 在云服务器上安装 redis-benchmark

  3. 在云服务上执行相关测试命令

测试命令

  • 执行 get 操作处理 64B 数据。处理 128、256、1024B 数据,需相应修改 -d 参数取值。

     ./src/redis-benchmark -h <node_IP> -p 6379 -n 10000000 -r 100000 -c 512 -t get -d 64 --threads 32
  • 执行 set 操作处理 64B 数据。处理 128、256、1024B 数据,需相应修改 -d 参数取值。

     ./src/redis-benchmark -h <node_IP> -p 6379 -n 10000000 -r 100000 -c 512 -t set -d 64 --threads 32

测试结果

说明

基础型资源环境共享 CPU,QPS 不稳定。

单线程测试环境多线程测试环境 为基础型资源,测出 QPS 值可能浮动较大,以下测试结果仅供可选参考。

GET 测试结果

Value 长度QPS (ops/s)
单线程测试环境,2核8G
64 字节85037
128 字节86510
256 字节87659
1024 字节85600
多线程测试环境,8核16G
64 字节160779
128 字节159502
256 字节162088
1024 字节162080
单线程生产环境,2核16G
64 字节324118
128 字节297548
256 字节318969
1024 字节318979
多线程生产环境,8核16G
64 字节376152
128 字节546777
256 字节553955
1024 字节486239

SET 测试结果

Value 长度QPS (ops/s)
单线程测试环境,2核8G
64 字节72252
128 字节70708
256 字节61537
1024 字节26571
多线程测试环境,8核16G
64 字节116914
128 字节108931
256 字节85923
1024 字节24532
单线程生产环境,2核16G
64 字节196510
128 字节189872
256 字节176429
1024 字节93583
多线程生产环境,8核16G
64 字节241563
128 字节260471
256 字节252258
1024 字节96754