[Bugs] [Bug 1420166] The rebal-throttle setting does not work as expected

bugzilla at redhat.com bugzilla at redhat.com
Sat Apr 29 14:28:23 UTC 2017


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



--- Comment #16 from Worker Ant <bugzilla-bot at gluster.org> ---
COMMIT: https://review.gluster.org/16427 committed in master by Raghavendra G
(rgowdapp at redhat.com) 
------
commit bff6b7b1d75b55bfdc11a6aac613b51bdafee989
Author: Susant Palai <spalai at redhat.com>
Date:   Tue Jan 10 16:11:50 2017 +0530

    cluster/dht: rebalance perf enhancement

    Problem: Throttle settings "normal" and "aggressive" for rebalance
    did not have performance difference.

    normal mode spawns $(no. of cores - 4)/2 threads and aggressive
    spawns $(no. of cores - 4) threads. Though aggressive mode has twice
    the number of threads compared to that of normal mode, there was no
    performance gain when switched to aggressive mode from normal mode.

    RCA:
    During the course of debugging the above problem, we tried assigning
    migration job to migration threads spawned by rebalance, rather than
    synctasks(as there is more overhead associated to manage the task
    queue and threads). This gave us a significant improvement over rebalance
    under synctasks. This patch does not really gurantee that there will be a
    clear performance difference between normal and aggressive mode, but this
    patch certainly maximized the disk utilization for 1GBfiles run.

    Results:

    Test enviroment:
    Gluster Config:
    Number of Bricks: 2 (one brick per disk(RAID-6 12 disk))
    Bricks:
    Brick1: server1:/brick/test1/1
    Brick2: server2:/brick/test1/1
    Options Reconfigured:
    performance.readdir-ahead: on
    server.event-threads: 4
    client.event-threads: 4

    1000 files with 1GB each were created/renamed such that all files will have
    server1 as cached and server2 as hashed, so that all files will be
migrated.

    Test machines had 24 cores each.

    Results  with/without synctask based migration:
    -----------------------------------------------

    mode                    normal(10threads)          aggressive(20threads)

    timetaken               0:55:30 (h:m:s)            0:56:3 (h:m:s)
    withsynctask

    timetaken
    with migrator           0:38:3 (h:m:s)             0:23:41 (h:m:s)
    threads

    From above table it can be seen that, there is a clear 2x perf gain between
    rebalance with synctask vs rebalance with migrator threads.

    Additionally this patch modifies the code so that caller will have the
exact error
    number returned by dht_migrate_file(earlier the errno meaning was
overloaded). This
    will help avoiding scenarios where migration failure due to ENOENT, can
result in
    rebalance abort/failure.

    Change-Id: I8904e2fb147419d4a51c1267be11a08ffd52168e
    BUG: 1420166
    Signed-off-by: Susant Palai <spalai at redhat.com>
    Reviewed-on: https://review.gluster.org/16427
    Smoke: Gluster Build System <jenkins at build.gluster.org>
    Reviewed-by: N Balachandran <nbalacha at redhat.com>
    Reviewed-by: Raghavendra G <rgowdapp at redhat.com>
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.org>

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


More information about the Bugs mailing list