You need to enable JavaScript to run this app.
导航

性能白皮书

最近更新时间2023.07.18 14:58:38

首次发布时间2021.11.25 21:10:34

本文介绍以 Memtier-benchmark 工具测试缓存数据库 Redis 版实例性能的详细方法和测试结果,您可以按照本文介绍自行测试对比,快速了解数据库系统的性能。

测试环境

  • 测试所用的 ECS 实例和缓存数据库 Redis 版实例均在同一地域、同一可用区。本测试中为华北 2(北京)可用区 A。

  • 网络类型均为私有网络 VPC。

    说明

    ECS 实例和 Redis 实例需保证在同一个 VPC中。

  • 测试所用缓存数据库 Redis 版实例

    • 数据库版本为 Redis 5.0。
    • 实例类型为主备类型。
    • 实例的规格根据测试对象决定,分别使用了启用 16 分片集群的实例和启用 32 分片集群的实例进行测试,其中每个分片的内存均为 2GiB。
  • 测试所用 ECS 实例

    • 操作系统版本:Debian 10,64位。
    • 测试时 Redis 实例中启用的分片数量不同,对应的 ECS 配置也不同:
      • 测试启用 16 分片集群的 Redis 实例时,ECS 配置为:
        32vCPU、128GiB 内存的通用型 ECS 实例(规格码 ecs.g1.8xlarge)8 台。
      • 测试启用 32 分片集群的 Redis 实例时,ECS 配置为:
        32vCPU、128GiB 内存的通用型 ECS 实例(规格码 ecs.g1.8xlarge)12 台。

测试工具

本测试中使用的工具为 Memtier-benchmark。Memtier-benchmark 是 Redis Labs 开发的命令行工具,可用于非关系型键值数据库的负载生成和基准测试,是 Redis 官方提供的基准测试工具。
关于 Memtier-benchmark 工具的下载及安装方法,请参见 Memtier-benchmark

测试命令

本测试中使用了如下命令进行性能测试。

memtier_benchmark -s <server-url> -p 6379 -c 20 -t 10 --ratio=1:1 --select-db=0 --test-time=1800 -d 32 -a <password>
参数说明
-sRedis 数据库的连接地址。
-aRedis 数据库的密码。
-c测试中每个线程中模拟连接的客户端数量。
-d测试使用的对象数据的大小。单位:Byte。
-t测试中使用的线程数。
--ratio测试命令的写读比率,即 SETGET 的比率。
--test-time测试持续时长。单位:秒。
--select-db测试使用的 DB 号。

说明

实际测试时,不同规格的 Redis 实例压测所采用的并发连接数并不完全相同。建议您在执行以上压测命令进行实际测试时,也不断调整并发连接数,以获得更高的吞吐能力。

测试结果

单分片内存分片数量实例总内存总并发连接数QPS
2GiB1632GiB3,2001,885,000
2GiB3264GiB6,4003,371,000

说明

  • 测试结果使用的衡量指标为 QPS(Query Per Second),即数据库每秒执行的操作数,单位:次/秒。
  • 缓存数据库 Redis 版不同规格的性能参考值,请参见实例规格