Skip to content

Latest commit

 

History

History
456 lines (276 loc) · 20.2 KB

File metadata and controls

456 lines (276 loc) · 20.2 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
mesh-supergraph-bun 186 112264 total, 0 failed avg: 1299ms, p95: 2378ms
apollo-router 174 104664 total, 0 failed avg: 939ms, p95: 2599ms
cosmo 174 104854 total, 2 failed avg: 913ms, p95: 2458ms ❌ 2 failed requests, 2 non-200 responses, 8 unexpected GraphQL errors, non-compatible response structure (8)
wundergraph 160 96520 total, 0 failed avg: 944ms, p95: 2650ms
mesh-supergraph 96 58004 total, 0 failed avg: 3036ms, p95: 4090ms
apollo-server-node16 63 38124 total, 0 failed avg: 4719ms, p95: 6618ms
apollo-server 62 37349 total, 1100 failed avg: 4814ms, p95: 3648ms ❌ 1100 failed requests, 1100 non-200 responses, 1100 unexpected GraphQL errors
mercurius 48 29194 total, 0 failed avg: 6165ms, p95: 6764ms
Summary for: `mesh-supergraph-bun`

K6 Output

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

     checks.........................: 100.00% ✓ 336792     ✗ 0     
     data_received..................: 9.8 GB  16 MB/s
     data_sent......................: 133 MB  222 kB/s
     http_req_blocked...............: avg=211.1µs  min=1.23µs  med=3.05µs  max=2.93s p(90)=4.77µs   p(95)=5.69µs
     http_req_connecting............: avg=91.32µs  min=0s      med=0s      max=2.77s p(90)=0s       p(95)=0s    
     http_req_duration..............: avg=1.29s    min=31.3ms  med=1.2s    max=6.06s p(90)=2.1s     p(95)=2.37s 
       { expected_response:true }...: avg=1.29s    min=31.3ms  med=1.2s    max=6.06s p(90)=2.1s     p(95)=2.37s 
     http_req_failed................: 0.00%   ✓ 0          ✗ 112264
     http_req_receiving.............: avg=154.71ms min=28.4µs  med=68.04µs max=5.56s p(90)=619.22ms p(95)=1.06s 
     http_req_sending...............: avg=8.58ms   min=7.76µs  med=13.6µs  max=3.65s p(90)=33.64µs  p(95)=2.05ms
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s      max=0s    p(90)=0s       p(95)=0s    
     http_req_waiting...............: avg=1.13s    min=31.06ms med=1.07s   max=3.27s p(90)=1.83s    p(95)=2.03s 
     http_reqs......................: 112264  186.660087/s
     iteration_duration.............: avg=1.6s     min=56.01ms med=1.46s   max=9.53s p(90)=2.59s    p(95)=3.06s 
     iterations.....................: 112264  186.660087/s
     vus............................: 125     min=125      max=300 
     vus_max........................: 300     min=300      max=300 

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `apollo-router`

K6 Output

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

     checks.........................: 100.00% ✓ 313992     ✗ 0     
     data_received..................: 9.2 GB  15 MB/s
     data_sent......................: 124 MB  207 kB/s
     http_req_blocked...............: avg=1.49ms   min=1.37µs  med=3.16µs   max=4.53s  p(90)=4.82µs   p(95)=5.77µs 
     http_req_connecting............: avg=1.23ms   min=0s      med=0s       max=4.53s  p(90)=0s       p(95)=0s     
     http_req_duration..............: avg=939.11ms min=9.45ms  med=732.63ms max=8.51s  p(90)=2.03s    p(95)=2.59s  
       { expected_response:true }...: avg=939.11ms min=9.45ms  med=732.63ms max=8.51s  p(90)=2.03s    p(95)=2.59s  
     http_req_failed................: 0.00%   ✓ 0          ✗ 104664
     http_req_receiving.............: avg=363.39ms min=27.67µs med=74.04µs  max=7.84s  p(90)=1.4s     p(95)=2.02s  
     http_req_sending...............: avg=21.9ms   min=7.83µs  med=14.3µs   max=6.87s  p(90)=39.17µs  p(95)=11.37ms
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s     p(90)=0s       p(95)=0s     
     http_req_waiting...............: avg=553.81ms min=9.04ms  med=523.12ms max=2.73s  p(90)=993.79ms p(95)=1.14s  
     http_reqs......................: 104664  174.187816/s
     iteration_duration.............: avg=1.71s    min=18.7ms  med=1.36s    max=13.12s p(90)=3.61s    p(95)=4.44s  
     iterations.....................: 104664  174.187816/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: `cosmo`

K6 Output

     ✗ response code was 200
      ↳  99% — ✓ 104852 / ✗ 2
     ✗ no graphql errors
      ↳  99% — ✓ 104846 / ✗ 8
     ✗ valid response structure
      ↳  99% — ✓ 104846 / ✗ 8

     checks.........................: 99.99% ✓ 314544     ✗ 18    
     data_received..................: 9.2 GB 15 MB/s
     data_sent......................: 125 MB 207 kB/s
     http_req_blocked...............: avg=1.35ms   min=1.09µs  med=3.17µs   max=3.25s  p(90)=5.01µs   p(95)=6.18µs  
     http_req_connecting............: avg=1.15ms   min=0s      med=0s       max=3.25s  p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=913.48ms min=11.02ms med=712.77ms max=7.86s  p(90)=1.98s    p(95)=2.45s   
       { expected_response:true }...: avg=913.49ms min=11.02ms med=712.77ms max=7.86s  p(90)=1.98s    p(95)=2.45s   
     http_req_failed................: 0.00%  ✓ 2          ✗ 104852
     http_req_receiving.............: avg=366.74ms min=23.41µs med=81.29µs  max=7.44s  p(90)=1.4s     p(95)=1.97s   
     http_req_sending...............: avg=18.04ms  min=7.74µs  med=14.32µs  max=4.92s  p(90)=35.68µs  p(95)=438.89µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s     p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=528.7ms  min=9.7ms   med=490.75ms max=2.88s  p(90)=962.08ms p(95)=1.12s   
     http_reqs......................: 104854 174.526332/s
     iteration_duration.............: avg=1.7s     min=22.86ms med=1.37s    max=11.48s p(90)=3.61s    p(95)=4.39s   
     iterations.....................: 104854 174.526332/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: `wundergraph`

K6 Output

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

     checks.........................: 100.00% ✓ 289560    ✗ 0    
     data_received..................: 8.5 GB  14 MB/s
     data_sent......................: 115 MB  191 kB/s
     http_req_blocked...............: avg=2ms      min=1.51µs  med=3.64µs   max=4.05s  p(90)=5.75µs   p(95)=6.98µs 
     http_req_connecting............: avg=1.55ms   min=0s      med=0s       max=2.93s  p(90)=0s       p(95)=0s     
     http_req_duration..............: avg=944.08ms min=9.01ms  med=724.74ms max=8.22s  p(90)=2.1s     p(95)=2.64s  
       { expected_response:true }...: avg=944.08ms min=9.01ms  med=724.74ms max=8.22s  p(90)=2.1s     p(95)=2.64s  
     http_req_failed................: 0.00%   ✓ 0         ✗ 96520
     http_req_receiving.............: avg=391.67ms min=24.73µs med=91.22µs  max=7.55s  p(90)=1.48s    p(95)=2.14s  
     http_req_sending...............: avg=23.68ms  min=7.82µs  med=16.87µs  max=6.02s  p(90)=101.22µs p(95)=16.85ms
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s     p(90)=0s       p(95)=0s     
     http_req_waiting...............: avg=528.72ms min=8.91ms  med=483.19ms max=2.93s  p(90)=984.45ms p(95)=1.13s  
     http_reqs......................: 96520   160.66363/s
     iteration_duration.............: avg=1.85s    min=22.86ms med=1.49s    max=12.64s p(90)=3.93s    p(95)=4.81s  
     iterations.....................: 96520   160.66363/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`

K6 Output

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

     checks.........................: 100.00% ✓ 174012   ✗ 0    
     data_received..................: 5.1 GB  8.4 MB/s
     data_sent......................: 69 MB   114 kB/s
     http_req_blocked...............: avg=49.14µs min=1.35µs  med=3.56µs  max=166.58ms p(90)=5.45µs  p(95)=6.41µs  
     http_req_connecting............: avg=14.75µs min=0s      med=0s      max=29.47ms  p(90)=0s      p(95)=0s      
     http_req_duration..............: avg=3.03s   min=1.33s   med=3.02s   max=8.01s    p(90)=3.88s   p(95)=4.08s   
       { expected_response:true }...: avg=3.03s   min=1.33s   med=3.02s   max=8.01s    p(90)=3.88s   p(95)=4.08s   
     http_req_failed................: 0.00%   ✓ 0        ✗ 58004
     http_req_receiving.............: avg=10.24ms min=30.78µs med=76.91µs max=1.02s    p(90)=6.34ms  p(95)=35.46ms 
     http_req_sending...............: avg=1.3ms   min=7.88µs  med=16.38µs max=776.24ms p(90)=34.39µs p(95)=120.02µs
     http_req_tls_handshaking.......: avg=0s      min=0s      med=0s      max=0s       p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=3.02s   min=1.32s   med=3.01s   max=8.01s    p(90)=3.86s   p(95)=4.07s   
     http_reqs......................: 58004   96.30476/s
     iteration_duration.............: avg=3.11s   min=1.36s   med=3.09s   max=8.02s    p(90)=3.96s   p(95)=4.19s   
     iterations.....................: 58004   96.30476/s
     vus............................: 78      min=78     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% ✓ 114372    ✗ 0    
     data_received..................: 3.4 GB  5.6 MB/s
     data_sent......................: 45 MB   75 kB/s
     http_req_blocked...............: avg=42.64µs  min=1.38µs   med=2.86µs   max=19.95ms  p(90)=4.34µs   p(95)=5.07µs  
     http_req_connecting............: avg=35.93µs  min=0s       med=0s       max=18.7ms   p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=4.71s    min=785.25ms med=4.4s     max=15.37s   p(90)=6.15s    p(95)=6.61s   
       { expected_response:true }...: avg=4.71s    min=785.25ms med=4.4s     max=15.37s   p(90)=6.15s    p(95)=6.61s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 38124
     http_req_receiving.............: avg=759.45µs min=36.4µs   med=108.62µs max=261.27ms p(90)=197.14µs p(95)=538.27µs
     http_req_sending...............: avg=117.74µs min=8.04µs   med=14.21µs  max=130.93ms p(90)=27.97µs  p(95)=39.74µs 
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=4.71s    min=785.13ms med=4.4s     max=15.37s   p(90)=6.15s    p(95)=6.61s   
     http_reqs......................: 38124   63.229242/s
     iteration_duration.............: avg=4.73s    min=795.22ms med=4.42s    max=15.39s   p(90)=6.17s    p(95)=6.63s   
     iterations.....................: 38124   63.229242/s
     vus............................: 6       min=6       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% — ✓ 36249 / ✗ 1100
     ✗ no graphql errors
      ↳  97% — ✓ 36249 / ✗ 1100
     ✓ valid response structure

     checks.........................: 98.01% ✓ 108747    ✗ 2200 
     data_received..................: 3.2 GB 5.3 MB/s
     data_sent......................: 44 MB  74 kB/s
     http_req_blocked...............: avg=192.59µs min=1.42µs   med=3.51µs   max=67.07ms p(90)=5.53µs   p(95)=9.38µs  
     http_req_connecting............: avg=180.64µs min=0s       med=0s       max=59.49ms p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=4.81s    min=555.05ms med=3.1s     max=1m0s    p(90)=3.44s    p(95)=3.64s   
       { expected_response:true }...: avg=3.13s    min=555.05ms med=3.1s     max=59.39s  p(90)=3.38s    p(95)=3.5s    
     http_req_failed................: 2.94%  ✓ 1100      ✗ 36249
     http_req_receiving.............: avg=214.04µs min=0s       med=118.77µs max=101.6ms p(90)=180.22µs p(95)=215.18µs
     http_req_sending...............: avg=88.6µs   min=8.6µs    med=18.95µs  max=57.98ms p(90)=34.45µs  p(95)=45.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.81s    min=554.9ms  med=3.1s     max=1m0s    p(90)=3.44s    p(95)=3.64s   
     http_reqs......................: 37349  62.015549/s
     iteration_duration.............: avg=4.82s    min=566.44ms med=3.11s    max=1m0s    p(90)=3.46s    p(95)=3.65s   
     iterations.....................: 37349  62.015549/s
     vus............................: 54     min=54      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% ✓ 87582     ✗ 0    
     data_received..................: 2.6 GB  4.3 MB/s
     data_sent......................: 35 MB   58 kB/s
     http_req_blocked...............: avg=14.79µs  min=1.58µs   med=3.78µs   max=20.01ms  p(90)=5.02µs   p(95)=5.58µs  
     http_req_connecting............: avg=9.55µs   min=0s       med=0s       max=19.98ms  p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=6.16s    min=529.74ms med=6.08s    max=13.41s   p(90)=6.68s    p(95)=6.76s   
       { expected_response:true }...: avg=6.16s    min=529.74ms med=6.08s    max=13.41s   p(90)=6.68s    p(95)=6.76s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 29194
     http_req_receiving.............: avg=322.27µs min=40.65µs  med=118.95µs max=365.95ms p(90)=169.23µs p(95)=191.45µs
     http_req_sending...............: avg=31.06µs  min=8.71µs   med=20.58µs  max=19.03ms  p(90)=32.55µs  p(95)=37.56µs 
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=6.16s    min=529.51ms med=6.08s    max=13.41s   p(90)=6.68s    p(95)=6.76s   
     http_reqs......................: 29194   48.500515/s
     iteration_duration.............: avg=6.17s    min=542.54ms med=6.1s     max=13.42s   p(90)=6.69s    p(95)=6.77s   
     iterations.....................: 29194   48.500515/s
     vus............................: 167     min=167     max=300
     vus_max........................: 300     min=300     max=300

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview