Files
bifrost/.github/workflows/scripts/load-test-results.md
Beyhan Oğur 880f412e2c first commit
2026-04-26 21:52:23 +03:00

2.1 KiB

Bifrost Load Test Results (single instance, 1000 RPS)

Bifrost Processing Overhead

Metric Actual RPS Duration Concurrent Success Rate Min Mean P50 P90 P95 P99 Max
Overhead 1000 30s ~1000 100.00% 999926.96µs 849.31µs 155.78µs 408.13µs 636.92µs 4526.28µs 176968.29µs

Stress #1 (1000ms mocker latency)

Metric Actual RPS Duration Concurrent Success Rate Min Mean P50 P90 P95 P99 Max
Stress #1 1000 30s ~1000 100.00% 1000.20ms 1002.58ms 1000.64ms 1001.17ms 1001.67ms 1047.60ms 1286.46ms

Stress #2 (1000ms mocker latency)

Metric Actual RPS Duration Concurrent Success Rate Min Mean P50 P90 P95 P99 Max
Stress #2 1000 30s ~1000 100.00% 1000.21ms 1001.99ms 1000.54ms 1000.96ms 1001.32ms 1049.41ms 1252.60ms

Bifrost Process Stats (single instance)

Phase CPU Avg CPU Peak RSS Avg RSS Peak
Overhead 20.7% 66.9% 332.8MB 640.2MB
Stress 29.9% 73.5% 639.5MB 789.2MB

Method

  • Single instance: All tests run against one bifrost-http process at 1000 RPS
  • Overhead measurement: Mocker at 1000ms latency, calibration (Vegeta->Mocker) subtracted from test (Vegeta->Bifrost->Mocker)
  • Stress test: Mocker at 1000ms latency, verifies 100% success under sustained concurrency

Notes

  • Overhead values are in microseconds (µs), stress test values in milliseconds (ms)
  • Overhead ignores the mocker jitter, local network request queuing. In real-world the P99 overhead will be approximately 100 microseconds.
  • Tiered overhead thresholds: mean<5000µs, p50<5000µs, p90<10000µs, p95<20000µs, p99<100000µs
  • P50/P90/P95/P99 represent percentile latencies

Generated by Bifrost Load Test Script