测试环境说明
项目 | 说明 |
---|---|
测试实例规格 | 基础读写分离8G(2副本) |
测试实例引擎版本 | 6.0 |
测试实例地域和可用区 | 上海36 可用区1 |
压测机器的规格 | c7.2xlarge.2 | 16核 | 32G |
压测机器的操作系统 | CTyunOS 2.0.1-21.06.4 64位 |
压测机器地域和可用区 | 上海36 可用区1 |
压测机器网络 | 与Redis实例为相同VPC区,与Redis实例可通过VPC连接 |
压测工具 | redis-benchmark |
读写分离 | 关闭 |
测试命令
redis-benchmark -h ${host} -p ${port} -a ${password} -c ${connect_num} -n 10000000 -d ${data_size} -r 1000000 -t set,get --threads 8
说明
参数说明,根据具体情况替换: ${host}: Redis连接地址 , ${port}:Redis服务端口,${password} : 密码 , ${connection_num}: 连接数 , ${data_size}: VALUE数据大小。
测试结果
以下测试结果仅供参考,不同的机器环境和网络波动等客观条件可能产生性能差异。
性能指标说明:
性能指标 | 说明 |
---|---|
QPS | Query Per Second,表示每秒处理的请求数,单位是次/秒。 |
延迟 | 操作的平均/最大延迟时间,单位为毫秒(ms)。 |
%延迟 | 比如99%操作延迟,指99%操作的最大延迟时间,单位为毫秒(ms)。例如该指标的值为15毫秒,表示99%的请求可以在15毫秒内被处理。 |
表1 SET 命令的测试结果
实例规格 | CPU类型 | 数据大小 | 连接数 | QPS | 平均延迟(ms) | 95%延迟(ms) | 99%延迟(ms) | 最大延迟(ms) |
---|---|---|---|---|---|---|---|---|
基础标准版双副本8G | X86 | 32 | 100 | 254401 | 0.368 | 0.535 | 0.655 | 210.047 |
500 | 253062 | 1.879 | 1.687 | 2.519 | 213.631 | |||
1000 | 251085 | 3.790 | 2.911 | 206.719 | 618.495 | |||
1024 | 100 | 105914 | 0.900 | 0.999 | 2.079 | 3000.319 | ||
500 | 126321 | 3.903 | 4.807 | 25.167 | 916.479 | |||
1000 | 139692 | 7.040 | 8.175 | 35.455 | 571.903 |
表2 GET 命令的测试结果
实例规格 | CPU类型 | 数据大小 | 连接数 | QPS | 平均延迟(ms) | 95%延迟(ms) | 99%延迟(ms) | 最大延迟(ms) |
---|---|---|---|---|---|---|---|---|
基础标准版双副本8G | X86 | 32 | 100 | 249912 | 0.384 | 0.407 | 0.519 | 210.303 |
500 | 250934 | 1.830 | 1.351 | 2.335 | 417.791 | |||
1000 | 250840 | 3.654 | 2.215 | 205.311 | 825.855 | |||
1024 | 100 | 248385 | 0.386 | 0.559 | 0.679 | 9.071 | ||
500 | 252742 | 1.928 | 1.751 | 2.623 | 420.607 | |||
1000 | 242283 | 4.037 | 3.807 | 205.183 | 839.679 |