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)