apache / incubator-pegasus

Apache Pegasus - A horizontally scalable, strongly consistent and high-performance key-value store
https://pegasus.apache.org/
Apache License 2.0
1.98k stars 312 forks source link

关于multi_set的时间问题 #424

Open mysunnyshine opened 4 years ago

mysunnyshine commented 4 years ago

三台机器,每个节点都有一个 meta replica ,单次 mset 200个数据,测试发现,居然只要1-2ms。 因为之前调研过 TIkv ScyllaDB,基本8ms-10ms 左右。个人认为大部分数据是写内存了,但是又不知道哪个配置是改这个内存限制的。

qinzuoyan commented 4 years ago

写数据肯定要先写WAL(write ahead log),保证数据不会丢,然后apply到内存的memtable中。不知道你有什么问题?是担心数据没有落地吗?

mysunnyshine commented 4 years ago

写数据肯定要先写WAL(write ahead log),保证数据不会丢,然后apply到内存的memtable中。不知道你有什么问题?是担心数据没有落地吗?

我想尽可能的限制内存占用,比如 在 Tikv 也是基于 RocksDB,我修改了部分 buffer 相关的配置后,Tikv的内存占用,至少能显著的控制一部分。但是Pegasus 我改了配置,内存还是难以控制。同样的数据集,Tikv 内存可以控制在1.1G左右,而 Pegasus 一度到2.5G。