[Bugs] [Bug 1473129] dht/rebalance: Improve rebalance crawl performance

bugzilla at redhat.com bugzilla at redhat.com
Fri Aug 11 11:48:58 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1473129



--- Comment #5 from Worker Ant <bugzilla-bot at gluster.org> ---
COMMIT: https://review.gluster.org/17830 committed in release-3.10 by
Shyamsundar Ranganathan (srangana at redhat.com) 
------
commit a97d446dd52d739cbfc2e7689155ca1f6641ced6
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>

    Updates glusterfs#155
    Change-Id: Idc8e5b366e76c54aa40d698876ae62fe1630b6cc
    BUG: 1473129
    Signed-off-by: Susant Palai <spalai at redhat.com>
    Reviewed-on: https://review.gluster.org/17830
    CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
    Smoke: Gluster Build System <jenkins at build.gluster.org>
    Reviewed-by: Shyamsundar Ranganathan <srangana at redhat.com>

-- 
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=NEcCgMm4mC&a=cc_unsubscribe


More information about the Bugs mailing list