-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Potential Read Performance Regression #1248
Comments
@connorgorman were you running badger with default options? You might want to disable compression, encryption, and cache and then run your benchmarks. |
@jarifibrahim I was running with the default options, but with NumLevelZeroTables = 2 and NumLevelZeroTablesStall = 5. I believe those other features are off by default (except the cache), but I will set the flags and comment again. Thanks |
@jarifibrahim So I ran it again with
and I'm getting similar results in terms of performance regressions. In fact, it looks like reads and writes are generally slower (though some cases appear faster). Are there any internal metrics in Badger I can use? Do all those options make sense? |
@connorgorman The options make sense. Let me try to run some benchmarks and see what results I get. Ideally, v2 should be faster than v1.6. It would be useful if you can share your benchmarks. |
Hey @connorgorman, I've raised #1256 to fix this. Please try out #1257 and let me know how it goes. |
Running with the above benchmarks and taking the performance improvements, it looks like v1 and v2 are fairly comparable. V2 may be slightly slower, but hard to tell with any certainty. Feel free to close this issue. I'll reopen or open a new one if I have any more insights! Thanks for fixing this! |
@connorgorman The code in #1257 is definitely faster than v1.6.0
For v1.6.0, it read 2.8 GB
|
Hey @connorgorman I've merged PRs #1257 and #1260 which have fixed the performance issue in latest badger. We'll soon release v2.0.3 with these fixes. Thanks for filing the issue :) |
What version of Go are you using (
go version
)?What version of Badger are you using?
master (bce069c)
Does this issue reproduce with the latest master?
yes
What are the hardware specifications of the machine (RAM, OS, Disk)?
8GB, Ubuntu, 100GB HDD
What did you do?
Running 1.6.0 vs master with a mixed workload doing mostly writes and random reads
Value sizes range from 400 to 1000 bytes
What did you expect to see?
I'd expect the performance of master to be better than the performance of 1.6.0 across the board. Instead, it seems that random reads have more variability in speed.
What did you see instead?
I've seen slow downs of up to 200x. Unfortunately, I haven't been able to provide an isolated code sample that I could share, but was curious if anything has shown up in any benchmarks.
The text was updated successfully, but these errors were encountered: