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

Jurriaan Mous commented on HBASE-12684:
---------------------------------------

bq. Slower. Almost 8k requests a second as opposed to almost 10k with previous 
patch and almost 12k for old client.

That is a big difference... Did you also try out the forced heapBuffer variant? 

bq. (not since I moved from directBuffer to buffer (though you are saying this 
was doing direct buffers...)

The actual selection of the default type of buffer happens on system 
characteristics so it could still be heap buffer on your system.

bq. Shows the skiplist in AsyncRpcChannel as hot. Not sure fixing this would 
impinge that much on throughput though – perhaps given it shows so prominently.

RpcClientImpl its Connection class also uses a ConcurrentSkipListMap for the 
Call indexing so those should not be different between both clients. But maybe 
their usage is different.

bq. Here is a flight recording of the latest patch. 60seconds sample. Open it 
w/ your jdk bin/jmc command.

I will look into it tomorrow. Again thanks for your work!

> Add new AsyncRpcClient
> ----------------------
>
>                 Key: HBASE-12684
>                 URL: https://issues.apache.org/jira/browse/HBASE-12684
>             Project: HBase
>          Issue Type: Improvement
>          Components: Client
>            Reporter: Jurriaan Mous
>            Assignee: Jurriaan Mous
>         Attachments: HBASE-12684-DEBUG2.patch, HBASE-12684-DEBUG3.patch, 
> HBASE-12684-v1.patch, HBASE-12684-v10.patch, HBASE-12684-v11.patch, 
> HBASE-12684-v12.patch, HBASE-12684-v13.patch, HBASE-12684-v14.patch, 
> HBASE-12684-v15.patch, HBASE-12684-v16.patch, HBASE-12684-v17.patch, 
> HBASE-12684-v17.patch, HBASE-12684-v18.patch, HBASE-12684-v19.1.patch, 
> HBASE-12684-v19.patch, HBASE-12684-v19.patch, HBASE-12684-v2.patch, 
> HBASE-12684-v20-heapBuffer.patch, HBASE-12684-v20.patch, 
> HBASE-12684-v21-heapBuffer.1.patch, HBASE-12684-v21-heapBuffer.patch, 
> HBASE-12684-v21.patch, HBASE-12684-v3.patch, HBASE-12684-v4.patch, 
> HBASE-12684-v5.patch, HBASE-12684-v6.patch, HBASE-12684-v7.patch, 
> HBASE-12684-v8.patch, HBASE-12684-v9.patch, HBASE-12684.patch, 
> myrecording.jfr, requests.png
>
>
> With the changes in HBASE-12597 it is possible to add new RpcClients. This 
> issue is about adding a new Async RpcClient which would enable HBase to do 
> non blocking protobuf service communication.
> Besides delivering a new AsyncRpcClient I would also like to ask the question 
> what it would take to replace the current RpcClient? This would enable to 
> simplify async code in some next issues.



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

Reply via email to