建议使用SSD

使用SSD可以极大的提升KitDB的吞吐量,尤其是在单个value较大的情况下。

更小的key

尽量使用长度较小的key

批量读写

尽量使用批量读写,可大幅提高性能

使用迭代器

使用迭代器遍历数据

分片

单个KitDB容量超过某个阈值后,性能会大幅衰减(见基准性能)。可以在一个应用中启动多个KitDB,对数据分片。

手动压实数据

大规模的删除操作后,可以尝试手动压实数据

  1. db.compaction();

调整分段锁大小

KV操作时,某些Key可能会产生Hash冲突降低性能,调整分段锁的大小,可以避开冲突

减少线程等待和切换开销

由于有Key锁的存在,多线程同时操作某个Collection类时,可能产生线程等待和线程切换开销,建议使用独立写线程+回调。web应用可配合webflux使用

读写分离

可在一个目录上同时打开一个写实例和一个只读实例,分离读写