hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-15971) Regression: Random Read/WorkloadC slower in 1.x than 0.98
Date Fri, 10 Jun 2016 17:18:21 GMT

     [ https://issues.apache.org/jira/browse/HBASE-15971?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

stack updated HBASE-15971:
    Attachment: hits.patched1.0.vs.unpatched1.0.vs.098.png

One difference is the sort in the scheduler by priority in SimpleRpcScheduler.

In 1.0 we do the following as our default scheduler:
        CallPriorityComparator callPriority = new CallPriorityComparator(conf, this.priority);
        callExecutor = new BalancedQueueRpcExecutor("B.default", handlerCount, numCallQueues,
          conf, abortable, BoundedPriorityBlockingQueue.class, maxQueueLength, callPriority);

In 0.98 we do:

      callExecutor = new BalancedQueueRpcExecutor("B.Default", handlerCount,
        numCallQueues, maxQueueLength, conf, abortable);

In the graph, you see three humps. The first is branch-1 with the same default as 0.98. It
does 290k with 24% idle. Next is branch-1 default. It does 210k with 40% of cpu idle. The
third hump is default 0.98 with 21% of cpu idle.

Loading for the record is workloadc using asynchbase (because it seems to be able to put up
more load):

% for i in `seq 0 24`; do for i in `cat /tmp/slaves`; do echo $i; ssh $i "sh -c 'nohup ./bin/run_ycsb.sh
> /dev/null 2>&1 &'"; done; done

The script is attached (stolen from Busbey)

> Regression: Random Read/WorkloadC slower in 1.x than 0.98
> ---------------------------------------------------------
>                 Key: HBASE-15971
>                 URL: https://issues.apache.org/jira/browse/HBASE-15971
>             Project: HBase
>          Issue Type: Sub-task
>          Components: rpc
>            Reporter: stack
>            Assignee: stack
>            Priority: Critical
>         Attachments: 098.hits.png, 098.png, HBASE-15971.branch-1.001.patch, branch-1.hits.png,
branch-1.png, handlers.fp.png, hits.fp.png, hits.patched1.0.vs.unpatched1.0.vs.098.png, run_ycsb.sh
> branch-1 is slower than 0.98 doing YCSB random read/workloadC. It seems to be doing about
1/2 the throughput of 0.98.
> In branch-1, we have low handler occupancy compared to 0.98. Hacking in reader thread
occupancy metric, is about the same in both. In parent issue, hacking out the scheduler, I
am able to get branch-1 to go 3x faster so will dig in here.

This message was sent by Atlassian JIRA

View raw message