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

stack commented on HBASE-20188:
-------------------------------

Making sure 1.2.7 and 2.0.0 have same dfs client version and that they use same 
RPC scheduler (because the fast path Semaphore shines bright in lock and cpu 
compares as a main culprit), it is not plain looking at these profiler dumps 
why so much slower; we are missing something obvious, something big; e.g. the 
block fetches seem to be remote in 2.0.0 but shortcircuit in 1.2.7. There is 
some dumb stuff I can fix: e.g.

{code} 276 Total: 2457732537 (0.78%)  samples: 2444
 277   [ 0] jbyte_disjoint_arraycopy
 278   [ 1] org.slf4j.impl.Log4jLoggerAdapter.isTraceEnabled
 279   [ 2] org.slf4j.impl.Log4jLoggerAdapter.trace
 280   [ 3] org.apache.hadoop.hdfs.client.impl.BlockReaderRemote2.read
 281   [ 4] org.apache.hadoop.hdfs.client.impl.BlockReaderUtil.readAll
 282   [ 5] org.apache.hadoop.hdfs.client.impl.BlockReaderRemote2.readAll
 283   [ 6] org.apache.hadoop.hdfs.DFSInputStream.actualGetFromOneDataNode
 284   [ 7] org.apache.hadoop.hdfs.DFSInputStream.actualGetFromOneDataNode
 285   [ 8] org.apache.hadoop.hdfs.DFSInputStream.fetchBlockByteRange
 286   [ 9] org.apache.hadoop.hdfs.DFSInputStream.pread
 287   [10] org.apache.hadoop.hdfs.DFSInputStream.read
 288   [11] org.apache.hadoop.fs.FSDataInputStream.read
 289   [12] org.apache.hadoop.hbase.io.hfile.HFileBlock.positionalReadWithExtra
 290   [13] 
org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readAtOffset
 291   [14] 
org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockDataInternal
 292   [15] 
org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderImpl.readBlockData
 293   [16] org.apache.hadoop.hbase.io.hfile.HFileReaderImpl.readBlock
 294   [17] 
org.apache.hadoop.hbase.io.hfile.HFileBlockIndex$CellBasedKeyBlockIndexReader.loadDataBlockWithScanInfo
 295   [18] 
org.apache.hadoop.hbase.io.hfile.HFileReaderImpl$HFileScannerImpl.seekTo
 296   [19] 
org.apache.hadoop.hbase.io.hfile.HFileReaderImpl$HFileScannerImpl.seekTo
 297   [20] org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter
 298   [21] org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek
 299   [22] org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners
 300   [23] org.apache.hadoop.hbase.regionserver.StoreScanner.<init>
 301   [24] org.apache.hadoop.hbase.regionserver.HStore.createScanner
 302   [25] org.apache.hadoop.hbase.regionserver.HStore.getScanner
 303   [26] 
org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.initializeScanners
 304   [27] 
org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.<init>
 305   [28] 
org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner
 306   [29] org.apache.hadoop.hbase.regionserver.HRegion.getScanner
 307   [30] org.apache.hadoop.hbase.regionserver.HRegion.getScanner
 308   [31] org.apache.hadoop.hbase.regionserver.HRegion.getScanner
 309   [32] org.apache.hadoop.hbase.regionserver.RSRpcServices.get
 310   [33] org.apache.hadoop.hbase.regionserver.RSRpcServices.get
 311   [34] 
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod
 312   [35] org.apache.hadoop.hbase.ipc.RpcServer.call
 313   [36] org.apache.hadoop.hbase.ipc.CallRunner.run
 314   [37] org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run
 315   [38] org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run
{code}

> [TESTING] Performance
> ---------------------
>
>                 Key: HBASE-20188
>                 URL: https://issues.apache.org/jira/browse/HBASE-20188
>             Project: HBase
>          Issue Type: Umbrella
>          Components: Performance
>            Reporter: stack
>            Assignee: stack
>            Priority: Blocker
>             Fix For: 2.0.0
>
>         Attachments: CAM-CONFIG-V01.patch, ITBLL2.5B_1.2.7vs2.0.0_cpu.png, 
> ITBLL2.5B_1.2.7vs2.0.0_gctime.png, ITBLL2.5B_1.2.7vs2.0.0_iops.png, 
> ITBLL2.5B_1.2.7vs2.0.0_load.png, ITBLL2.5B_1.2.7vs2.0.0_memheap.png, 
> ITBLL2.5B_1.2.7vs2.0.0_memstore.png, ITBLL2.5B_1.2.7vs2.0.0_ops.png, 
> ITBLL2.5B_1.2.7vs2.0.0_ops_NOT_summing_regions.png, YCSB_CPU.png, 
> YCSB_GC_TIME.png, YCSB_IN_MEMORY_COMPACTION=NONE.ops.png, YCSB_MEMSTORE.png, 
> YCSB_OPs.png, YCSB_in-memory-compaction=NONE.ops.png, YCSB_load.png, 
> flamegraph-1072.1.svg, flamegraph-1072.2.svg, tree.txt
>
>
> How does 2.0.0 compare to old versions? Is it faster, slower? There is rumor 
> that it is much slower, that the problem is the asyncwal writing. Does 
> in-memory compaction slow us down or speed us up? What happens when you 
> enable offheaping?
> Keep notes here in this umbrella issue. Need to be able to say something 
> about perf when 2.0.0 ships.



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

Reply via email to