文档首页/ 分布式缓存服务 DCS/ 用户指南/ 测试实例性能/ 使用memtier_benchmark测试Redis性能
更新时间:2024-09-30 GMT+08:00

使用memtier_benchmark测试Redis性能

Memtier_benchmark是Redis Labs推出的一款命令行工具,它能够产生多种流量模式,对Redis实例进行基准测试。该工具提供了丰富的自定义选项和报表功能,通过命令行界面就能够轻松地使用。了解memtier_benchmark更多详情,请访问https://github.com/RedisLabs/memtier_benchmark

针对DCS Redis实例的性能评估,可以使用memtier_benchmark测试某种规格的实例在某个高并发场景下执行SET或GET时的性能。

测试步骤

  1. 创建Redis缓存实例。
  2. 创建3台弹性云服务器(ECS),ECS选择与实例相同可用区、VPC、子网和安全组。

    如果是测试单机或主备实例,创建1台ECS即可。

  3. 在每台ECS上安装memtier_benchmark。以操作系统为CentOS 8.0为例进行安装。

    1. 准备工作。
      1. 安装编译所需的工具。

        yum install -y autoconf

        yum install -y automake

        yum install -y make

        yum install -y gcc-c++

        yum install -y git

      2. 启用PowerTools存储库的方法。

        dnf config-manager --set-enabled PowerTools

      3. 安装需要的依赖库。

        yum install -y pcre-devel

        yum install -y zlib-devel

        yum install -y libmemcached-devel

        yum install -y openssl-devel

    2. 安装libevent库。

      yum install -y libevent-devel

    3. 下载、编译、安装memtier_benchmark的库。
      1. 根目录下创建文件夹,用于下载memtier_benchmark。

        mkdir /env

      2. 下载memtier_benchmark源码。

        cd /env

        git clone https://github.com/RedisLabs/memtier_benchmark.git

      3. 进入源码目录。

        cd memtier_benchmark

      4. 编译生成可执行文件memtier_benchmark。

        autoreconf -ivf

        ./configure

        make

      5. 将工具安装到系统中。

        make install

    4. 运行帮助命令查看是否安装成功。如果返回memtier_benchmark的参数说明,表示安装成功。

      memtier_benchmark --help

  4. 每台ECS上执行测试命令。

    memtier_benchmark -s {IP} -n {nreqs}  -c {connect_number}  -t 4 -d {datasize}

    如果实例类型为cluster集群,则命令为memtier_benchmark --cluster-mode -s {IP} -n {nreqs} -c {connect_number} -t 4 -d {datasize}

    参数参考值:-c {connect_number}:200,-n {nreqs}:10000000,-d {datasize}:32。

    • -s表示实例的域名连接地址或IP地址。
    • -t表示基准测试使用的线程数量
    • -c表示客户端连接数
    • -d表示单条数据大小,单位byte
    • -n表示测试包数量

  5. 不断调整客户端连接数,执行4,得到最大的QPS(Query Per Second,表示每秒处理的读写操作数,单位:次/秒)。
  6. 取3台测试ECS得到的每秒操作数总和,即为对应规格的性能数据。

    如果测试Redis集群,建议每台测试ECS各开启两个benchmark客户端。