4

I'm trying to perform benchmark blocking vs non-blocking io.

As a blocking, I use spring-boot.

As a non-blocking - play framework.

I Call endpoint which makes 4 remote calls (sequentially)

Here are results:

Spring boot

Running 5m test @ http://localhost:8080/remote-multiple
      4 threads and 20000 connections
      Thread Stats   Avg      Stdev     Max   +/- Stdev
        Latency   713.90ms  429.81ms   2.00s    82.16%
        Req/Sec    33.04     22.55   340.00     68.84%
      9602 requests in 5.00m, 201.85MB read
      Socket errors: connect 15145, read 21942, write 0, timeout 2401
    Requests/sec:     32.00
    Transfer/sec:    688.83KB

Play framework

Running 5m test @ http://localhost:9000/remote-multiple
      4 threads and 20000 connections
      Thread Stats   Avg      Stdev     Max   +/- Stdev
        Latency     1.40s   395.00ms   2.00s    54.73%
        Req/Sec    37.97     21.21   230.00     70.71%
      39792 requests in 5.00m, 846.41MB read
      Socket errors: connect 15145, read 36185, write 60, timeout 35944
    Requests/sec:    132.61
    Transfer/sec:      2.82MB

Though Play shows higher Requests/sec, it has more errors, timeout, latency.

Can anybody pls explain, what do all those params in result mean?

Are Requests/sec - succesfull requests per second? etc

P.S.: I run this benchmark on MBP 2013, Intel Core i7, 2.3 GHz, 16GB

Teimuraz
  • 8,795
  • 5
  • 35
  • 62

1 Answers1

0

If you post benchmarks : Start with a link to the actual benchmark code. It has no value without. Second : In general, testing code on the same machine is considered bad practice.

Igmar Palsenberg
  • 637
  • 4
  • 10