Skip to content

Latest commit

 

History

History
507 lines (306 loc) · 22.1 KB

File metadata and controls

507 lines (306 loc) · 22.1 KB

Overview for: federation-v1/constant-vus-over-time

This scenario runs 4 subgraphs and a GraphQL gateway with Federation v1 spec, and runs a heavy query. It's being executed with a constant amount of VUs over a fixed amount of time. It measure things like memory usage, CPU usage, average RPS. It also includes a summary of the entire execution, and metrics information about HTTP execution times.

This scenario was running 300 VUs over 600s

Comparison

Comparison

Gateway RPS ⬇️ Requests Duration Notes
apollo-router 175 105605 total, 0 failed avg: 923ms, p95: 2598ms
wundergraph 168 100951 total, 0 failed avg: 900ms, p95: 2583ms
mesh-supergraph-bun 120 72820 total, 0 failed avg: 2400ms, p95: 4116ms
mesh-bun 111 67229 total, 0 failed avg: 2606ms, p95: 4439ms
mesh 94 57124 total, 0 failed avg: 3092ms, p95: 3723ms
mesh-supergraph 94 56839 total, 0 failed avg: 3109ms, p95: 3815ms
apollo-server 69 41971 total, 980 failed avg: 4282ms, p95: 3174ms ❌ 980 failed requests, 980 non-200 responses, 980 unexpected GraphQL errors
apollo-server-node16 67 40578 total, 0 failed avg: 4432ms, p95: 6252ms
mercurius 50 30432 total, 0 failed avg: 5912ms, p95: 6121ms
Summary for: `apollo-router`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 316815     ✗ 0     
     data_received..................: 9.3 GB  15 MB/s
     data_sent......................: 125 MB  209 kB/s
     http_req_blocked...............: avg=816.43µs min=1.32µs  med=3.34µs   max=2.72s  p(90)=5.35µs   p(95)=6.38µs 
     http_req_connecting............: avg=540.04µs min=0s      med=0s       max=2.72s  p(90)=0s       p(95)=0s     
     http_req_duration..............: avg=923.34ms min=8.94ms  med=672.12ms max=7.56s  p(90)=2.1s     p(95)=2.59s  
       { expected_response:true }...: avg=923.34ms min=8.94ms  med=672.12ms max=7.56s  p(90)=2.1s     p(95)=2.59s  
     http_req_failed................: 0.00%   ✓ 0          ✗ 105605
     http_req_receiving.............: avg=390.62ms min=22.87µs med=77.42µs  max=6.81s  p(90)=1.53s    p(95)=2.05s  
     http_req_sending...............: avg=21.36ms  min=6.43µs  med=14.92µs  max=5.57s  p(90)=41.22µs  p(95)=10.27ms
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s     p(90)=0s       p(95)=0s     
     http_req_waiting...............: avg=511.35ms min=8.53ms  med=481.5ms  max=2.78s  p(90)=912.48ms p(95)=1.08s  
     http_reqs......................: 105605  175.681933/s
     iteration_duration.............: avg=1.69s    min=20ms    med=1.35s    max=12.05s p(90)=3.61s    p(95)=4.43s  
     iterations.....................: 105605  175.681933/s
     vus............................: 64      min=64       max=300 
     vus_max........................: 300     min=300      max=300 

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `wundergraph`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 302853     ✗ 0     
     data_received..................: 8.9 GB  15 MB/s
     data_sent......................: 120 MB  199 kB/s
     http_req_blocked...............: avg=1.88ms   min=1.45µs  med=3.4µs    max=3.68s  p(90)=5.24µs   p(95)=6.39µs  
     http_req_connecting............: avg=1.44ms   min=0s      med=0s       max=3.1s   p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=900.36ms min=8.25ms  med=703.28ms max=7.9s   p(90)=1.99s    p(95)=2.58s   
       { expected_response:true }...: avg=900.36ms min=8.25ms  med=703.28ms max=7.9s   p(90)=1.99s    p(95)=2.58s   
     http_req_failed................: 0.00%   ✓ 0          ✗ 100951
     http_req_receiving.............: avg=346.8ms  min=26.46µs med=80.32µs  max=6.52s  p(90)=1.38s    p(95)=2.08s   
     http_req_sending...............: avg=20.72ms  min=6.74µs  med=15.43µs  max=5.24s  p(90)=35.68µs  p(95)=460.66µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s     p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=532.84ms min=8.18ms  med=488.65ms max=4.82s  p(90)=989.29ms p(95)=1.15s   
     http_reqs......................: 100951  168.023757/s
     iteration_duration.............: avg=1.77s    min=19.01ms med=1.44s    max=14.01s p(90)=3.74s    p(95)=4.56s   
     iterations.....................: 100951  168.023757/s
     vus............................: 300     min=300      max=300 
     vus_max........................: 300     min=300      max=300 

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh-supergraph-bun`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 218460    ✗ 0    
     data_received..................: 6.4 GB  11 MB/s
     data_sent......................: 86 MB   144 kB/s
     http_req_blocked...............: avg=49.21µs min=1.25µs   med=3.06µs  max=257.38ms p(90)=5.02µs  p(95)=6.1µs   
     http_req_connecting............: avg=19.15µs min=0s       med=0s      max=24.96ms  p(90)=0s      p(95)=0s      
     http_req_duration..............: avg=2.39s   min=133.34ms med=2.09s   max=5.27s    p(90)=3.9s    p(95)=4.11s   
       { expected_response:true }...: avg=2.39s   min=133.34ms med=2.09s   max=5.27s    p(90)=3.9s    p(95)=4.11s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 72820
     http_req_receiving.............: avg=20.25ms min=29.02µs  med=67.38µs max=1.77s    p(90)=6.15ms  p(95)=124.87ms
     http_req_sending...............: avg=2.02ms  min=7.04µs   med=13.69µs max=1.33s    p(90)=33.63µs p(95)=194.5µs 
     http_req_tls_handshaking.......: avg=0s      min=0s       med=0s      max=0s       p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=2.37s   min=133.14ms med=2.07s   max=5.27s    p(90)=3.88s   p(95)=4.1s    
     http_reqs......................: 72820   120.98932/s
     iteration_duration.............: avg=2.47s   min=140.99ms med=2.14s   max=6.08s    p(90)=4s      p(95)=4.23s   
     iterations.....................: 72820   120.98932/s
     vus............................: 188     min=188     max=300
     vus_max........................: 300     min=300     max=300

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh-bun`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 201687     ✗ 0    
     data_received..................: 5.9 GB  9.8 MB/s
     data_sent......................: 80 MB   132 kB/s
     http_req_blocked...............: avg=32.64µs min=1.37µs   med=3.06µs  max=214.61ms p(90)=4.96µs  p(95)=6µs     
     http_req_connecting............: avg=14.45µs min=0s       med=0s      max=19.4ms   p(90)=0s      p(95)=0s      
     http_req_duration..............: avg=2.6s    min=285.51ms med=2.25s   max=5.68s    p(90)=4.22s   p(95)=4.43s   
       { expected_response:true }...: avg=2.6s    min=285.51ms med=2.25s   max=5.68s    p(90)=4.22s   p(95)=4.43s   
     http_req_failed................: 0.00%   ✓ 0          ✗ 67229
     http_req_receiving.............: avg=23.12ms min=30.14µs  med=66.52µs max=1.38s    p(90)=12.22ms p(95)=154.95ms
     http_req_sending...............: avg=1.64ms  min=7.7µs    med=13.56µs max=860.63ms p(90)=31.89µs p(95)=144.78µs
     http_req_tls_handshaking.......: avg=0s      min=0s       med=0s      max=0s       p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=2.58s   min=281.79ms med=2.24s   max=5.68s    p(90)=4.2s    p(95)=4.42s   
     http_reqs......................: 67229   111.583623/s
     iteration_duration.............: avg=2.68s   min=302.55ms med=2.31s   max=5.89s    p(90)=4.3s    p(95)=4.54s   
     iterations.....................: 67229   111.583623/s
     vus............................: 136     min=136      max=300
     vus_max........................: 300     min=300      max=300

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 171372    ✗ 0    
     data_received..................: 5.0 GB  8.3 MB/s
     data_sent......................: 68 MB   113 kB/s
     http_req_blocked...............: avg=74.34µs min=1.2µs   med=3.46µs  max=136.04ms p(90)=5.38µs  p(95)=6.33µs  
     http_req_connecting............: avg=49.29µs min=0s      med=0s      max=29.21ms  p(90)=0s      p(95)=0s      
     http_req_duration..............: avg=3.09s   min=1.71s   med=3.07s   max=6.9s     p(90)=3.56s   p(95)=3.72s   
       { expected_response:true }...: avg=3.09s   min=1.71s   med=3.07s   max=6.9s     p(90)=3.56s   p(95)=3.72s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 57124
     http_req_receiving.............: avg=9.82ms  min=31.42µs med=73.91µs max=1.57s    p(90)=5.11ms  p(95)=32.58ms 
     http_req_sending...............: avg=1.03ms  min=7.29µs  med=15.82µs max=1.05s    p(90)=33.08µs p(95)=127.07µs
     http_req_tls_handshaking.......: avg=0s      min=0s      med=0s      max=0s       p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=3.08s   min=1.56s   med=3.06s   max=6.38s    p(90)=3.54s   p(95)=3.7s    
     http_reqs......................: 57124   94.879958/s
     iteration_duration.............: avg=3.15s   min=1.75s   med=3.13s   max=6.98s    p(90)=3.64s   p(95)=3.82s   
     iterations.....................: 57124   94.879958/s
     vus............................: 36      min=36      max=300
     vus_max........................: 300     min=300     max=300

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh-supergraph`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 170517    ✗ 0    
     data_received..................: 5.0 GB  8.3 MB/s
     data_sent......................: 68 MB   112 kB/s
     http_req_blocked...............: avg=57.19µs min=1.44µs med=4.9µs   max=392.41ms p(90)=6.99µs  p(95)=8.02µs  
     http_req_connecting............: avg=21.39µs min=0s     med=0s      max=32.99ms  p(90)=0s      p(95)=0s      
     http_req_duration..............: avg=3.1s    min=1.4s   med=3.15s   max=7.61s    p(90)=3.67s   p(95)=3.81s   
       { expected_response:true }...: avg=3.1s    min=1.4s   med=3.15s   max=7.61s    p(90)=3.67s   p(95)=3.81s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 56839
     http_req_receiving.............: avg=8.34ms  min=32.4µs med=95.72µs max=966.38ms p(90)=5.59ms  p(95)=28.28ms 
     http_req_sending...............: avg=1.18ms  min=8.32µs med=25.89µs max=766.21ms p(90)=43.63µs p(95)=149.49µs
     http_req_tls_handshaking.......: avg=0s      min=0s     med=0s      max=0s       p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=3.09s   min=1.4s   med=3.14s   max=7.58s    p(90)=3.66s   p(95)=3.79s   
     http_reqs......................: 56839   94.378252/s
     iteration_duration.............: avg=3.17s   min=1.43s  med=3.21s   max=7.67s    p(90)=3.76s   p(95)=3.91s   
     iterations.....................: 56839   94.378252/s
     vus............................: 96      min=96      max=300
     vus_max........................: 300     min=300     max=300

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `apollo-server`

K6 Output

     ✗ response code was 200
      ↳  97% — ✓ 40991 / ✗ 980
     ✗ no graphql errors
      ↳  97% — ✓ 40991 / ✗ 980
     ✓ valid response structure

     checks.........................: 98.43% ✓ 122973    ✗ 1960 
     data_received..................: 3.6 GB 6.0 MB/s
     data_sent......................: 50 MB  83 kB/s
     http_req_blocked...............: avg=112.72µs min=1.27µs   med=2.62µs  max=126.41ms p(90)=4.48µs   p(95)=6.45µs  
     http_req_connecting............: avg=103.04µs min=0s       med=0s      max=70.13ms  p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=4.28s    min=472.77ms med=2.94s   max=1m0s     p(90)=3.04s    p(95)=3.17s   
       { expected_response:true }...: avg=2.94s    min=472.77ms med=2.94s   max=59.16s   p(90)=3.03s    p(95)=3.07s   
     http_req_failed................: 2.33%  ✓ 980       ✗ 40991
     http_req_receiving.............: avg=222.36µs min=0s       med=87µs    max=177.62ms p(90)=127.88µs p(95)=171.93µs
     http_req_sending...............: avg=109.59µs min=7.88µs   med=13.65µs max=77.4ms   p(90)=27µs     p(95)=42.28µs 
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s      max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=4.28s    min=472.63ms med=2.94s   max=1m0s     p(90)=3.04s    p(95)=3.17s   
     http_reqs......................: 41971  69.681905/s
     iteration_duration.............: avg=4.29s    min=484.56ms med=2.95s   max=1m0s     p(90)=3.06s    p(95)=3.19s   
     iterations.....................: 41971  69.681905/s
     vus............................: 67     min=67      max=300
     vus_max........................: 300    min=300     max=300

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `apollo-server-node16`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 121734    ✗ 0    
     data_received..................: 3.6 GB  5.9 MB/s
     data_sent......................: 48 MB   80 kB/s
     http_req_blocked...............: avg=11.54µs  min=1.34µs   med=2.76µs  max=30.85ms  p(90)=4.34µs   p(95)=5.17µs  
     http_req_connecting............: avg=4.73µs   min=0s       med=0s      max=15.47ms  p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=4.43s    min=126.6ms  med=4.16s   max=9.68s    p(90)=5.83s    p(95)=6.25s   
       { expected_response:true }...: avg=4.43s    min=126.6ms  med=4.16s   max=9.68s    p(90)=5.83s    p(95)=6.25s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 40578
     http_req_receiving.............: avg=1ms      min=34.96µs  med=85.82µs max=255.79ms p(90)=147.79µs p(95)=534.18µs
     http_req_sending...............: avg=166.52µs min=8.05µs   med=13.93µs max=141.94ms p(90)=26.49µs  p(95)=35.2µs  
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s      max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=4.43s    min=126.51ms med=4.16s   max=9.68s    p(90)=5.82s    p(95)=6.25s   
     http_reqs......................: 40578   67.272112/s
     iteration_duration.............: avg=4.44s    min=135.97ms med=4.17s   max=9.73s    p(90)=5.85s    p(95)=6.27s   
     iterations.....................: 40578   67.272112/s
     vus............................: 60      min=60      max=300
     vus_max........................: 300     min=300     max=300

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mercurius`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 91296     ✗ 0    
     data_received..................: 2.7 GB  4.4 MB/s
     data_sent......................: 36 MB   60 kB/s
     http_req_blocked...............: avg=55.13µs  min=1.41µs   med=3.99µs   max=22.54ms  p(90)=5.55µs p(95)=6.2µs   
     http_req_connecting............: avg=47.36µs  min=0s       med=0s       max=22.51ms  p(90)=0s     p(95)=0s      
     http_req_duration..............: avg=5.91s    min=298.06ms med=5.97s    max=13.18s   p(90)=6.08s  p(95)=6.12s   
       { expected_response:true }...: avg=5.91s    min=298.06ms med=5.97s    max=13.18s   p(90)=6.08s  p(95)=6.12s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 30432
     http_req_receiving.............: avg=213.22µs min=37.13µs  med=101.62µs max=101.96ms p(90)=138µs  p(95)=156.08µs
     http_req_sending...............: avg=54.28µs  min=8.55µs   med=23.29µs  max=27.79ms  p(90)=33.6µs p(95)=37.61µs 
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s       p(90)=0s     p(95)=0s      
     http_req_waiting...............: avg=5.91s    min=297.69ms med=5.97s    max=13.18s   p(90)=6.08s  p(95)=6.12s   
     http_reqs......................: 30432   50.562233/s
     iteration_duration.............: avg=5.92s    min=319.96ms med=5.98s    max=13.21s   p(90)=6.09s  p(95)=6.13s   
     iterations.....................: 30432   50.562233/s
     vus............................: 157     min=157     max=300
     vus_max........................: 300     min=300     max=300

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview