networknt / microservices-framework-benchmark

Raw benchmarks on throughput, latency and transfer of Hello World on popular microservices frameworks
MIT License
703 stars 127 forks source link

Vert.x Spring Integration Benchmark #73

Closed thinhdanggroup closed 4 years ago

thinhdanggroup commented 4 years ago

I am using VertX for my services. But I want to know how good of Spring VertX integration. So, Can you add the benchmark for this? or Can I submit a PR for this?

stevehu commented 4 years ago

@thinhdanggroup You can submit a PR and I can perform a test using light-4j as the base-line. I read the link above and it looks promising. The key constraints are Servlet and heaviness of Spring in my opinion.

stevehu commented 4 years ago

This is the second run on my desktop after warmup. The performance is very bad compare with both spring boot and vert.x. I would suggest you either choose spring boot or vert.x. The transfer rate is 6.48MB vs 396MB between spring vert.x and light-4j which mean light-4j has 61 times throughput than spring vert.x

Spring Vertx

steve@freedom:~/networknt/microservices-framework-benchmark$ wrk -t4 -c128 -d30s http://localhost:8080 -s pipeline.lua --latency -- / 16
Running 30s test @ http://localhost:8080
  4 threads and 128 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     7.62ms    3.71ms  36.28ms   42.67%
    Req/Sec    33.50k     1.90k   38.30k    73.83%
  Latency Distribution
     50%   12.49ms
     75%    0.00us
     90%    0.00us
     99%    0.00us
  3999856 requests in 30.01s, 194.54MB read
Requests/sec: 133288.45
Transfer/sec:      6.48MB

And here is the light-4j result.

steve@freedom:~/networknt/microservices-framework-benchmark$ wrk -t4 -c128 -d30s http://localhost:8080 -s pipeline.lua --latency -- / 16
Running 30s test @ http://localhost:8080
  4 threads and 128 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   558.09us    1.08ms  29.01ms   93.69%
    Req/Sec   836.81k    53.65k    1.05M    86.34%
  Latency Distribution
     50%  276.00us
     75%  503.00us
     90%    1.02ms
     99%    5.63ms
  99988032 requests in 30.10s, 11.64GB read
Requests/sec: 3321864.40
Transfer/sec:    396.00MB
thinhdanggroup commented 4 years ago

Thank you for your benchmark result. This is very useful. I will consider using light-4j for my future work.

stevehu commented 4 years ago

Vert.x Spring Integration Benchmark microservices-framework-benchmark master