Logstash 6.2.4+ significantly slower than 6.2.3

I've had some issues with Logstash 6 seeming very slow so I decided to benchmark different versions using the benchmark tool at https://github.com/elastic/logstash/tree/master/tools/benchmark-cli

If I compare the Throughput Mean across releases then I get the following graph:

Note that the benchmark tool reports that the performance of all versions since 6.2.4 has been much worse than 6.2.3.

I'm running Logstash inside Docker. I don't know if that is affecting the performance? Here is how to repro:

Here is my Dockerfile:

FROM gradle
RUN git clone https://github.com/elastic/logstash.git \
  && cd logstash              \
  && git checkout tags/v6.3.2 \
  && ./gradlew                \
  && cd tools/benchmark-cli/  \
  && gradle clean assemble

Build:
docker build -t logstash_benchmark .

v6.3.2

docker run logstash_benchmark java \
  -cp '/home/gradle/logstash/tools/benchmark-cli/build/libs/benchmark-cli.jar:*'  \
  org.logstash.benchmark.cli.Main --workdir=/tmp/benchmark2 \
  --testcase=baseline --distribution-version=6.3.2`

Output:

Logstash Benchmark
------------------------------------------
Benchmarking Version: 6.3.2
Logstash Parameters: -w 2 -b 128
Running Test Case: baseline (x1)
------------------------------------------
Downloading Logstash 6.3.2.
Finished downloading Logstash.
Start Time: Mon 8 13 16:28:20 2018 UTC
Statistical Summary:

Elapsed Time: 96s
Num Events: 992000
Throughput Min: 448.00
Throughput Max: 15616.00
Throughput Mean: 13965.52
Throughput StdDev: 2334.60
Throughput Variance: 5450361.77
Mean CPU Usage: 11.72%

v6.2.3

docker run logstash_benchmark java \
  -cp '/home/gradle/logstash/tools/benchmark-cli/build/libs/benchmark-cli.jar:*'  \
  org.logstash.benchmark.cli.Main --workdir=/tmp/benchmark2 \
  --testcase=baseline --distribution-version=6.2.3`

Output:

Logstash Benchmark
------------------------------------------
Benchmarking Version: 6.2.3
Logstash Parameters: -w 2 -b 128
Running Test Case: baseline (x1)
------------------------------------------
Downloading Logstash 6.2.3.
Finished downloading Logstash.
Start Time: Mon 8 13 16:34:51 2018 UTC
Statistical Summary:

Elapsed Time: 37s
Num Events: 979200
Throughput Min: 9984.00
Throughput Max: 118912.00
Throughput Mean: 97920.00
Throughput StdDev: 33349.45
Throughput Variance: 1112185969.78
Mean CPU Usage: 23.60%

The other difference I spot here is that the Mean CPU usage is significantly less in v6.3.2. I've tried altering the number of workers and batch size but haven't managed to squeeze much more out of it.

Am I doing something wrong here? Is Docker adversely affecting my results? Is v6.2.4+ really significantly slower than 6.2.3 or is my methodology wrong?

Would be good to get to the bottom of this as I'd rather not have to keep using an old release!

Some additional research, I've tried the --testcase=apache and got similar speeds with 6.2.3 and 6.3.2. Not sure how the test cases differ.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.