[ 
https://issues.apache.org/jira/browse/HBASE-16584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15901062#comment-15901062
 ] 

Duo Zhang commented on HBASE-16584:
-----------------------------------

Use PE tool to verify the performance.

Run
{noformat}
./bin/hbase pe --nomapred --rows=1000000 --valueSize=100 sequentialWrite 10
{noformat}
To generate data.

And then run flush, major compaction. And then run
{noformat}
./bin/hbase pe --nomapred --rows=1000000 --valueSize=100 sequentialRead 10
{noformat}
To load all the data to block cache.

And last, run our 4 tests with the same command
{noformat}
./bin/hbase pe --nomapred --rows=1000000 --valueSize=100 sequentialRead 10
{noformat}

The result is
{noformat}
Old Blocking: Min: 260132ms     Max: 262975ms   Avg: 261946ms
Old Async: Min: 277055ms        Max: 279647ms   Avg: 278796ms

New Blocking: Min: 263931ms     Max: 265826ms   Avg: 264946ms
New Async: Min: 275941ms        Max: 279089ms   Avg: 278307ms
{noformat}

The new blocking is about 1% slow than old blocking and new async is almost the 
same with old async. So there is no obvious performance loss. Good.

> Backport the new ipc implementation in HBASE-16432 to branch-1
> --------------------------------------------------------------
>
>                 Key: HBASE-16584
>                 URL: https://issues.apache.org/jira/browse/HBASE-16584
>             Project: HBase
>          Issue Type: Task
>          Components: Client, IPC/RPC
>    Affects Versions: 1.4.0
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>             Fix For: 1.4.0
>
>         Attachments: HBASE-16584-branch-1.patch, HBASE-16584-branch-1-v1.patch
>
>
> Two problems.
> First, as RpcCliemtImpl is the default implementation on branch-1, we need to 
> confirm that the modification on master does not make it slower. I'm not sure 
> but I used a big lock to protect everything in the new implementation, so it 
> may have bad impact on performance.
> Second, some configurations of the old AsyncRpcClient is gone. Such as 
> "hbase.rpc.client.threads.max" and "hbase.rpc.client.nativetransport". Now 
> You could pass a EventLoopGroup object directly through a helper class which 
> makes it more flexible.



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

Reply via email to