Appy created HBASE-16679:
----------------------------

             Summary: Flush throughput controller: Minor perf change and fix 
flaky TestFlushWithThroughputController
                 Key: HBASE-16679
                 URL: https://issues.apache.org/jira/browse/HBASE-16679
             Project: HBase
          Issue Type: Bug
            Reporter: Appy
            Assignee: Appy


Minor perf change:
Calculate maxThroughputPerOperation outside of control() since start()&end() 
are called only once per operation, but control can be called 
hundreds/thousands of time.

Flaky test:
Problems in current test:
- writes only  2.5MB each iteration but control triggers sleep only every 1Mb 
write (decided by HBASE_HSTORE_FLUSH_THROUGHPUT_CONTROL_CHECK_INTERVAL). Either 
increase data written in each batch or decreasing this threshold for better 
throughput control.

- We shouldn't be timing table disable/delete/create and populating data in 
throughput calculations.
See the differences below.

With patch (total data written 30M)
run 1:
Throughput is: 1.0113841089709052 MB/s
Throughput w/o limit is: 14.665069580078125 MB/s
With 1M/s limit, flush use 29683ms; without limit, flush use 2130ms
run 2:
Throughput is: 1.0113841089709052 MB/s
Throughput w/o limit is: 14.665069580078125 MB/s
With 1M/s limit, flush use 29674ms; without limit, flush use 2027ms



Without patch (total data written 25M)
run 1:
Throughput is: 0.921681903523776 MB/s
Throughput w/o limit is: 4.06833346870301 MB/s
With 1M/s limit, flush use 27189ms; without limit, flush use 6159ms
run 2:
Throughput is: 0.9422982728478803 MB/s
Throughput w/o limit is: 4.047858424942981 MB/s
With 1M/s limit, flush use 26594ms; without limit, flush use 6190ms



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to