This is an automated email from the ASF dual-hosted git repository.
ivank pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
The following commit(s) were added to refs/heads/master by this push:
new 062525c Entry count parameters for BenchBookie
062525c is described below
commit 062525cb70ff1c1f7cb53d8b197bc6be651deec7
Author: Ivan Kelly <[email protected]>
AuthorDate: Fri Feb 9 15:23:45 2018 +0100
Entry count parameters for BenchBookie
So that they can be added in the test, to make the test run faster and
not timeout in CI and ruin an otherwise good test run.
Author: Ivan Kelly <[email protected]>
Reviewers: Enrico Olivelli <[email protected]>
This closes #1136 from ivankelly/bench-flake
---
.../org/apache/bookkeeper/benchmark/BenchBookie.java | 20 +++++++++++---------
.../apache/bookkeeper/benchmark/TestBenchmark.java | 5 ++++-
2 files changed, 15 insertions(+), 10 deletions(-)
diff --git
a/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchBookie.java
b/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchBookie.java
index 4506091..08f548c 100644
---
a/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchBookie.java
+++
b/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchBookie.java
@@ -130,6 +130,9 @@ public class BenchBookie {
options.addOption("port", true, "Port of bookie to benchmark (default
3181)");
options.addOption("zookeeper", true, "Zookeeper ensemble, (default
\"localhost:2181\")");
options.addOption("size", true, "Size of message to send, in bytes
(default 1024)");
+ options.addOption("warmupCount", true, "Number of messages in warmup
phase (default 999)");
+ options.addOption("latencyCount", true, "Number of messages in latency
phase (default 5000)");
+ options.addOption("throughputCount", true, "Number of messages in
throughput phase (default 50000)");
options.addOption("help", false, "This message");
CommandLineParser parser = new PosixParser();
@@ -145,6 +148,9 @@ public class BenchBookie {
int port = Integer.parseInt(cmd.getOptionValue("port", "3181"));
int size = Integer.parseInt(cmd.getOptionValue("size", "1024"));
String servers = cmd.getOptionValue("zookeeper", "localhost:2181");
+ int warmUpCount = Integer.parseInt(cmd.getOptionValue("warmupCount",
"999"));
+ int latencyCount = Integer.parseInt(cmd.getOptionValue("latencyCount",
"5000"));
+ int throughputCount =
Integer.parseInt(cmd.getOptionValue("throughputCount", "50000"));
EventLoopGroup eventLoop;
if (SystemUtils.IS_OS_LINUX) {
@@ -170,7 +176,6 @@ public class BenchBookie {
LatencyCallback lc = new LatencyCallback();
ThroughputCallback tc = new ThroughputCallback();
- int warmUpCount = 999;
long ledger = getValidLedgerId(servers);
for (long entry = 0; entry < warmUpCount; entry++) {
@@ -188,9 +193,8 @@ public class BenchBookie {
ledger = getValidLedgerId(servers);
LOG.info("Benchmarking latency");
- int entryCount = 5000;
long startTime = System.nanoTime();
- for (long entry = 0; entry < entryCount; entry++) {
+ for (long entry = 0; entry < latencyCount; entry++) {
ByteBuf toSend = Unpooled.buffer(size);
toSend.resetReaderIndex();
toSend.resetWriterIndex();
@@ -203,15 +207,13 @@ public class BenchBookie {
lc.waitForComplete();
}
long endTime = System.nanoTime();
- LOG.info("Latency: " + (((double) (endTime - startTime)) / ((double)
entryCount)) / 1000000.0);
-
- entryCount = 50000;
+ LOG.info("Latency: " + (((double) (endTime - startTime)) / ((double)
latencyCount)) / 1000000.0);
ledger = getValidLedgerId(servers);
LOG.info("Benchmarking throughput");
startTime = System.currentTimeMillis();
tc = new ThroughputCallback();
- for (long entry = 0; entry < entryCount; entry++) {
+ for (long entry = 0; entry < throughputCount; entry++) {
ByteBuf toSend = Unpooled.buffer(size);
toSend.resetReaderIndex();
toSend.resetWriterIndex();
@@ -221,9 +223,9 @@ public class BenchBookie {
bc.addEntry(new BookieSocketAddress(addr, port), ledger, new
byte[20],
entry, toSend, tc, null, BookieProtocol.FLAG_NONE);
}
- tc.waitFor(entryCount);
+ tc.waitFor(throughputCount);
endTime = System.currentTimeMillis();
- LOG.info("Throughput: " + ((long) entryCount) * 1000 / (endTime -
startTime));
+ LOG.info("Throughput: " + ((long) throughputCount) * 1000 / (endTime -
startTime));
bc.close();
scheduler.shutdown();
diff --git
a/bookkeeper-benchmark/src/test/java/org/apache/bookkeeper/benchmark/TestBenchmark.java
b/bookkeeper-benchmark/src/test/java/org/apache/bookkeeper/benchmark/TestBenchmark.java
index 3f69499..e3b1124 100644
---
a/bookkeeper-benchmark/src/test/java/org/apache/bookkeeper/benchmark/TestBenchmark.java
+++
b/bookkeeper-benchmark/src/test/java/org/apache/bookkeeper/benchmark/TestBenchmark.java
@@ -57,7 +57,10 @@ public class TestBenchmark extends BookKeeperClusterTestCase
{
BenchBookie.main(new String[] {
"--host", bookie.getSocketAddress().getHostName(),
"--port", String.valueOf(bookie.getPort()),
- "--zookeeper", zkUtil.getZooKeeperConnectString()
+ "--zookeeper", zkUtil.getZooKeeperConnectString(),
+ "--warmupCount", "10",
+ "--latencyCount", "100",
+ "--throughputCount", "100"
});
}
--
To stop receiving notification emails like this one, please contact
[email protected].