Skip to content
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: split read request thread pool #782

Merged
merged 5 commits into from
Aug 13, 2021
Merged

Conversation

Smityz
Copy link
Contributor

@Smityz Smityz commented Jul 16, 2021

Split read request into 2 threads pools.
get and ttluse one threads pool, and other read requests use another one

Related PR: XiaoMi/rdsn#856
Benchmark: benchmark.pdf

@acelyc111
Copy link
Member

@Smityz What's your motivation to do this work?

@Smityz Smityz added the type/config-change Added or modified configuration that should be noted on release note of new version. label Aug 9, 2021
@Smityz
Copy link
Contributor Author

Smityz commented Aug 9, 2021

@Smityz What's your motivation to do this work?

Slow query tasks like multiget/scan should be separated from the thread pool, otherwise get request will be blocked by queueing up

@neverchanje
Copy link
Contributor

neverchanje commented Aug 9, 2021

Imo separation of different types of operations into multiple pools doesn't essentially solve the problem... It only mitigates some cases...

Think of a complex workload that consists of huge single key get, and small span of multiget. How do y suppose to adjust the thread pools? Will you assign a set of threads separately for each operation?

@foreverneverer
Copy link
Contributor

Imo separation of different types of operations into multiple pools doesn't essentially solve the problem... It only mitigates some cases...

Think of a complex workload that consists of huge single key get, and small span of multiget. How do y suppose to adjust the thread pools? Will you assign a set of threads separately for each operation?

Yeah, right. Actually we have discussed the problem for different case. However, since the benchmark has showed the improvement, at least it doesn't become worse, we decide apply it and verify its online effect.

scan query and point query is different type for exec time in most case, so seperate them seem to be appropriate in theory.

@Smityz Smityz merged commit bed7f4d into apache:master Aug 13, 2021
@hycdong hycdong mentioned this pull request Sep 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/config-change Added or modified configuration that should be noted on release note of new version.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants