由于是同一台机器,进行相对对比,我就不列配置了。系统是debian testing,kernel 3.2 686。redis 2.4.8。

测试方法是用python写的脚本对redis数据库进行写入,看写入速度。

100000/300000/1000000是数据量,插入的都是string。第一个数据是最小时间,第二个是平均,第三个是数据大小。

100000:

dbmode: 4.8, 5.1, 1477792

aofmode: 9.1, 9.3, 3677803

300000:

dbmode: 16.5, 17.6, 4877792

aofmode: 21.1, 21.4, 11477803

1000000:

dbmode: 61, 65, 16777792

aofmode: 77, 85, 38777849

从简单分析来看,aof比rdb慢25-80%,但是大规模数据都比较支持慢25%这端。估计在低数据量下,rdb模式更加占优势。数据规模增长时,速率比接近于4:5。aof的数据比rdb数据大150%(2.5倍上下),这点随着数据增长基本不变。

从读性能分析来看,两者差异不大。同样,数据分别是最小时间和平均时间。

dbmode: 55, 60

aofmode: 62, 63

差异在10%以内,甚至比最小-平均差异还弱。基本可以视为一致。