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

Andrew Purtell edited comment on HBASE-14757 at 11/4/15 5:49 PM:
-----------------------------------------------------------------

bq. I think even the key part are creating lot of short lived byte[] and BBs. 
Since in a scan call every next() that we do a copy of the key part to create 
the SeekerState from which the current cell is created. These are very short 
lived object. Already the DBE have a fixed 512 byte[] to which the decoding 
happens and that is recycled.

I'll profile trunk next. I'm expecting it to behave differently from earlier 
code lines. Perhaps only tweaks are needed there. I will report back when I 
have some data.
Edit: Should have mentioned it, pardon, results as described in the description 
are from 0.98


was (Author: apurtell):
bq. I think even the key part are creating lot of short lived byte[] and BBs. 
Since in a scan call every next() that we do a copy of the key part to create 
the SeekerState from which the current cell is created. These are very short 
lived object. Already the DBE have a fixed 512 byte[] to which the decoding 
happens and that is recycled.

I'll profile trunk next. I'm expecting it to behave differently from earlier 
code lines. Perhaps only tweaks are needed there. I will report back when I 
have some data.

> Reduce allocation pressure imposed by HFile block processing
> ------------------------------------------------------------
>
>                 Key: HBASE-14757
>                 URL: https://issues.apache.org/jira/browse/HBASE-14757
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>             Fix For: 2.0.0, 1.2.0, 1.3.0, 0.98.17
>
>
> Using Flight Recorder to look at the object allocation profiles of 
> regionservers processing the various YCSB workloads when block encoding is 
> enabled (specifically, FAST_DIFF, but this applies to any), we can see:
> - Allocations of byte[] for block encoding contribute 40-70% of all 
> allocation pressure in TLABs. 
> - Of that subset of allocation pressure, ~50-70% is byte[] for SeekerState
> - Greater than 99% of allocation of byte[] outside of TLABs are for read 
> buffers for HFileBlock#readBlockDataInternal.
> This issue is for investigation of strategy for and impact of reducing that 
> allocation pressure. Reducing allocation pressure reduces demand for GC, 
> which reduces GC activity overall, which reduces a source of system latency.



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

Reply via email to