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

stack commented on HBASE-15756:
-------------------------------

[~anoop.hbase] It is the two patches [~aoxiang] says above and then I've put 
limits on the boss and worker allocations... this bit:

{code}
 208     if (useEpoll) {
 209       bossGroup = new EpollEventLoopGroup(3);
 210       workerGroup = new EpollEventLoopGroup(24);
 211     } else {
 212       bossGroup = new NioEventLoopGroup(3);
 213       workerGroup = new NioEventLoopGroup(24);
 214     }
{code}

Also, using epoll ... instead of the nio event loop group seems to go faster... 
setting  hbase.rpc.server.nativetransport to true.

[~aoxiang] "But our current rpcserver, the reader only read request from 
client, write response to client is done by handler or Responder."

In my observation, the handler seems to be able to put the response on the wire 
itself. Rare do we go via the queue and then the single Responder thread. So I 
am not sure why netty is doing better (but am happy it does).

[~anoop.hbase] How to go from netty direct bytebuffers to MSLAB? Netty has 
native refcounting IIRC but not sure it does your trick of a pool of fixed 
sized buffers.





> Pluggable RpcServer
> -------------------
>
>                 Key: HBASE-15756
>                 URL: https://issues.apache.org/jira/browse/HBASE-15756
>             Project: HBase
>          Issue Type: Improvement
>          Components: Performance, rpc
>            Reporter: binlijin
>            Assignee: binlijin
>            Priority: Critical
>         Attachments: Netty4RpcServer_forperf.patch, NettyRpcServer.patch, 
> NettyRpcServer_forperf.patch, PooledByteBufAllocator.patch, 
> PooledByteBufAllocator2.patch, gc.png, gets.png, gets.png, idle.png, 
> patched.vs.patched_and_cached.vs.no_patch.png, queue.png
>
>
> Current we use a simple RpcServer, and can not configure and use other 
> implementation.This issue is to make the RpcServer pluggable, so we can make 
> other implementation for example netty rpc server. Patch will upload laterly



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to