几个kv数据库的比较
由于业务需要,需要有一种kv数据库支持冷数据落盘,热数据放入到磁盘里。下面几个数据库是这次测试的,而且只是很粗糙很外围的测试。
不涉及到数据类型这些。
核心内容是:
- 读写性能
- 同步测试
- 主从切换
- 升级扩容
- 监控
使用的github.com/go-redis/redis/v8这个库来进行的测试。
首先进行的是写入性能的测试
写入的是1KB大小的string,并发3,写入1亿个。
写入时长 | 整体文件大小 | db文件大小 | cpu使用率 | 磁盘吞吐 | 磁盘写入次数 | 网络流量 | |
---|---|---|---|---|---|---|---|
kvrocks | 3h6m | 108GB | 7GB | 54% | 108MB/s | 270次/s | 255Mb/s |
pika | 3h52m | 12GB | 11GB | 50% | 54MB/s | 110次/s | 200Mb/s |
ssdb | 2h51 | 36GB | 7.2GB | 52% | 35MB/s | 77次/s | 284Mb/s |
读取的也是1KB的string,并发3,读取一亿个。
读取时长 | cpu使用率 | 磁盘吞吐 | 磁盘读取次数 | 网络流量 | |
---|---|---|---|---|---|
kvrocks | 3h5m | 40% | 11MB/s最高,平均1M | 2200次/s最高 | 260Mb/s |
pika | 3h24m | 45% | 10MB/s最高,平均1M | 110次/s最高 | 250Mb/s |
ssdb | 2h53m | 43% | 55MB/s最高,平均1M | 900次/s最高 | 300Mb/s |
待续……