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

[leo_storage][auto-compaction] Each storage node's data-compaction happened at almost same time #365

Closed
yosukehara opened this issue May 19, 2015 · 7 comments

Comments

@yosukehara
Copy link
Member

I've recognized an issue by a benchmark of LeoFS. The data-compaction of Leo's storage does not affect the front processing.

@yosukehara
Copy link
Member Author

I've fixed this issue that each storage's data-compaction is executed step by step.
A number of nodes to be executed at the same time is one in case of a small storage-cluster. On the other hand, in case of a large storage-cluster, LeoStorage depends on the rule of execution of the auto-compaction as below:

<a number of data-compaction nodes at the same time> = 
        round(<total number of active nodes> / <a number of replicas>) - 1
ex)
* Total number of active nodes = 15
* A number of replicas = 3
* A number of data-compaction nodes at the same time = 4

(note: minimum value: 1)

screen shot 2015-06-25 at 18 37 34

screen shot 2015-06-25 at 18 37 44

I've been considering calculation of a number of data-compaction nodes at the same time.

@yosukehara
Copy link
Member Author

I've reached the most suitable rule is as below:

<a number of data-compaction nodes at the same time> = 
        round(<total number of active nodes> x <coefficient>)

* coefficient:
    * High: 0.1
    * Middle: 0.075
    * Low: 0.05

I've considered that an auto-compaction processing needs to not affect front-end operations as much as possible.

chart-num-of-execution-nodes

  • coefficient = 0.075

yosukehara added a commit to leo-project/leo_storage that referenced this issue Jun 25, 2015
@yosukehara
Copy link
Member Author

According to a benchmark report, I/we have recognized we need to more improve the auto-compaction mechanism. I've been considering I implement a negotiation(consensus) mechanism w/candidate nodes of execution of a data-compaction.

@yosukehara yosukehara reopened this Jun 27, 2015
yosukehara added a commit to leo-project/leo_storage that referenced this issue Jun 28, 2015
@yosukehara
Copy link
Member Author

@mocchira
Copy link
Member

@yosukehara
This result seems that compaction only happened at leofs17 and leofs18 ( not happened at leofs1[4-6] ).
Is it OK?

@yosukehara
Copy link
Member Author

@mocchira I've recognized that. But leo_storage was little bit old develop version. The latest version is works fine. Tomorrow, I'm planning to take a benchmark before LeoFS v1.2.11 release.

@yosukehara
Copy link
Member Author

Today, we've taken a benchmark - recover-node + front-operations w/watchdog and auto-compaction, which is good result for us.

summary 20150630 benchmark

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants