[ https://issues.apache.org/jira/browse/HBASE-13876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14581227#comment-14581227 ]
Abhilash commented on HBASE-13876: ---------------------------------- I am trying to use evictCount to decide wether I should revert or not because because thats strong indicator that cache size is insufficient and I am using missRatio to do performance tuning as missRation is not a direct indicator of that cache size is insufficient but it is a parameter that we would like to improve for better performance. > Improving performance of HeapMemoryManager > ------------------------------------------ > > Key: HBASE-13876 > URL: https://issues.apache.org/jira/browse/HBASE-13876 > Project: HBase > Issue Type: Improvement > Components: hbase, regionserver > Affects Versions: 2.0.0, 1.0.1, 1.1.0, 1.1.1 > Reporter: Abhilash > Assignee: Abhilash > Priority: Minor > Attachments: HBASE-13876-v2.patch, HBASE-13876-v3.patch, > HBASE-13876-v4.patch, HBASE-13876.patch > > > I am trying to improve the performance of DefaultHeapMemoryTuner by > introducing some more checks. The current checks under which the > DefaultHeapMemoryTuner works are very rare so I am trying to weaken these > checks to improve its performance. > Check current memstore size and current block cache size. If we are using > less than 50% of currently available block cache size we say block cache is > sufficient and same for memstore. This check will be very effective when > server is either load heavy or write heavy. Earlier version just waited for > number of evictions / number of flushes to be zero which are very rare. > Otherwise based on percent change in number of cache misses and number of > flushes we increase / decrease memory provided for caching / memstore. After > doing so, on next call of HeapMemoryTuner we verify that last change has > indeed decreased number of evictions / flush ( combined). I am doing this > analysis by comparing percent change (which is basically nothing but > normalized derivative) of number of evictions and number of flushes during > last two periods. The main motive for doing this was that if we have random > reads then we will be having a lot of cache misses. But even after increasing > block cache we wont be able to decrease number of cache misses and we will > revert back and eventually we will not waste memory on block caches. This > will also help us ignore random short term spikes in reads / writes. > -- This message was sent by Atlassian JIRA (v6.3.4#6332)