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

Anoop Sam John commented on HBASE-15177:
----------------------------------------

bq. experiment with offheap IPC byte buffers and byte buffer re-use
We are doing some PoC in this area.  Could not test it for perf and that is why 
did not raise any Jira. The idea is extension what HBASE-14490. says.  We read 
reqs into off heap ByteBuffers that come from pool.
Also there is another improvement am trying to reduce the garbage created by 
the Codec decoding the cells (from CellScanner)  
All these are under our project of off heaping the write path (After Read path 
off heaping which is complete now HBASE-11425)
Let me raise some jiras for this as well

> Reduce garbage created under high load
> --------------------------------------
>
>                 Key: HBASE-15177
>                 URL: https://issues.apache.org/jira/browse/HBASE-15177
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 2.0.0, 1.3.0
>
>         Attachments: Screen Shot 2016-01-26 at 10.03.48 PM.png, Screen Shot 
> 2016-01-26 at 10.03.56 PM.png, Screen Shot 2016-01-26 at 10.06.16 PM.png, 
> Screen Shot 2016-01-26 at 10.15.15 PM.png, hbase-15177_v0.patch
>
>
> I have been doing some profiling of the garbage being created. The idea was 
> to follow up on HBASE-14490 and experiment with offheap IPC byte buffers and 
> byte buffer re-use. However, without changing the IPC byte buffers for now, 
> there are a couple of (easy) improvements that I've identified from 
> profiling: 
> 1. RPCServer.Connection.processRequest() should work with ByteBuffer instead 
> of byte[] and not-recreate CodedInputStream a few times. 
> 2. RSRpcServices.getRegion() allocates two byte arrays for region, while only 
> 1 is needed.
> 3. AnnotationReadingPriorityFunction is very expensive in allocations. Mainly 
> it allocates the regionName byte[] to get the table name. We already set the 
> priority for most of the operations (multi, get, increment, etc) but we are 
> only reading the priority in case of multi. We should use the priority from 
> the client side. 
> Lets do the simple improvements in this patch, we can get to IPC buffer 
> re-use in HBASE-14490. 



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

Reply via email to