RDB和AOF速度测试

同一台机器测试

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配置文件

  1. 开启rdb(测试aof时,注释掉rdb,并重启redis)
# save ""
save 900 1
save 300 10
save 60 10000
注入数据

#默认开启数据压缩

rdbcompression yes
  1. 关闭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,使用脚本写入数据,完成后查看持久化文件

操作步骤记录

脚本及使用


[kou@python src]$ sh 1.sh 
本次运行时间: 76s
[kou@python src]$ !du
du -sh ./dump.rdb 
1.1M	./dump.rdb
[kou@python 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"

你可能感兴趣的:(数据库)