leveldb icon indicating copy to clipboard operation
leveldb copied to clipboard

How seek compaction works?

Open joowon-byun opened this issue 4 years ago • 3 comments

Hello,

My team and I were using levelDB for our service. We found out that disabling seek compaction enhances our system speed.

We are wondering if we need write all the data to a new DB from the start.

I thought enabling the seek compaction will make levelDB with more levels. And disabling it will make a DB with less levels, ultimately. My teammate think turning on and off the seek compaction will only impact the timing. So, ultimately, the DB will be in the same state whether the seek compaction is on or off. Therefore, the DB will ultimately be the same, with same levels. Which one is right? Do we need to construct a new DB for speed improvement? Or we can just use the DB without seek compaction from now on?

p.s. We've tested and found out that turning off seek compaction will make less .ldb files. (It had more than 2 times difference.) From this test, can we say seek compaction has impact on levels, ultimately?

joowon-byun avatar Dec 07 '20 09:12 joowon-byun

we just close the seek compaction,it's working pretty well.and we use manual compact every day!

XiaoKa741 avatar Feb 07 '21 11:02 XiaoKa741

@XiaoKa741 My team and I went through some tests and found out the seek compaction degrades the throughput. https://github.com/klaytn/klaytn/pull/715

joowon-byun avatar Feb 07 '21 16:02 joowon-byun

Could you provide measurements before/after disabling seek compaction ?

mrx23dot avatar Jan 05 '23 13:01 mrx23dot