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