2. 环境准备:Linux系统要求、安装memtier_benchmark、安装vmstat(sysstat)、验证工具可用性
在进行内存压力测试之前,搭建一个干净、稳定的实验环境是保障测试结果可复现的基础。本节将指导你完成Linux系统的环境检查、memtier_benchmark(内存/Redis基准测试工具)与vmstat(sysstat包中的内存监控工具)的安装,并最终验证所有工具的可用性。
环境概览:本课程所有操作基于 CentOS 7.9 / Ubuntu 22.04 LTS 验证。如果你使用其他发行版,请根据包管理器(yum/apt)调整命令。
2.1 Linux系统要求与检查
在安装工具前,请确保你的Linux系统满足以下最低要求:
| 检查项 | 最低要求 | 推荐配置 | 检查命令 |
|---|---|---|---|
| 操作系统 | CentOS 7+ / Ubuntu 18.04+ | CentOS 7.9 / Ubuntu 22.04 | cat /etc/os-release |
| 内核版本 | 3.10+ | 5.x+ | uname -r |
| 内存 | 2 GB | 8 GB+ | free -h |
| 磁盘空间 | 5 GB | 20 GB+ | df -h |
| 网络 | eth0 可用 | 千兆以太网 | ip addr |
| 编译器/构建工具 | gcc / build-essential | gcc 8+ | gcc --version |
关键检查步骤:使用
free -m 查看内存总量与可用量;使用 nproc 查看CPU核心数,后续压测线程数建议不超过核心数的2倍。
2.2 安装memtier_benchmark
memtier_benchmark 是 Redis Labs 开源的高性能负载生成工具,支持 Redis 和 Memcached 协议。我们采用源码编译安装方式,以获得最新特性和最佳性能。
2.2.1 安装编译依赖
# CentOS / RHEL
sudo yum install -y gcc gcc-c++ make autoconf automake libtool pkgconfig
sudo yum install -y libevent-devel zlib-devel openssl-devel
# Ubuntu / Debian
sudo apt update
sudo apt install -y build-essential autoconf automake libtool pkg-config
sudo apt install -y libevent-dev zlib1g-dev libssl-dev
2.2.2 下载并编译memtier_benchmark
# 克隆官方仓库(推荐使用稳定版本)
git clone https://github.com/RedisLabs/memtier_benchmark.git
cd memtier_benchmark
# 生成构建系统
autoreconf -ivf
# 配置并编译
./configure
make -j$(nproc)
# 安装到系统路径
sudo make install
常见编译错误:如果
autoreconf 失败,请检查是否安装了 autoconf 和 automake。如果 make 过程中提示缺少 libevent,请确认 libevent-dev(Ubuntu)或 libevent-devel(CentOS)已正确安装。
2.2.3 验证安装
# 查看版本信息
memtier_benchmark --version
# 快速连通性测试(假设本地Redis已启动)
memtier_benchmark -s 127.0.0.1 -p 6379 -c 1 -n 10
如果看到类似 memtier_benchmark 2.1.0 的版本输出,并且测试命令返回了吞吐量统计,则说明安装成功。
2.3 安装vmstat(sysstat包)
vmstat 是 sysstat 工具集中的一个核心组件,用于报告进程、内存、分页、块IO、陷阱和CPU活动。我们直接通过系统包管理器安装完整的 sysstat 包。
| 发行版 | 安装命令 | 安装后验证命令 |
|---|---|---|
| CentOS 7/8 | sudo yum install -y sysstat |
vmstat --version |
| CentOS 9 / RHEL 9 | sudo dnf install -y sysstat |
vmstat --version |
| Ubuntu / Debian | sudo apt install -y sysstat |
vmstat --version |
sysstat 服务说明:安装后,sysstat 会默认启用系统级性能数据采集服务(
sysstat 或 sysstat-collect)。你可以使用 systemctl status sysstat 检查服务状态。如果不需要历史数据采集,可以禁用该服务,仅使用 vmstat 等命令行工具。
2.4 验证工具可用性
完成安装后,执行以下全套验证流程,确保两个工具都能正常工作:
- 验证memtier_benchmark:运行
memtier_benchmark --version确认版本号;运行memtier_benchmark -h查看帮助信息。 - 验证vmstat:运行
vmstat --version确认版本号;运行vmstat 1 3查看3次实时系统状态输出。 - 联合快速测试:在终端1运行
vmstat 1持续监控;在终端2运行memtier_benchmark -s 127.0.0.1 -p 6379 -c 1 -n 1000发起轻量负载,观察终端1中si(swap in)和so(swap out)列的变化。
2.5 环境验证清单
使用下表快速核对你的环境是否准备就绪:
| 验证项 | 预期结果 | 状态(✓/✗) |
|---|---|---|
| memtier_benchmark --version | 输出版本号(如 2.1.0) | ____ |
| memtier_benchmark -h | 显示帮助信息,无报错 | ____ |
| vmstat --version | 输出 sysstat 版本号(如 11.7.4) | ____ |
| vmstat 1 3 | 输出3行系统状态数据,无报错 | ____ |
| memtier + vmstat 联合测试 | vmstat 中 si/so 列有数值变化 | ____ |