建议使用SSD
使用SSD可以极大的提升KitDB的吞吐量,尤其是在单个value较大的情况下。
更小的key
尽量使用长度较小的key
批量读写
尽量使用批量读写,可大幅提高性能
使用迭代器
使用迭代器遍历数据
分片
单个KitDB容量超过某个阈值后,性能会大幅衰减(见基准性能)。可以在一个应用中启动多个KitDB,对数据分片。
手动压实数据
大规模的删除操作后,可以尝试手动压实数据
db.compaction();
调整分段锁大小
KV操作时,某些Key可能会产生Hash冲突降低性能,调整分段锁的大小,可以避开冲突
减少线程等待和切换开销
由于有Key锁的存在,多线程同时操作某个Collection类时,可能产生线程等待和线程切换开销,建议使用独立写线程+回调。web应用可配合webflux使用
读写分离
可在一个目录上同时打开一个写实例和一个只读实例,分离读写