1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
| # 1. 基本性能测试
redis-benchmark -h 127.0.0.1 -p 6379 -a redis123 -c 50 -n 10000
# 2. 指定命令测试
redis-benchmark -h 127.0.0.1 -p 6379 -a redis123 -t set,get -n 100000 -c 100
# 3. 不同数据大小测试
redis-benchmark -h 127.0.0.1 -p 6379 -a redis123 -t set,get -n 10000 -d 1024 -c 50
# 4. 管道模式测试
redis-benchmark -h 127.0.0.1 -p 6379 -a redis123 -t set,get -n 10000 -P 10
# 5. 随机键测试
redis-benchmark -h 127.0.0.1 -p 6379 -a redis123 -t set,get -n 10000 -r 1000
# 6. 集群模式测试
redis-benchmark -h 127.0.0.1 -p 7000 -a redis123 -t set,get -n 10000 --cluster
# 7. 延迟测试
redis-cli -h 127.0.0.1 -p 6379 -a redis123 --latency
redis-cli -h 127.0.0.1 -p 6379 -a redis123 --latency-history -i 1
redis-cli -h 127.0.0.1 -p 6379 -a redis123 --latency-dist
# 8. 内存使用分析
redis-cli -h 127.0.0.1 -p 6379 -a redis123 --bigkeys
redis-cli -h 127.0.0.1 -p 6379 -a redis123 --hotkeys # 需要开启 maxmemory-policy
# 9. 综合性能分析
redis-benchmark -h 127.0.0.1 -p 6379 -a redis123 -t set,get,incr,lpush,rpush,lpop,rpop,sadd,hset,spop,zadd,zrevrange,mset -n 100000 -c 50 --csv
# 10. 对比测试脚本
cat > ~/redis-practice/performance-compare.sh << 'EOF'
#!/bin/bash
echo "Redis 性能对比测试"
echo "===================="
# 测试参数
TEST_COUNT=50000
CONCURRENCY=50
DATA_SIZE=100
PASSWORD="redis123"
# 测试单机Redis
echo "1. 单机 Redis 性能测试 (6379)"
echo "--------------------------------"
redis-benchmark -h 127.0.0.1 -p 6379 -a $PASSWORD -t set,get -n $TEST_COUNT -c $CONCURRENCY -d $DATA_SIZE -q
# 测试从节点读性能
echo -e "\n2. 从节点读性能测试 (6380)"
echo "--------------------------------"
redis-benchmark -h 127.0.0.1 -p 6380 -a $PASSWORD -t get -n $TEST_COUNT -c $CONCURRENCY -d $DATA_SIZE -q
# 测试集群性能
echo -e "\n3. 集群模式性能测试 (7000)"
echo "--------------------------------"
redis-benchmark -h 127.0.0.1 -p 7000 -a $PASSWORD -t set,get -n $TEST_COUNT -c $CONCURRENCY -d $DATA_SIZE --cluster -q 2>/dev/null
# 管道模式测试
echo -e "\n4. 管道模式性能测试"
echo "--------------------------------"
redis-benchmark -h 127.0.0.1 -p 6379 -a $PASSWORD -t set,get -n $TEST_COUNT -c $CONCURRENCY -d $DATA_SIZE -P 10 -q
echo -e "\n测试完成!"
EOF
chmod +x ~/redis-practice/performance-compare.sh
|