使用memtier-benchmark测试Redis性能
memtier_benchmark
是一种高吞吐量的性能基准测试工具,主要用于Redis
和 Memcached
。它是 Redis 开发团队开发的,旨在生成各种流量模式,以便测试和优化这些数据库的性能。以下是memtier_benchmark
的一些关键特点:
-
多协议支持:memtier_benchmark 支持 Redis 和 Memcached(包括二进制和文本协议),可以用于比较不同场景下的性能表现。
-
多线程与多客户端:该工具能够启动多个工作线程,每个线程可以驱动配置数量的客户端,从而更好地利用硬件资源,生成高负载流量。
-
可定制的测试选项:用户可以通过选项来控制 GET 和 SET 操作的比例、键的使用模式(随机或顺序)、键的过期时间范围等,以模拟不同的访问模式。
-
报告生成:memtier_benchmark 能够在多次测试迭代后自动生成最佳、最差和平均结果的报告,帮助用户深入了解系统性能。
-
开源:该工具的源代码在 GitHub 上开源,用户可以自由下载和使用。
1. 工具安装
1.1 ubuntu镜像源安装memtier-benchmark
镜像源安装:
sudo apt install lsb-release curl gpg
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install memtier-benchmark
1.2 源码安装
Centos/RHEL系统没有找到镜像源,可以使用源码方式进行安装。
CentOS/Red Hat Linux 7 or newer
安装依赖:
$ sudo yum install autoconf automake make gcc-c++ \
pcre-devel zlib-devel libmemcached-devel libevent-devel openssl-devel
Ubuntu/Debian
安装依赖:
$ sudo apt-get install build-essential autoconf automake libpcre3-dev \
libevent-dev pkg-config zlib1g-dev libssl-dev
macOS
安装依赖:
$ brew install autoconf automake libtool libevent pkg-config openssl@3.0
当运行./configure
时,如果找不到libssl,可能需要调整PKG_CONFIG_PATH
环境变量:
PKG_CONFIG_PATH=`brew --prefix openssl@3.0`/lib/pkgconfig ./configure
编译安装
使用git下载源码,git clone https://github.com/RedisLabs/memtier_benchmark.git
, 使用如下命令编译安装:
$ autoreconf -ivf
$ ./configure
$ make
$ sudo make install
2. memtier_benchmark 参数详解
下面是 memtier_benchmark
参数的详细说明:
连接和通用选项
-h, --host=ADDR
: 服务器地址(默认值:localhost
)。-s, --server=ADDR
: 同--host
。-p, --port=PORT
: 服务器端口(默认值:6379
)。-S, --unix-socket=SOCKET
: UNIX 域套接字名称(默认值:无)。-4, --ipv4
: 强制使用 IPv4 地址解析。-6, --ipv6
: 强制使用 IPv6 地址解析。