RDB和AOF速度测试
程序员文章站
2024-02-12 13:31:52
...
同一台机器测试
Redis3.2
Redis5.0.7
Linux python 3.10.0-693.11.1.el7.x86_64 #1 SMP Mon Dec 4 23:52:40 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
rdb测试步骤
1. 修改redis.conf配置文件
- 开启rdb(测试aof时,注释掉rdb,并重启redis)
# save ""
save 900 1
save 300 10
save 60 10000
注入数据
#默认开启数据压缩
rdbcompression yes
- 关闭aof
appendonly no
2. 写入数据
#!/bin/bash
for ((i=0;i<100000;i++))
do
echo -en "helloworld" | redis-cli -x set name$i >>redis.log
done
3. 使用脚本写入数据,并计算注入完成时间
数据量 | rdb时间 | rdb文件大小 |
---|---|---|
50000 | 76s | 1.1M |
100000 | 197s | 2.1M |
150000 | 235s | 3.1M |
200000 | 305s | 4.3M |
数据量 | aof时间 | aof文件大小 |
---|---|---|
50000 | 79s | 2.2M |
100000 | 156s | 6.5M |
150000 | 234s | 6.6M |
200000 | 306s | 8.8M |
redis5.0版本测试
数据量 | rdb时间 | rdb文件大小 |
---|---|---|
50000 | 99s | 1.1M |
100000 | 150s | 2.1M |
150000 | 296s | 3.2M |
数据量 | aof时间 | aof文件大小 |
---|---|---|
50000 | 98s | 2.2M |
100000 | 156s | 6.5M |
150000 | 305s | 6.7M |
一个没有数据的redis,使用脚本写入数据,完成后查看持久化文件
操作步骤记录
脚本及使用
[[email protected] src]$ sh 1.sh
本次运行时间: 76s
[[email protected] src]$ !du
du -sh ./dump.rdb
1.1M ./dump.rdb
[[email protected] src]$ cat 1.sh
#!/bin/bash
starttime=`date +'%Y-%m-%d %H:%M:%S'`
#执行程序
for ((i=0;i<50000;i++))
do
echo -en "helloworld" | /home/kou/redis_tar/redis-3.2.10/src/redis-cli -p 6379 -x set name$i >>redis.log
done
endtime=`date +'%Y-%m-%d %H:%M:%S'`
start_seconds=$(date --date="$starttime" +%s);
end_seconds=$(date --date="$endtime" +%s);
echo "本次运行时间: "$((end_seconds-start_seconds))"s"