carun / http-server-benchmark

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HTTP Server Benchmark

wrk -t8 -c1000 -d10s http://localhost:8080
$ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              8
On-line CPU(s) list: 0-7
Thread(s) per core:  1
Core(s) per socket:  8
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               62
Model name:          Intel(R) Xeon(R) CPU E7-4860 v2 @ 2.60GHz
Stepping:            7
CPU MHz:             2593.500
BogoMIPS:            5187.00
Hypervisor vendor:   VMware
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            30720K
NUMA node0 CPU(s):   0-7
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid aperfmperf pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx hypervisor lahf_lm pti dtherm ida arat pln pts

Vibe - D

Setup

dub run --compiler=ldc2 --build=release

Manual memory management

Running 10s test @ http://localhost:8080
  8 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    13.44ms    9.43ms 380.83ms   86.49%
    Req/Sec     9.31k     1.19k   15.98k    75.32%
  742027 requests in 10.09s, 123.13MB read
Requests/sec:  73519.77
Transfer/sec:     12.20MB
VmSize, VmRSS
1128464, 12604
1128464, 12604
1128464, 12604
11011640, 25236
17058812, 34212
17402960, 35268
17402960, 36588
17402960, 37644
17402960, 38700
17402960, 40284
17402960, 41340
17403216, 42804
17403728, 43260
17403728, 43260
17403728, 43260
17403728, 43260
17403728, 43260
17403728, 43260
17403728, 43260
17403728, 43260
17403728, 43260
17403728, 43260
14126128, 42676
14126128, 42676
14126128, 42676
14126128, 42676
14126128, 42676
16106000, 50036
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
17417040, 51356
14139440, 50932
14139440, 50932
14139440, 50932
14139440, 50932
14139440, 50932
15483256, 57764
17417040, 59612
17417040, 59612
17417040, 59612
17417040, 59612
17417040, 59612

GC

Running 10s test @ http://localhost:8080
  8 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    20.83ms   21.25ms 627.33ms   95.11%
    Req/Sec     6.39k     1.45k   13.72k    71.18%
  507841 requests in 10.07s, 84.27MB read
Requests/sec:  50419.60
Transfer/sec:      8.37MB

### Run 1

VmSize, VmRSS
1128464, 12520
6855108, 24392
15223612, 37520
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
17403728, 40088
14126128, 39624

### Run 2

VmSize, VmRSS
14125616, 39352
14125616, 39352
14322272, 44600
17269548, 48020
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
17417040, 48544
14139440, 47776
14139440, 47776
14139440, 47776

### Run 3

VmSize, VmRSS
14139440, 59540
14794960, 59540
17285936, 60060
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
17417040, 60320
14139440, 59596
14139440, 59596

Actix - Rust

Setup

git clone https://github.com/actix/examples
cd examples/basics
cargo run --release
Running 10s test @ http://localhost:8080
  8 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     9.80ms    7.73ms 236.62ms   76.03%
    Req/Sec    13.06k     2.24k   32.29k    82.21%
  1037683 requests in 10.10s, 206.83MB read
Requests/sec: 102746.05
Transfer/sec:     20.48MB
VmSize, VmRSS
629432, 42600
629432, 44448
629432, 45504
629432, 46032
629432, 46032
629432, 46032
629432, 46032
629432, 46032
629432, 46032
629432, 46032
629432, 46032
629432, 46032
629432, 46032
629432, 48936
629432, 49992
629432, 53424
629432, 54744
629432, 56064
629432, 57120
629432, 58176
629432, 60024
629432, 60816
629432, 61608
629432, 62400
629432, 62664
629432, 63192
629432, 63456
629432, 63720
629432, 63984
629432, 63984
629432, 63984
629432, 63984
629432, 64512
629432, 64512
629432, 65832
629432, 65832
629432, 66360
629432, 67152
629432, 67152
629432, 67944
629432, 69000
629432, 69000
629432, 69528
629432, 70056
629432, 70320
629432, 70584
629432, 70848
629432, 70848
629432, 70848
629432, 70848
629432, 70848
629432, 70848
629432, 70848
629432, 70848

C++ - Poco

Setup

cd cpp-poco
mkdir build && cd build
cmake .. -GNinja
ninja
src/poco-http-perf
Running 10s test @ http://localhost:8080
  8 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    31.68ms   67.96ms 537.80ms   86.31%
    Req/Sec   316.93    764.36     4.94k    87.05%
  16050 requests in 10.25s, 1.15MB read
  Socket errors: connect 0, read 49633, write 0, timeout 0
Requests/sec:   1566.16
Transfer/sec:    114.95KB

About

License:MIT License


Languages

Language:CMake 47.4%Language:C++ 45.8%Language:D 6.9%