[
https://issues.apache.org/jira/browse/HBASE-6852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Cheng Hao updated HBASE-6852:
-----------------------------
Fix Version/s: 0.96.0
Status: Patch Available (was: Open)
After patch the fix, the oprofile shows the top 8 hotspots as:
samples % image name app name symbol name
-------------------------------------------------------------------------------
59829 7.9422 17779.jo java int
org.apache.hadoop.hbase.KeyValue$KeyComparator.compare(byte[], int, i
nt, byte[], int, int)
59829 100.000 17779.jo java int
org.apache.hadoop.hbase.KeyValue$KeyComparator.compare(byte[], int,
int, byte[], int, int) [self]
-------------------------------------------------------------------------------
28571 3.7927 17779.jo java int
org.apache.hadoop.hbase.io.hfile.HFileBlockIndex$BlockIndexReader.bin
arySearchNonRootIndex(byte[], int, int, java.nio.ByteBuffer,
org.apache.hadoop.io.RawComparator)
28571 100.000 17779.jo java int
org.apache.hadoop.hbase.io.hfile.HFileBlockIndex$BlockIndexReader.b
inarySearchNonRootIndex(byte[], int, int, java.nio.ByteBuffer,
org.apache.hadoop.io.RawComparator) [self]
-------------------------------------------------------------------------------
19331 2.5662 17779.jo java
org.apache.hadoop.hbase.regionserver.ScanQueryMatcher$MatchCode org.apach
e.hadoop.hbase.regionserver.ScanQueryMatcher.match(org.apache.hadoop.hbase.KeyValue)
19331 100.000 17779.jo java
org.apache.hadoop.hbase.regionserver.ScanQueryMatcher$MatchCode org.apa
che.hadoop.hbase.regionserver.ScanQueryMatcher.match(org.apache.hadoop.hbase.KeyValue)
[self]
-------------------------------------------------------------------------------
19063 2.5306 17779.jo java void
org.apache.hadoop.hbase.regionserver.StoreFileScanner.enforceSeek()
19063 100.000 17779.jo java void
org.apache.hadoop.hbase.regionserver.StoreFileScanner.enforceSeek(
) [self]
-------------------------------------------------------------------------------
1 0.0054 libjvm.so java
Monitor::ILock(Thread*)
1 0.0054 libjvm.so java
ObjectMonitor::enter(Thread*)
2 0.0107 libjvm.so java
VMThread::loop()
18642 99.9785 libjvm.so java
StealTask::do_it(GCTaskManager*, unsigned int)
18646 2.4752 libjvm.so java SpinPause
18646 100.000 libjvm.so java SpinPause
[self]
-------------------------------------------------------------------------------
15860 2.1054 17779.jo java byte[]
org.apache.hadoop.hbase.KeyValue.createByteArray(byte[], int, int,
byte[], int, int, byte[], int, int, long,
org.apache.hadoop.hbase.KeyValue$Type, byte[], int, int)
15860 100.000 17779.jo java byte[]
org.apache.hadoop.hbase.KeyValue.createByteArray(byte[], int, in
t, byte[], int, int, byte[], int, int, long,
org.apache.hadoop.hbase.KeyValue$Type, byte[], int, int) [self]
-------------------------------------------------------------------------------
14754 1.9586 17779.jo java
org.apache.hadoop.hbase.io.hfile.Cacheable org.apache.hadoop.hbase.io.hfi
le.LruBlockCache.getBlock(org.apache.hadoop.hbase.io.hfile.BlockCacheKey,
boolean)
14754 100.000 17779.jo java
org.apache.hadoop.hbase.io.hfile.Cacheable org.apache.hadoop.hbase.io.h
file.LruBlockCache.getBlock(org.apache.hadoop.hbase.io.hfile.BlockCacheKey,
boolean) [self]
-------------------------------------------------------------------------------
13068 1.7348 17779.jo java
org.apache.hadoop.hbase.io.hfile.HFileBlock org.apache.hadoop.hbase.io.hf
ile.HFileBlockIndex$BlockIndexReader.seekToDataBlock(byte[], int, int,
org.apache.hadoop.hbase.io.hfile.HFileBlock, boolean, boolean, boolean
)~2
13068 100.000 17779.jo java
org.apache.hadoop.hbase.io.hfile.HFileBlock org.apache.hadoop.hbase.io.
hfile.HFileBlockIndex$BlockIndexReader.seekToDataBlock(byte[], int, int,
org.apache.hadoop.hbase.io.hfile.HFileBlock, boolean, boolean, boole
an)~2 [self]
-------------------------------------------------------------------------------
> SchemaMetrics.updateOnCacheHit costs too much while full scanning a table
> with all of its fields
> ------------------------------------------------------------------------------------------------
>
> Key: HBASE-6852
> URL: https://issues.apache.org/jira/browse/HBASE-6852
> Project: HBase
> Issue Type: Improvement
> Components: metrics
> Affects Versions: 0.94.0
> Reporter: Cheng Hao
> Priority: Minor
> Labels: performance
> Fix For: 0.96.0
>
> Attachments: onhitcache-trunk.patch
>
>
> The SchemaMetrics.updateOnCacheHit costs too much while I am doing the full
> table scanning.
> Here is the top 5 hotspots within regionserver while full scanning a table:
> (Sorry for the less-well-format)
> CPU: Intel Westmere microarchitecture, speed 2.262e+06 MHz (estimated)
> Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit
> mask of 0x00 (No unit mask) count 5000000
> samples % image name symbol name
> -------------------------------------------------------------------------------
> 98447 13.4324 14033.jo void
> org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics.updateOnCacheHit(org.apache.hadoop.hbase.io.hfile.BlockType$BlockCategory,
> boolean)
> 98447 100.000 14033.jo void
> org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics.updateOnCacheHit(org.apache.hadoop.hbase.io.hfile.BlockType$BlockCategory,
> boolean) [self]
> -------------------------------------------------------------------------------
> 45814 6.2510 14033.jo int
> org.apache.hadoop.hbase.KeyValue$KeyComparator.compareRows(byte[], int, int,
> byte[], int, int)
> 45814 100.000 14033.jo int
> org.apache.hadoop.hbase.KeyValue$KeyComparator.compareRows(byte[], int, int,
> byte[], int, int) [self]
> -------------------------------------------------------------------------------
> 43523 5.9384 14033.jo boolean
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.reseek(org.apache.hadoop.hbase.KeyValue)
> 43523 100.000 14033.jo boolean
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.reseek(org.apache.hadoop.hbase.KeyValue)
> [self]
> -------------------------------------------------------------------------------
> 42548 5.8054 14033.jo int
> org.apache.hadoop.hbase.KeyValue$KeyComparator.compare(byte[], int, int,
> byte[], int, int)
> 42548 100.000 14033.jo int
> org.apache.hadoop.hbase.KeyValue$KeyComparator.compare(byte[], int, int,
> byte[], int, int) [self]
> -------------------------------------------------------------------------------
> 40572 5.5358 14033.jo int
> org.apache.hadoop.hbase.io.hfile.HFileBlockIndex$BlockIndexReader.binarySearchNonRootIndex(byte[],
> int, int, java.nio.ByteBuffer, org.apache.hadoop.io.RawComparator)~1
> 40572 100.000 14033.jo int
> org.apache.hadoop.hbase.io.hfile.HFileBlockIndex$BlockIndexReader.binarySearchNonRootIndex(byte[],
> int, int, java.nio.ByteBuffer, org.apache.hadoop.io.RawComparator)~1 [self]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira