本文主要介绍如何使用memtier-benchmark测试Redis集群版性能。
memtier-benchmark可以根据您的需求生成多种结构的数据对数据库进行压力测试,帮助您了解目标数据库的性能极限。其部分功能特性如下。
您的Linux系统已安装以下库或工具。
如果缺少以上组件,您可以按照以下步骤进行安装。
提示:本文中的安装环境为阿里云ECS实例中的CentOS 7.2系统,其它系统的安装方法此处不做详细介绍。
yum install git
yum install autoconf automake make gcc-c++
yum install pcre-devel zlib-devel libmemcached-devel
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz tar xfz libevent-2.0.21-stable.tar.gz pushd libevent-2.0.21-stable ./configure make sudo make install popd
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}
git clone https://github.com/RedisLabs/memtier_benchmark.git cd memtier_benchmark
autoreconf -ivf ./configure make make install
测试命令示例及常用选项说明如下,测试结果参考值以及更多测试相关信息请参见Redis性能白皮书。
./memtier_benchmark -s r-XXXX.redis.rds.aliyuncs.com -p 6379 -a XXX -c 20 -d 32 --threads=10 --ratio=1:1 --test-time=1800 --select-db=10
选项 | 说明 |
---|---|
-s | Redis数据库的连接地址 |
-a | Redis数据库的密码 |
-c | 测试中模拟连接的客户端数量 |
-d | 测试使用的对象数据的大小 |
--threads | 测试中使用的线程数 |
--ratio | 测试命令的读写比率(SET:GET Ratio) |
--test-time | 测试时长(单位:秒) |
--select-db | 测试使用的DB数量 |
提示:
- 更多memtier_benchmark帮助信息请使用
memtier_benchmark -help
命令获取。- 受到测试主机(本文为ECS中的Linux主机)的限制,单台主机上的测试结果可能无法体现Redis的极限性能,请参见集群版的双副本测试环境获取阿里云的测试建议。