http input puma to netty rewrite
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% siege -c 10 -t 5m http://127.0.0.1:8080 | |
** SIEGE 4.0.4 | |
** Preparing 10 concurrent users for battle. | |
The server is now under siege... | |
Lifting the server siege... | |
Transactions: 4200822 hits | |
Availability: 100.00 % | |
Elapsed time: 299.37 secs | |
Data transferred: 8.01 MB | |
Response time: 0.00 secs | |
Transaction rate: 14032.21 trans/sec | |
Throughput: 0.03 MB/sec | |
Concurrency: 9.56 | |
Successful transactions: 4200822 | |
Failed transactions: 0 | |
Longest transaction: 0.29 | |
Shortest transaction: 0.00 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/tmp/benchies/new/logstash-6.4.0 % bin/logstash -e "input { http { id => netty port => 8080 }} output {}" | |
Sending Logstash logs to /tmp/benchies/new/logstash-6.4.0/logs which is now configured via log4j2.properties | |
[2018-08-20T11:23:41,088][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified | |
[2018-08-20T11:23:42,478][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"6.4.0"} | |
[2018-08-20T11:23:46,635][INFO ][logstash.pipeline ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50} | |
[2018-08-20T11:23:47,429][INFO ][logstash.pipeline ] Pipeline started successfully {:pipeline_id=>"main", :thread=>"#<Thread:0x75e668ee run>"} | |
[2018-08-20T11:23:47,444][INFO ][logstash.inputs.http ] Starting http input listener {:address=>"0.0.0.0:8080", :ssl=>"false"} | |
[2018-08-20T11:23:47,560][INFO ][logstash.agent ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]} | |
[2018-08-20T11:23:48,059][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% siege -c 10 -t 5m http://127.0.0.1:8081 | |
** SIEGE 4.0.4 | |
** Preparing 10 concurrent users for battle. | |
The server is now under siege... | |
Lifting the server siege... | |
Transactions: 3308343 hits | |
Availability: 100.00 % | |
Elapsed time: 299.89 secs | |
Data transferred: 6.31 MB | |
Response time: 0.00 secs | |
Transaction rate: 11031.85 trans/sec | |
Throughput: 0.02 MB/sec | |
Concurrency: 4.67 | |
Successful transactions: 3308298 | |
Failed transactions: 0 | |
Longest transaction: 0.33 | |
Shortest transaction: 0.00 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/tmp/benchies/old/logstash-6.4.0 % bin/logstash-plugin install --version "3.0.10" logstash-input-http | |
Validating logstash-input-http-3.0.10 | |
Installing logstash-input-http | |
Installation successful | |
/tmp/benchies/old/logstash-6.4.0 % bin/logstash -e "input { http { id => puma port => 8081 }} output {}" | |
Sending Logstash logs to /tmp/benchies/old/logstash-6.4.0/logs which is now configured via log4j2.properties | |
[2018-08-20T11:23:53,969][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.queue", :path=>"/tmp/benchies/old/logstash-6.4.0/data/queue"} | |
[2018-08-20T11:23:53,981][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.dead_letter_queue", :path=>"/tmp/benchies/old/logstash-6.4.0/data/dead_letter_queue"} | |
[2018-08-20T11:23:54,124][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified | |
[2018-08-20T11:23:54,176][INFO ][logstash.agent ] No persistent UUID file found. Generating new UUID {:uuid=>"58053e6e-e88a-4ec2-af67-9d16ceeb9754", :path=>"/tmp/benchies/old/logstash-6.4.0/data/uuid"} | |
[2018-08-20T11:23:54,840][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"6.4.0"} | |
[2018-08-20T11:23:56,759][INFO ][logstash.pipeline ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50} | |
[2018-08-20T11:23:57,067][INFO ][logstash.pipeline ] Pipeline started successfully {:pipeline_id=>"main", :thread=>"#<Thread:0x5b197127 run>"} | |
[2018-08-20T11:23:57,148][INFO ][logstash.agent ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]} | |
[2018-08-20T11:23:57,438][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9601} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This benchmark was run with logstash build candidate for 6.4.0
With older HTTP Input version 3.0.10 - 11031.85 trans/sec
With new HTTP Input version 3.2.0 - 14032.21 trans/sec
Overall improvement on basic http requests with empty payload: 21%