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

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

So in the UI, we show the total bytes allocated over the whole life span of RS 
and the ratio considers the delta over the period.  Don't you think it 
confuses!  Now in UI it says the heap allocation ration is 100%. Ya its says 
over some recent delta time it is 100%. But I think it is confusing.
Also it would be good to show the number of heap allocations still IMO.  May be 
not ratio. But how one can know whether the #BBs in the pool is not enough or 
it is the size of the BBs is not proper?  Can one know that?  Good stuff this 
is.

> Improve the metrics in ByteBuffAllocator
> ----------------------------------------
>
>                 Key: HBASE-22412
>                 URL: https://issues.apache.org/jira/browse/HBASE-22412
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Zheng Hu
>            Assignee: Zheng Hu
>            Priority: Major
>         Attachments: HBASE-22412.HBASE-21879.v1.patch, 
> HBASE-22412.HBASE-21879.v2.patch, HBASE-22412.HBASE-21879.v3.patch, JMX.png, 
> web-UI.png
>
>
> gAddress the comment in HBASE-22387: 
> bq. The ByteBuffAllocator#getFreeBufferCount will be O(N) complexity, because 
> the buffers here is an ConcurrentLinkedQueue. It's worth file an issue for 
> this.
> Also I think we should use the allcated bytes instead of allocation number to 
> evaluate the heap allocation percent , so that we can decide whether the 
> ByteBuffer is too small and whether will have higher GC pressure.  Assume the 
> case:  the buffer size is 64KB, and each time we have a block with 65KB, then 
> it will have one heap allocation (1KB) and one pool allocation (64KB), if 
> only consider the allocation num, then the heap allocation ratio will be 1 / 
> (1 + 1) = 50%, but if consider the allocation bytes, the allocation ratio 
> will be  1KB / 65KB = 1.5%.
> If the heap allocation percent is less than  
> hbase.ipc.server.reservoir.minimal.allocating.size /  
> hbase.ipc.server.allocator.buffer.size,  then the allocator  works fine, 
> otherwise it's overload. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to