[
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)