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

Jeffrey Zhong commented on HBASE-7006:
--------------------------------------


I conducted a performance test against trunk code + hbase-8680 and hbase-8666. 
The goal is to verify there is no unexpected performance regression. In the 
tests, 44 WAL files are recovered in about total 274M size on a 5 EC2 m1.large 
nodes environment(1 master, 4 region servers).

h5. A recap of the two recovering mode in comparison:
1) recovered edits files creation recovery includes following steps: 
* creating recovered edits files per wal per region
* re-assign failed regions
* replay recovered edits files during post region open task
* region are opened for writes & reads

2) logReplay contains following steps:
* re-assign failed regions
* regions are opened for writes
* replay wal edits directly to assigned regions
* regions are opened for reads

h5. Log Splitting with creation of recovered edits files
||Number of Regions in each WAL file||Log Splitting Elapsed Time(ms)||Recovered 
Edits Replay Elapsed Time(ms)*||Recovery Time For Reads(ms)||Recovery Time For 
Writes(ms)|| 
|80|201263|100631|301894|301894|
|160|256325|128160|384485|384485|
|320|283514|141757|425271|425271|
* During tests I didn't capture the recovered edits file replay(need to use 
bulk assign sync mode) accurately so I based on previous runs and used 0.5 * 
splitting time as an estimate

h5. Distributed Log Replay
||Number of Regions in each WAL file||Log Splitting Elapsed Time(ms)||Recovered 
Edits Replay Elapsed Time(ms)*||Recovery Time For Reads(ms)||Recovery Time For 
Writes*(ms)|| 
|80|80953|n/a|80953|< 5000|
|160|91656|n/a|91656|< 5000|
|320|95053|n/a|95053|< 5000|
* Due to the same above reason that I didn't use bulk assign sync mode so I 
didn't get the accurate numbers. Opening region normally takes about several 
secs when there is no recovered edits file replay.

The cluster I used seems have slow disk throughput while it's good enough to 
make sure that distributedLogReplay has better performance than recovered edits 
creation mode after checked into trunk.

                
> [MTTR] Improve Region Server Recovery Time - Distributed Log Replay
> -------------------------------------------------------------------
>
>                 Key: HBASE-7006
>                 URL: https://issues.apache.org/jira/browse/HBASE-7006
>             Project: HBase
>          Issue Type: New Feature
>          Components: MTTR
>            Reporter: stack
>            Assignee: Jeffrey Zhong
>            Priority: Critical
>             Fix For: 0.98.0, 0.95.1
>
>         Attachments: 7006-addendum-3.txt, hbase-7006-addendum.patch, 
> hbase-7006-combined.patch, hbase-7006-combined-v1.patch, 
> hbase-7006-combined-v4.patch, hbase-7006-combined-v5.patch, 
> hbase-7006-combined-v6.patch, hbase-7006-combined-v7.patch, 
> hbase-7006-combined-v8.patch, hbase-7006-combined-v9.patch, LogSplitting 
> Comparison.pdf, 
> ProposaltoimprovelogsplittingprocessregardingtoHBASE-7006-v2.pdf
>
>
> Just saw interesting issue where a cluster went down  hard and 30 nodes had 
> 1700 WALs to replay.  Replay took almost an hour.  It looks like it could run 
> faster that much of the time is spent zk'ing and nn'ing.
> Putting in 0.96 so it gets a look at least.  Can always punt.

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

Reply via email to