[Bugs] [Bug 1473129] New: dht/rebalance: Improve rebalance crawl performance
bugzilla at redhat.com
bugzilla at redhat.com
Thu Jul 20 05:28:12 UTC 2017
https://bugzilla.redhat.com/show_bug.cgi?id=1473129
Bug ID: 1473129
Summary: dht/rebalance: Improve rebalance crawl performance
Product: GlusterFS
Version: 3.10
Component: distribute
Assignee: spalai at redhat.com
Reporter: spalai at redhat.com
CC: bugs at gluster.org
Depends On: 1439571
+++ This bug was initially created as a clone of Bug #1439571 +++
Description of problem:
This bug is created to track development for rebalance crawl performance.
The job of the crawler in rebalance is to fetch files from each local
subvolume and push them to migration queue if it is eligible for migration. And
we do a lookup on the entries received to figure out the eligibilty. Since, the
lookup done is on a local subvolume we receive linkto files and regular files
as well.
Rebalance currently does two lookups to separate linkto files from data files.
Instead it can get the linkto file information(both attr and xattr) from
readdirp which will remove one lookup cost. And the other lookup on the data
file can be off loaded to migrator threads.
--- Additional comment from Worker Ant on 2017-04-06 14:11:07 MVT ---
REVIEW: https://review.gluster.org/15781 (dht/rebalance: Crawler performance
improvement) posted (#6) for review on master by Susant Palai
(spalai at redhat.com)
--- Additional comment from Worker Ant on 2017-04-06 14:16:23 MVT ---
REVIEW: https://review.gluster.org/15781 (dht/rebalance: Crawler performance
improvement) posted (#7) for review on master by Susant Palai
(spalai at redhat.com)
--- Additional comment from Worker Ant on 2017-04-10 09:20:06 MVT ---
COMMIT: https://review.gluster.org/15781 committed in master by Raghavendra G
(rgowdapp at redhat.com)
------
commit 656bf04955936319de4b8711debcc9931a7c778e
Author: Susant Palai <spalai at redhat.com>
Date: Mon Nov 7 12:00:13 2016 +0530
dht/rebalance: Crawler performance improvement
The job of the crawler in rebalance is to fetch files from each
local subvolume and push them to migration queue if it is eligible for
migration. And we do a lookup on the entries received to figure out the
eligibilty. Since, the lookup done is on a local subvolume we receive
linkto files and regular files as well. This requires us to do two lookups.
first: do a lookup on the file to figure out whether it is a linkto file
second: do a lookup on the file to figure out if it should be migrated
Note: The migrator thread also does one lookup for the file before
migration.
Optimization: Remove the lookup done by the crawler. Offload these task
to the migrator threads. For linkto file verification get the stat and
xattr information from readdirp.
So in total we have one lookup instead of three for each entry.
Performance numbers:
Create two node, two brick setup. Created 100000 files. And started
rebalance. Since, there is no add-brick, no files will be migrated and
we will get the crawler performance.
Without patch:
[root at gprfs039 ~]# grs
Node Rebalanced-files size
scanned failures skipped status run time in
h:m:s
--------- ----------- -----------
----------- ----------- ----------- ------------
--------------
localhost 0 0Bytes
50070 0 0 completed 0:0:48
server2 0 0Bytes
49930 0 0 completed 0:0:44
volume rebalance: test1: success
Total: 48 seconds
WiththecurrentPatch:
[root at gprfs039 mnt]# gluster v rebalance test1 status
Node Rebalanced-files size
scanned failures skipped status run time in
h:m:s
--------- ----------- -----------
----------- ----------- ----------- ------------
--------------
localhost 0 0Bytes
50070 0 0 completed 0:0:12
server2 0 0Bytes
49930 0 0 completed 0:0:12
volume rebalance: test1: success
Total: 12 seconds
That's 4X speed gain. :)
Updates glusterfs#155
Change-Id: Idc8e5b366e76c54aa40d698876ae62fe1630b6cc
BUG: 1439571
Signed-off-by: Susant Palai <spalai at redhat.com>
Reviewed-on: https://review.gluster.org/15781
Smoke: Gluster Build System <jenkins at build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
Reviewed-by: Raghavendra G <rgowdapp at redhat.com>
--- Additional comment from Shyamsundar on 2017-05-30 23:49:22 MVT ---
This bug is getting closed because a release has been made available that
should address the reported issue. In case the problem is still not fixed with
glusterfs-3.11.0, please open a new bug report.
glusterfs-3.11.0 has been announced on the Gluster mailinglists [1], packages
for several distributions should become available in the near future. Keep an
eye on the Gluster Users mailinglist [2] and the update infrastructure for your
distribution.
[1] http://lists.gluster.org/pipermail/announce/2017-May/000073.html
[2] https://www.gluster.org/pipermail/gluster-users/
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1439571
[Bug 1439571] dht/rebalance: Improve rebalance crawl performance
--
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=q2EBoYAGFY&a=cc_unsubscribe
More information about the Bugs
mailing list