logstash/logstash-core/benchmarks
2018-05-02 15:35:42 +00:00
..
src/main MINOR: Remove unused CheckpointIOFactory 2018-02-05 07:13:10 +00:00
build.gradle #7998 Serialization benchmark and Afterburner removal 2017-08-16 16:08:09 +00:00
gradle.properties Add license reporting task 2018-05-02 15:35:42 +00:00
Readme.md Added JMH Benchmark Suite + Queue Benchmark 2017-05-18 06:31:17 +00:00

Logstash Microbenchmark Suite

This directory contains the microbenchmark suite of Logstash. It relies on JMH.

Getting Started

Just run ./gradlew jmh from the project root directory. It will build all microbenchmarks, execute them and print the result.

Example Output

➜  logstash: ./gradlew jmh
# JMH 1.18 (released 66 days ago)
# VM version: JDK 1.8.0_121, VM 25.121-b13
# VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/bin/java
# VM options: -Dfile.encoding=US-ASCII -Duser.country=US -Duser.language=en -Duser.variant
# Warmup: 3 iterations, 100 ms each
# Measurement: 10 iterations, 100 ms each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.logstash.benchmark.QueueBenchmark.pushToPersistedQueue

# Run progress: 0.00% complete, ETA 00:00:01
# Fork: 1 of 1
# Warmup Iteration   1: 249.325 ops/ms
# Warmup Iteration   2: 290.150 ops/ms
# Warmup Iteration   3: 293.669 ops/ms
Iteration   1: 315.075 ops/ms
Iteration   2: 282.020 ops/ms
Iteration   3: 317.281 ops/ms
Iteration   4: 296.559 ops/ms
Iteration   5: 302.803 ops/ms
Iteration   6: 305.187 ops/ms
Iteration   7: 320.959 ops/ms
Iteration   8: 304.073 ops/ms
Iteration   9: 297.499 ops/ms
Iteration  10: 301.889 ops/ms


Result "org.logstash.benchmark.QueueBenchmark.pushToPersistedQueue":
  304.334 ?(99.9%) 17.264 ops/ms [Average]
  (min, avg, max) = (282.020, 304.334, 320.959), stdev = 11.419
  CI (99.9%): [287.070, 321.599] (assumes normal distribution)


# Run complete. Total time: 00:00:22

Benchmark                             Mode  Cnt    Score    Error   Units
QueueBenchmark.pushToPersistedQueue  thrpt   10  304.334 ? 17.264  ops/ms

More

Additional information on JMH can be found in the Elasticsearch project's benchmark documentation.