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

stack commented on HBASE-14697:
-------------------------------

Poking around, murmur3 is not usually faster than murmur2 (our default)... It 
has less collisions so we should move there but not necessarily for speed.

On metrics, all time is in in here:

com.yammer.metrics.stats.ExponentiallyDecayingSample

If I make this change, metrics gathering drops out of the top-40:

{code}
diff --git 
a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MutableHistogram.java
 
b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MutableHistogram.java
index 381dbbb..137f40e 100644
--- 
a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MutableHistogram.java
+++ 
b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/metrics2/lib/MutableHistogram.java
@@ -66,7 +66,7 @@ public class MutableHistogram extends MutableMetric 
implements MetricHistogram {
   public void add(final long val) {
     setChanged();
     count.incrementAndGet();
-    sample.update(val);
+    // sample.update(val);
     setMax(val);
     setMin(val);
     sum.getAndAdd(val);
{code}

> Random Read Improvements
> ------------------------
>
>                 Key: HBASE-14697
>                 URL: https://issues.apache.org/jira/browse/HBASE-14697
>             Project: HBase
>          Issue Type: Umbrella
>          Components: Performance
>            Reporter: stack
>         Attachments: flamegraph-32667.svg
>
>
> I was looking at something else and then got drawn into graphs of where we 
> are spending time doing random reads. Interesting is that most CPU -- ~5% is 
> in metrics adding -- and bloomfilter look ups cost.
> This is an umbrella background issue to host random read improvements as 
> subtasks.
> Here is what perf top shows doing YCSB workloadc (all random read) against a 
> server that is up on a 5-node HDFS cluster hosting 7 regions loaded by YCSB.
> {code}
>   4.91%  perf-32667.map      [.] 
> Lorg/apache/hadoop/metrics2/lib/MutableHistogram;.add
>   2.27%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/ipc/RpcServer$Call;.setResponse
>   2.10%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/io/hfile/CompoundBloomFilter;.checkContains
>   2.06%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/regionserver/HRegion$RegionScannerImpl;.<init>
>   1.94%  perf-32667.map      [.] Lorg/apache/hadoop/hbase/ipc/CallRunner;.run
>   1.89%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/io/hfile/CombinedBlockCache;.getBlock
>   1.82%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/regionserver/RSRpcServices;.get
>   1.66%  perf-32667.map      [.] Lorg/apache/hadoop/hbase/util/Counter;.add
>   1.66%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/regionserver/StoreFileScanner;.getScannersForStoreFiles
>   1.41%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/util/MurmurHash;.hash
>   1.40%  [kernel]            [k] _spin_lock
>   1.34%  perf-32667.map      [.] Lsun/nio/ch/SocketChannelImpl;.read
>   1.32%  perf-32667.map      [.] 
> Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;.unlock
>   1.28%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/regionserver/StoreFileScanner;.shouldUseScanner
>   1.27%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/regionserver/StoreFile$Reader;.checkGeneralBloomFilter
>   1.17%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/ipc/RpcServer$Connection;.processRequest
>   1.15%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/ipc/RpcServer$Listener$Reader;.processing
>   1.14%  perf-32667.map      [.] Lsun/nio/ch/SocketChannelImpl;.write
>   1.13%  [vdso]              [.] 0x00007fffbedff8d4
>   1.11%  [kernel]            [k] copy_user_generic_string
>   1.11%  perf-32667.map      [.] Lsun/nio/ch/IOUtil;.write
>   1.05%  [nx_nic]            [.] 0x000000005f49014a
>   0.96%  perf-32667.map      [.] 
> Ljava/util/concurrent/ConcurrentHashMap;.replaceNode
>   0.88%  perf-32667.map      [.] 
> Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;.tryAcquireShared
>   0.86%  perf-32667.map      [.] 
> Ljava/util/concurrent/ConcurrentHashMap;.putVal
>   0.82%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/regionserver/StoreFile$Reader;.passesKeyRangeFilter
>   0.81%  perf-32667.map      [.] Lorg/apache/hadoop/hbase/ipc/RpcServer;.call
>   0.77%  perf-32667.map      [.] 
> Lorg/apache/hadoop/hbase/protobuf/ProtobufUtil;.toGet
>   0.76%  perf-32667.map      [.] Lsun/nio/ch/Util;.getTemporaryDirectBuffer
> {code}



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

Reply via email to