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

Change default compaction threads from 1 to 8 #169

Closed
bosmatt opened this issue Sep 21, 2022 · 2 comments · Fixed by #194
Closed

Change default compaction threads from 1 to 8 #169

bosmatt opened this issue Sep 21, 2022 · 2 comments · Fixed by #194
Assignees
Milestone

Comments

@bosmatt
Copy link
Contributor

bosmatt commented Sep 21, 2022

Changing the default compaction threads shows performance improvement as can be seen below.
We believe that even there are not too many cores in the system, the performance is still better with more threads than with a single thread.

Image

@Guyme Guyme assigned bosmatt and unassigned erez-speedb Sep 21, 2022
@bosmatt bosmatt assigned isaac-io and unassigned bosmatt Sep 21, 2022
@isaac-io isaac-io added this to the v2.1.0 milestone Sep 29, 2022
isaac-io added a commit that referenced this issue Oct 19, 2022
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
isaac-io added a commit that referenced this issue Oct 19, 2022
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
isaac-io added a commit that referenced this issue Oct 19, 2022
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
isaac-io added a commit that referenced this issue Oct 20, 2022
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
@erez-speedb
Copy link

@isaac-io testing is done, please merge

@erez-speedb erez-speedb removed their assignment Oct 20, 2022
@isaac-io
Copy link
Contributor

Thanks! Waiting for Assaf to approve that QA tests passed as well.

Yuval-Ariel pushed a commit that referenced this issue Oct 20, 2022
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
Yuval-Ariel pushed a commit that referenced this issue Oct 20, 2022
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
isaac-io added a commit that referenced this issue Oct 20, 2022
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
isaac-io added a commit that referenced this issue Oct 24, 2022
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
isaac-io added a commit that referenced this issue Oct 24, 2022
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
isaac-io added a commit that referenced this issue Oct 26, 2022
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
@bosmatt bosmatt moved this to ✅ Shipped in Speedb Roadmap Nov 3, 2022
Yuval-Ariel pushed a commit that referenced this issue Nov 23, 2022
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
Yuval-Ariel pushed a commit that referenced this issue Nov 25, 2022
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
Yuval-Ariel pushed a commit that referenced this issue Apr 30, 2023
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
Yuval-Ariel pushed a commit that referenced this issue May 4, 2023
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
udi-speedb pushed a commit that referenced this issue Nov 13, 2023
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
udi-speedb pushed a commit that referenced this issue Dec 3, 2023
This is done through the deprecated `max_background_compactions` option,
which overrides `max_background_jobs`, so in order to avoid having an
adverse effect on users who set `max_background_jobs` to a high value
we try to detect that case and shift back to the user's choice in case
there are enough background jobs to be enough for both flushes and
compactions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: ✅ Shipped
Development

Successfully merging a pull request may close this issue.

5 participants