测试环境说明
项目 | 说明 |
---|---|
测试实例规格 | 基础读写分离8G(2副本) |
测试实例引擎版本 | 7.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 | 234967 | 0.398 | 0.583 | 0.711 | 15.623 |
500 | 251452 | 1.890 | 1.943 | 2.743 | 420.095 | |||
1000 | 249525 | 3.830 | 3.391 | 206.207 | 828.927 | |||
1024 | 100 | 124427 | 0.789 | 0.927 | 1.263 | 2605.055 | ||
500 | 121692 | 3.967 | 4.903 | 11.695 | 3000.319 | |||
1000 | 133051 | 7.396 | 9.767 | 32.895 | 224.895 |
表2 GET 命令的测试结果
实例规格 | CPU类型 | 数据大小 | 连接数 | QPS | 平均延迟(ms) | 95%延迟(ms) | 99%延迟(ms) | 最大延迟(ms) |
---|---|---|---|---|---|---|---|---|
基础标准版双副本8G | X86 | 32 | 100 | 254414 | 0.376 | 0.431 | 0.543 | 209.919 |
500 | 250928 | 1.853 | 1.463 | 2.327 | 409.599 | |||
1000 | 249575 | 3.759 | 2.351 | 205.823 | 825.855 | |||
1024 | 100 | 212458 | 0.454 | 0.631 | 0.759 | 11.119 | ||
500 | 253036 | 1.917 | 2.175 | 2.919 | 420.863 | |||
1000 | 249557 | 3.926 | 4.071 | 205.183 | 1698.815 |