You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2017/03/14 20:05:41 UTC

[jira] [Created] (HBASE-17786) Create LoadBalancer perf-tests (test balancer algorithm decoupled from workload)

stack created HBASE-17786:
-----------------------------

             Summary: Create LoadBalancer perf-tests (test balancer algorithm decoupled from workload)
                 Key: HBASE-17786
                 URL: https://issues.apache.org/jira/browse/HBASE-17786
             Project: HBase
          Issue Type: Sub-task
          Components: Balancer, proc-v2
            Reporter: stack
             Fix For: 2.0.0


(Below is a quote from [~mbertozzi] taken from an internal issue that I'm moving out here)

Add perf tools and keep monitored balancer performance (a BalancerPE-type thing).

Most of the balancers should be instantiable without requiring a mini-cluster, and it easy to create tons of RegionInfo and ServerNames with a for loop.

The balancer is just creating a map RegionInfo:ServerName.

There are two methods to test roundRobinAssignment() and retainAssignment()
{code}
Map<ServerName, List<HRegionInfo>> roundRobinAssignment(
    List<HRegionInfo> regions,
    List<ServerName> servers
  ) throws HBaseIOException; 

Map<ServerName, List<HRegionInfo>> retainAssignment(
    Map<HRegionInfo, ServerName> regions,
    List<ServerName> servers
  ) throws HBaseIOException;

{code}

There are a bunch of obvious optimization that everyone can see just by looking at the code. (like replacing array with set when we do contains/remove operations). It will be nice to have a baseline and start improving from there.




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)