使用memtier_benchmark测试Redis性能
Memtier_benchmark是Redis Labs推出的一款命令行工具,它能够产生多种流量模式,对Redis实例进行基准测试。该工具提供了丰富的自定义选项和报表功能,通过命令行界面就能够轻松地使用。了解memtier_benchmark更多详情,请访问https://github.com/RedisLabs/memtier_benchmark。
针对DCS Redis实例的性能评估,可以使用memtier_benchmark测试某种规格的实例在某个高并发场景下执行SET或GET时的性能。
测试步骤
- 创建Redis缓存实例。
- 创建3台弹性云服务器(ECS),ECS选择与实例相同可用区、VPC、子网和安全组。
如果是测试单机或主备实例,创建1台ECS即可。
- 在每台ECS上安装memtier_benchmark。以操作系统为CentOS 8.0为例进行安装。
- 准备工作。
- 安装编译所需的工具。
yum install -y automake
yum install -y make
yum install -y gcc-c++
yum install -y git
- 启用PowerTools存储库的方法。
- 安装需要的依赖库。
yum install -y zlib-devel
yum install -y libmemcached-devel
yum install -y openssl-devel
- 安装编译所需的工具。
- 安装libevent库。
- 下载、编译、安装memtier_benchmark的库。
- 运行帮助命令查看是否安装成功。如果返回memtier_benchmark的参数说明,表示安装成功。
- 准备工作。
- 每台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表示测试包数量
- 不断调整客户端连接数,执行4,得到最大的QPS(Query Per Second,表示每秒处理的读写操作数,单位:次/秒)。
- 取3台测试ECS得到的每秒操作数总和,即为对应规格的性能数据。
如果测试Redis集群,建议每台测试ECS各开启两个benchmark客户端。