在 CentOS 上测试 Redis 性能,通常有 官方工具 和 第三方工具 两类方法。下面从 最常用、最实用 的角度给你一个完整说明。
yum install -y redis
如果系统仓库版本太旧,可使用 Remi 或源码安装新版 Redis。
redis-benchmark(官方自带)这是 Redis 自带的性能测试工具,直接可用。
redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 100000
参数说明:
| 参数 | 含义 |
|---|---|
-h |
Redis 服务器 IP |
-p |
Redis 端口 |
-c |
并发客户端数 |
-n |
总请求数 |
-d |
数据大小(字节) |
-t |
指定测试命令 |
redis-benchmark -t set,get -n 100000 -q
redis-benchmark -d 1024 -n 100000
redis-benchmark -c 100 -n 500000
redis-benchmark -P 16 -n 100000
SET: 85000.00 requests per second
GET: 92000.00 requests per second
单位是 QPS(每秒请求数)
cpupower frequency-set --governor performance
echo never > /sys/kernel/mm/transparent_hugepage/enabled
vi /etc/sysctl.conf
添加:
vm.overcommit_memory = 1
net.core.somaxconn = 65535
生效:
sysctl -p
redis-cli 简单压测(辅助)redis-cli --latency
redis-cli --latency-history
用于查看 延迟,不是吞吐量。
yum install -y autoconf automake libtool
git clone https://github.com/RedisLabs/memtier_benchmark.git
cd memtier_benchmark
autoreconf -ivf
./configure
make && make install
示例:
memtier_benchmark -s 127.0.0.1 -p 6379 -c 50 -n 10000
git clone https://github.com/facebookarchive/redis-faina
python redis-faina.py < redis-cli --latency
| 场景 | QPS |
|---|---|
| 单实例 GET/SET | 5 万~15 万 |
| Pipeline | 30 万~100 万 |
| 集群模式 | 线性增长 |
redis-cli info stats
redis-cli info cpu
redis-cli info memory
重点看:
used_memoryinstantaneous_ops_per_seclatencyredis-benchmark 测 QPSmemtier_benchmark 测真实场景info 命令分析瓶颈如果你愿意,我可以:
你可以直接贴出你的 Redis 版本 + 机器配置。