[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16507051#comment-16507051 ] stack commented on HBASE-20483: --- Link to report comparing flushing rates before and after > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Fix For: 2.0.1 > > Attachments: > 0001-HBASE-20483-perpertual-flush-and-memstore-fill-branch-2.0.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual.tests.patch, > 0001-HBASE-20483-perpetual.tests.patch, > 0001-Perpetual-flush-memstore-fill-etc.-tools.patch, > PerpetualFlushingProgram.patch, PerpetualFlushingProgram1.2.patch, > SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16506812#comment-16506812 ] stack commented on HBASE-20483: --- bq. The other jira abt SegmentScanner fixed this also right? [~anoop.hbase] Sorry. Took me a while to generate the new graphs. Yes, HBASE-20628 SegmentScanner does over-comparing when one flushing plus work done on speeding up Scanning -- mainly HBASE-20620 Tighter ByteBufferKeyValue Cell Comparator; part 2 and part 1 -- have made it so flush in hbase2 is now as regular if not more so than hbase1. We flush at about the same rate and the same sizes (hbase2 is tighter to the limits in my tests). I put new results on new sheet here https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1517830749. See diagrams for runs against 4 regions, 40, and 400 comparing hbase1 to hbase2. See how in the sheet June07, https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1517830749, where we diagram the flushes. For how it was before, see the previous sheet, 'Flush History', https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826. Let me resolve. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: > 0001-HBASE-20483-perpertual-flush-and-memstore-fill-branch-2.0.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual.tests.patch, > 0001-HBASE-20483-perpetual.tests.patch, > 0001-Perpetual-flush-memstore-fill-etc.-tools.patch, > PerpetualFlushingProgram.patch, PerpetualFlushingProgram1.2.patch, > SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16504311#comment-16504311 ] Anoop Sam John commented on HBASE-20483: [~stack] The other jira abt SegmentScanner fixed this also right? > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: > 0001-HBASE-20483-perpertual-flush-and-memstore-fill-branch-2.0.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual.tests.patch, > 0001-HBASE-20483-perpetual.tests.patch, > 0001-Perpetual-flush-memstore-fill-etc.-tools.patch, > PerpetualFlushingProgram.patch, PerpetualFlushingProgram1.2.patch, > SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16484490#comment-16484490 ] stack commented on HBASE-20483: --- Rebase of the perpetual test tools in [^0001-Perpetual-flush-memstore-fill-etc.-tools.patch] > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: > 0001-HBASE-20483-perpertual-flush-and-memstore-fill-branch-2.0.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual.tests.patch, > 0001-HBASE-20483-perpetual.tests.patch, > 0001-Perpetual-flush-memstore-fill-etc.-tools.patch, > PerpetualFlushingProgram.patch, PerpetualFlushingProgram1.2.patch, > SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16475260#comment-16475260 ] stack commented on HBASE-20483: --- Rebase the perpetual tests in [^0001-HBASE-20483-perpetual.tests.patch] > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: > 0001-HBASE-20483-perpertual-flush-and-memstore-fill-branch-2.0.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual.tests.patch, > 0001-HBASE-20483-perpetual.tests.patch, PerpetualFlushingProgram.patch, > PerpetualFlushingProgram1.2.patch, SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16473266#comment-16473266 ] Anastasia Braginsky commented on HBASE-20483: - Thank you, [~stack]! I'll try to take a look on HBASE-20411, but please do not wait for me. Your document about performance is very interesting, I need to get deeper into it. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: > 0001-HBASE-20483-perpertual-flush-and-memstore-fill-branch-2.0.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > PerpetualFlushingProgram.patch, PerpetualFlushingProgram1.2.patch, > SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16472866#comment-16472866 ] stack commented on HBASE-20483: --- [~anastas] HBASE-20411 removes the worst 'locking' offender in the write-path. There are other 'frictions' but this one overwhelmed the others. It does not make for much of an improvement in throughput; that is an ongoing project (IMC is not the problem; IMC is unable to shine, in my opinion, until we figure this basic perf drop-off). Yes, MSLAB is on in 1.4. If you want to follow-along, https://docs.google.com/document/d/1vZ_k6_pNR1eQxID5u1xFihuPC7FkPaJQW8c4M5eA2AQ/edit is where I"m doing my investigations (HBASE-20188). Thanks. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: > 0001-HBASE-20483-perpertual-flush-and-memstore-fill-branch-2.0.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > PerpetualFlushingProgram.patch, PerpetualFlushingProgram1.2.patch, > SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16472684#comment-16472684 ] Anastasia Braginsky commented on HBASE-20483: - {quote}bq.I'm back to this issue now via HBASE-20411 and other explorations bq.Yeah, its after. (regarding IMC disabled) {quote} I see that you are working without IMC and that you believe the problem is due to locking around the sizing (HBASE-20411). Let's see if it helps. On the other note, is there MSLAB in the hbase 1.4 (the version you are comparing to)? > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: > 0001-HBASE-20483-perpertual-flush-and-memstore-fill-branch-2.0.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > PerpetualFlushingProgram.patch, PerpetualFlushingProgram1.2.patch, > SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16469520#comment-16469520 ] stack commented on HBASE-20483: --- Update my perpetual flush test and add a perpetual fill memstore for comparing branch-1.4 and branch-2.0. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: > 0001-HBASE-20483-perpertual-flush-and-memstore-fill-branch-2.0.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > 0001-HBASE-20483-perpetual-flush.branch-1.4.patch, > PerpetualFlushingProgram.patch, PerpetualFlushingProgram1.2.patch, > SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16468342#comment-16468342 ] stack commented on HBASE-20483: --- bq. Is the above CPU usage after the PE patch where you made IMC disabled ? Because the above command will create table with IMC as you may be knowing already. Just confirming. Yeah, its after. hbase1 seems to flush more data and looking at inbound, there is more being written into hbase1 (I was thinking that replays or whatever were upping what was inbound on hbase2). We have few metrics in here, HBASE-20549, so hacking in some. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: PerpetualFlushingProgram.patch, > PerpetualFlushingProgram1.2.patch, SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16468334#comment-16468334 ] ramkrishna.s.vasudevan commented on HBASE-20483: Is the above CPU usage after the PE patch where you made IMC disabled ? Because the above command will create table with IMC as you may be knowing already. Just confirming. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: PerpetualFlushingProgram.patch, > PerpetualFlushingProgram1.2.patch, SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16467970#comment-16467970 ] stack commented on HBASE-20483: --- Comparing 1.4 to 2.0, 1.4 flushes 70G to 2.0s 55G over the course of the test run. {{./hbase/bin/hbase --config ~/conf_hbase org.apache.hadoop.hbase.PerformanceEvaluation --nomapred --presplit=40 --size=30 --columns=10 --valueSize=100 --writeToWAL=false randomWrite 100}} Applying to memstore takes 28% of all CPU in 1.4 and almost 80% in 2.0.0. Its like we are double adding Cells. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: PerpetualFlushingProgram.patch, > PerpetualFlushingProgram1.2.patch, SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16467561#comment-16467561 ] stack commented on HBASE-20483: --- I've not tried [~anastas] I can in a while. I'm back to this issue now via HBASE-20411 and other explorations (helped by [~anoop.hbase] and [~ram_krish]). This issue is why our writes are down. We go to the memory global limits and stay there, blocked, unable to clear memory as fast as we did in hbase1 because flushing is ~half-speed. Working on this now. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: PerpetualFlushingProgram.patch, > PerpetualFlushingProgram1.2.patch, SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16467304#comment-16467304 ] Anastasia Braginsky commented on HBASE-20483: - Do you get the same flush performance when working with CCM/CAM/NONE? > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: PerpetualFlushingProgram.patch, > PerpetualFlushingProgram1.2.patch, SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16454187#comment-16454187 ] stack commented on HBASE-20483: --- Attached little perpetual flushing programs so could study flush performance and compare to 1.2. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: PerpetualFlushingProgram.patch, > PerpetualFlushingProgram1.2.patch, SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16454010#comment-16454010 ] stack commented on HBASE-20483: --- Attached [~anoop.hbase]'s resort to ColelctionBackedScanner patch. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > Attachments: SnapshotSegmentScanner_2.0.0.patch > > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16452490#comment-16452490 ] stack commented on HBASE-20483: --- Recalibrating to repro Anoop findings by using PE loading (easier and hbase2 client against hbase), I am still unable to repro. When I apply the CollectionBackedScanner patch (attached), all seizes up with CallQueueTooBigException. Applying above patch from yesterday, I get a slight lift. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16451712#comment-16451712 ] stack commented on HBASE-20483: --- I tried putting in place ColelctionBackedScanner. It makes little difference for me on cluster runs. When I try it in my little rig that just does continuous flush with DisabledWALProvider, i see that flush runs a little faster in 2.0.0 with CollectionBackedScanner so thats good (It seems to write out about same number of edits -- and eventual filesize of 164M -- in about 2.1 seconds where 1.2.7 is taking 2.4 for about same amount). Need more wins (smile). > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16451592#comment-16451592 ] Anoop Sam John commented on HBASE-20483: In 1.x we have CollectionBackedScanner scanner (very simple) for Snapshots. When we create a user scan on top of memstore, we have the SegmentScanner kind of thing. In 2.0 even on snapshot, we have the SegmentScanner. I changed it back to 1.x way and seems got the same flush perf (with cluster with PE write workload). And with that, the overall perf for write also almost same as that of 1.4.4. There were no 512 MB memstore size breach and so sleeps at client and retry. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16451545#comment-16451545 ] stack commented on HBASE-20483: --- I see Cell compare taking 2x the CPU. We are doing more compares or compare itself is slower (the methods are larger now because those if/else checking types). I'm looking for upped comparing count. The above patch makes the hbase2 flush heavy CPU consumers resemble those of hbase1. > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16451491#comment-16451491 ] stack commented on HBASE-20483: --- I assigned to you sir. I'm working it currently. I'll attach rigs for comparing 1.2 and 2.0 flushes. Doing the below gets rid of a load of compares done on reseek making it seem like flushes take the same time in 1.2. and 2.0 locally but up on cluster, I still lag badly in write throughput. Digging in more: {code} diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SegmentScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SegmentScanner.java index a8b0d3d501..417083f11b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SegmentScanner.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SegmentScanner.java @@ -162,9 +162,20 @@ public class SegmentScanner implements KeyValueScanner { get it. So we remember the last keys we iterated to and restore the reseeked set to at least that point. */ +/* iter = getIterator(getHighest(cell, last)); updateCurrent(); return (current != null); +*/ + while(iter.hasNext()){ +Cell next = iter.next(); +int ret = segment.compare(next, cell); +if(ret >= 0){ + current = next; + return true; +} + } + return false; } {code} > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Assignee: stack >Priority: Major > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (HBASE-20483) [PERFORMANCE] Flushing is 2x slower in hbase2.
[ https://issues.apache.org/jira/browse/HBASE-20483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16451448#comment-16451448 ] Anoop Sam John commented on HBASE-20483: Assign to me boss? > [PERFORMANCE] Flushing is 2x slower in hbase2. > -- > > Key: HBASE-20483 > URL: https://issues.apache.org/jira/browse/HBASE-20483 > Project: HBase > Issue Type: Sub-task > Components: Performance >Reporter: stack >Priority: Major > > When flush is slow, memstores backup and go slower. See "1.2.7 vs. 2.0.0 > Flush History" > https://docs.google.com/spreadsheets/d/1sihTxb4aCplR3Rr_GGXkPlwhMIm-CbB9j_5339AS0Zc/edit#gid=1016758826 > for compare. First noted by [~anoop.hbase] -- This message was sent by Atlassian JIRA (v7.6.3#76005)