2026-05-06 07:33:15
Redis性能测试可通过redis-benchmark工具实现,监控则需结合系统命令或第三方工具。以下是具体方法:
一、Redis性能测试1. 基础压测命令使用redis-benchmark模拟并发请求,测试Redis的读写性能。例如:
redis-benchmark -h 10.100.81.171 -p 6379 -c 100 -n 100000-h:Redis服务器IP地址。
-p:Redis服务端口(默认6379)。
-c:并发客户端数量(如100个并发连接)。
-n:总请求数(如10万次)。
-q:静默模式,仅显示摘要结果。
-d:数据包大小(字节,如测试500字节的读写性能)。
示例输出:
100000 requests completed in 1.60 seconds3 bytes payloadkeep alive: 1100.00% <= 2 milliseconds62656.64 requests per secondQPS(每秒请求数):如62656.64 requests/second。
延迟:所有请求在2毫秒内完成。
测试写入性能:
redis-benchmark -h 10.100.81.171 -p 6379 -t set -d 500 -c 100 -n 100000-t set:仅测试SET操作。
-d 500:写入500字节的数据。
测试读取性能:
redis-benchmark -h 10.100.81.171 -p 6379 -t get -d 500 -c 100 -n 100000-t get:仅测试GET操作。
示例输出:
混合读写测试:
redis-benchmark -h 10.100.81.171 -p 6379 -n 100000 -P 10 -r 1000000-P:管道(pipeline)大小(如10条命令批量执行)。
-r:随机键范围(如100万个键)。
持久化性能测试:
在开启AOF或RDB持久化时,测试写入性能下降比例。
CPU/内存使用率:
top -p $(pgrep -d ',' redis-server)观察Redis进程的CPU占用和内存增长趋势。
网络带宽:
iftop -i eth0 -P监控Redis服务器的网络流量(需安装iftop)。
示例监控截图:
2. Redis内置命令监控实时指标:
redis-cli info stats关键指标:
instantaneous_ops_per_sec:当前QPS。
hit_rate:缓存命中率。
keyspace_misses:未命中次数。
慢查询日志:
redis-cli slowlog get分析执行时间超过阈值的命令(需提前配置slowlog-log-slower-than)。
Prometheus + Grafana:
部署Redis Exporter采集指标,通过Grafana可视化监控。
关键面板:
内存使用率、连接数、QPS、命令耗时分布。
ELK Stack:
收集Redis日志,分析错误模式和性能异常。
完整命令参数表:
-k <factor>:设置GET/SET比例(如-k 1表示读写1:1)。
--csv:输出CSV格式结果,便于脚本处理。
通过以上方法,可全面评估Redis的性能表现,并通过监控及时发现潜在问题(如缓存穿透、雪崩),为优化提供数据支持。