-
Notifications
You must be signed in to change notification settings - Fork 594
HDDS-13055. [DiskBalancer] Optimize DefaultContainerChoosingPolicy performance #8512
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
Conversation
|
|
Above is the Micro benchmark performance test for container choosing policy in diskBalancer. |
|
NUM_VOLUMES = 20;
overall approx 157 min for 1Lakh containers across 1M operations concurrently. |
|
@Gargi-jais11 , please commit TestContainerChoosingPolicyPerformance with a smaller NUM_CONTAINERS. About the TestContainerChoosingPolicyPerformance,
|
|
Without optimization Created 100000 containers in 2066 ms With optimization Created 100000 containers in 2142 ms Created 100000 containers in 2235 ms Created 500000 containers in 9831 ms Created 1000000 containers in 19750 ms Created 2000000 containers in 40490 ms |
|
Hi @symious, could you take a look? |
...va/org/apache/hadoop/ozone/container/diskbalancer/policy/DefaultContainerChoosingPolicy.java
Outdated
Show resolved
Hide resolved
symious
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the improvement, LGTM.
|
Thanks @Gargi-jais11 for the contribution and @symious for the review. |
What changes were proposed in this pull request?
This JIRA tracks the addition of a micro-benchmark test to evaluate the performance and efficiency of container selection logic in DiskBalancer.
Test Scenario: Test the container choosing efficiency.
SetUp:
Set up a cluster with one DN with 20 volume, and total 1 million containers.
Then run the diskbalancer command to test the container choosing efficiency.
Expected Behaviour:
Containers should be effectively chosen for balancing. No empty containers, open containers, containers under replication and container balancing containers should not be chosen.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-13055
How was this patch tested?
Added performance test with less containers.