-
Notifications
You must be signed in to change notification settings - Fork 312
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
feat(rocksdb): Adapt rate limiter to prevent bust writes and huge compaction #543
Conversation
How about rename this pr to "feat(rocksdb): Adapt rate limiter to prevent bust writes and huge compaction"? |
7aa5ff2
to
e9b59be
Compare
Update the description |
880d950
to
007d3fb
Compare
Co-authored-by: Yingchun Lai <[email protected]>
|
Yeah,have updated |
What problem does this PR solve?
rocksdb compaction has large influence when put data. this pr add rocksdb write limiter to improve performance.The follows are some result:
1. no limit, 3(client)*20(thread)
2. 500MB limit and open auto-tune, 3(client)*20(thread)
3. 500MB limit and open auto-tune, 3(client)*30(thread)
Besides, for observe the pegasus performance, this pr add one new perfcounter: rate limiter through rate:
replica*app.pegasus*rdb.write_limiter_rate_bytes
And add new config:
Note:
rocksdb_limiter_enable_auto_tune = true
may cause write stall especially when the put data size is large(In my test, it will happen when qps=10k, value=10k), so new commit set the config tofalse
What is changed and how it works?
add rocksdb write limiter for compaction and flush
Check List
Tests
Related changes