本文介绍 Redis 6.2.5 启用 TLS 功能后,在不同测试场景下的测试结果。
测试环境
测试环境信息数 |
说明 |
地域和可用区 |
所有测试均在北京三区的可用区 B 中完成。 |
Redis 集群架构 |
默认架构, 3 分片, 每分片 1 副本, 共 6 节点。 |
分片实例规格 |
本次测试以通用型 e2 与基础型 规格为例。 单线程测试环境为基础型2核 机型多线程测试环境为基础型8核 机型 单线程生产环境为通用型e2 2核 机型 多线程生产环境 为通用型e2 8核 机型 规格详情参见云服务器类型介绍。 |
部署压测工具的机器 |
采用计算型云服务器,实例规格: ec3ne.16xlarge.r2 ,类型:网络增强计算型ec3ne ,64核CPU,128G内存 |
测试命令
详细操作方法请参见测试方法。
本次测试场景:启动 32 个线程、512 个连接、100000 个 Key 的取值范围,测试使用 TLS 端口连接并执行 SET 及 GET 命令的性能。
./src/redis-benchmark -h <IP> -p 6479 -n 10000000 -r 100000 -c 512 -t get,set -d 64 --threads 32 --cluster --tls --cert ./tests/tls/redis.crt --key ./tests/tls/redis.key --cacert ./tests/tls/ca.crt
测试指标
指标 |
说明 |
QPS |
集群每秒处理的读写操作数,单位为次/秒。 |
测试结果
GET 测试结果
Value 长度 | QPS (次/秒) | 分片实例规格 |
单线程测试环境 |
64 字节 | 143385.62 | 2核16G |
128 字节 | 143998.84 | 2核16G |
256 字节 | 143812.47 | 2核16G |
1024 字节 | 144379.31 | 2核16G |
多线程测试环境 |
64 字节 | 503626.09 | 8核16G |
128 字节 | 497636.25 | 8核16G |
256 字节 | 500951.81 | 8核16G |
1024 字节 | 497611.44 | 8核16G |
单线程生产环境 |
64 字节 | 402965.84 | 2核16G |
128 字节 | 405663.06 | 2核16G |
256 字节 | 406934.16 | 2核16G |
1024 字节 | 405794.75 | 2核16G |
多线程生产环境 |
64 字节 | 879894.44 | 8核16G |
128 字节 | 901632.00 | 8核16G |
256 字节 | 866250.88 | 8核16G |
1024 字节 | 901469.38 | 8核16G |
SET 测试结果
Value 长度 | QPS (次/秒) | 分片实例规格 |
单线程测试环境 |
64 字节 | 126380.71 | 2核16G |
128 字节 | 123236.19 | 2核16G |
256 字节 | 119487.16 | 2核16G |
1024 字节 | 67140.23 | 2核16G |
多线程测试环境 |
64 字节 | 357232.16 | 8核16G |
128 字节 | 334470.53 | 8核16G |
256 字节 | 242154.20 | 8核16G |
1024 字节 | 71521.55 | 8核16G |
单线程生产环境 |
64 字节 | 352721.25 | 2核16G |
128 字节 | 355214.53 | 2核16G |
256 字节 | 351951.56 | 2核16G |
1024 字节 | 321047.91 | 2核16G |
多线程生产环境 |
64 字节 | 567794.69 | 8核16G |
128 字节 | 503372.62 | 8核16G |
256 字节 | 473843.81 | 8核16G |
1024 字节 | 263685.28 | 8核16G |