hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cheng Hao (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-6852) SchemaMetrics.updateOnCacheHit costs too much while full scanning a table with all of its fields
Date Fri, 21 Sep 2012 03:20:07 GMT

     [ 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

Mime
View raw message