[
https://issues.apache.org/jira/browse/HBASE-7495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13579735#comment-13579735
]
Liang Xie commented on HBASE-7495:
----------------------------------
Here is a test report with different thread num.
Test Env&Data:
0.94.3 + CDH4.1
one billion rows, 10 RegionServer&Datanode, 179 storefiles in total, each with
2T*12 SATA disk,
hfile.block.cache.size=0.25, 10 regions in each RS,most of numberOfStorefiles
in each region are between 2 and 3(similar with 179/100)
dfs -du -s -h /hbase/lgxl-xieliang/YCSBTest/
605.3g /hbase/lgxl-xieliang/YCSBTest
Test Result
Original:
||threads||Throughput(ops/sec)||Operations||AverageLatency(us)||50thPercentileLatency(ms)||95thPercentileLatency(ms)||99thPercentileLatency(ms)||
|1|37.5947869273203|11279|26579.78154091675|23|46|87|
|5|205.5726831869615|61679|24315.654809578624|19|52|65|
|10|406.97476779102357|122114|24564.425463091866|19|50|62|
Patched:
||threads||Throughput(ops/sec)||Operations||AverageLatency(us)||50thPercentileLatency(ms)||95thPercentileLatency(ms)||99thPercentileLatency(ms)||
|1|64.66311778960737|19399|15455.213516160627|13|25|55|
|5|288.76356558142015|86636|17309.12692183388|11|44|53|
|10|560.8241857117149|168291|24564.425463091866|12|42|52|
> parallel seek in StoreScanner
> -----------------------------
>
> Key: HBASE-7495
> URL: https://issues.apache.org/jira/browse/HBASE-7495
> Project: HBase
> Issue Type: Bug
> Components: Scanners
> Affects Versions: 0.94.3, 0.96.0
> Reporter: Liang Xie
> Assignee: Liang Xie
> Attachments: HBASE-7495-0.94.txt, HBASE-7495.txt, HBASE-7495.txt,
> HBASE-7495.txt, HBASE-7495-v10.txt, HBASE-7495-v11.txt, HBASE-7495-v2.txt,
> HBASE-7495-v3.txt, HBASE-7495-v4.txt, HBASE-7495-v4.txt, HBASE-7495-v5.txt,
> HBASE-7495-v6.txt, HBASE-7495-v7.txt, HBASE-7495-v8.txt, HBASE-7495-v9.txt
>
>
> seems there's a potential improvable space before doing scanner.next:
> {code:title=StoreScanner.java|borderStyle=solid}
> if (explicitColumnQuery && lazySeekEnabledGlobally) {
> for (KeyValueScanner scanner : scanners) {
> scanner.requestSeek(matcher.getStartKey(), false, true);
> }
> } else {
> for (KeyValueScanner scanner : scanners) {
> scanner.seek(matcher.getStartKey());
> }
> }
> {code}
> we can do scanner.requestSeek or scanner.seek in parallel, instead of current
> serialization, to reduce latency for special case.
> Any ideas on it ? I'll have a try if the comments/suggestions are positive:)
--
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