Files
RustProxy/docs/NGINX_GAP_0.34.0.json
T
2026-10-17 20:34:13 +02:00

217 lines
7.8 KiB
JSON

{
"kind": "HYPOTHETICAL_AMDAHL_SENSITIVITY_NOT_A_BENCHMARK",
"comparison": "Existing 0.33.8 measurements (5 runs, cache off) vs measured nginx",
"not_measured": "0.34.0 server performance and sendfile syscall/runtime correctness",
"conditions": [
"Identical CPU and network assumptions to supplied 0.33.8 baseline",
"WWW zero-copy is limited to Linux, cleartext HTTP/1.1, GET >=64KiB, no cache, range, transform, compression or TLS",
"WWW low/middle/high: file-copy contributes 20%/40%/60% of total request time; modeled sendfile eliminates 50% of that component",
"Reverse proxy low/middle/high: removing response-frame mutex saves a hypothetical 1%/3%/5% of total service time",
"These fractions are chosen sensitivity parameters; not measured or inferred from profiling",
"No change is assumed for WWW 1040B or out-of-scope protocol paths",
"No network saturation, TLS record processing, queueing, origin latency, filesystem cache misses, CPU contention or concurrency effects modeled",
"No additional speedup due to cache-retention changes is assumed"
],
"formula": "RPS_sim = RPS_0.33.8 / (1 - fraction_of_total_service_time_eliminated)",
"entries": [
{
"kind": "reverse_proxy",
"bytes": 1040,
"baseline_version": "0.33.8",
"baseline_rust_rps": 29334.12,
"baseline_nginx_rps": 170610.16,
"baseline_of_nginx_pct": 17.19,
"factor_to_match_nginx": 5.82,
"sendfile_eligible_only_if_plain_linux_http1_1_no_cache_no_compression": false,
"scenarios": {
"low": {
"modeled_total_time_saved_pct": 1.0,
"simulated_rps": 29630,
"simulated_rps_gain_pct": 1.01,
"simulated_of_nginx_pct": 17.37,
"simulated_remaining_gap_to_nginx_pct_points": 82.63
},
"middle": {
"modeled_total_time_saved_pct": 3.0,
"simulated_rps": 30241,
"simulated_rps_gain_pct": 3.09,
"simulated_of_nginx_pct": 17.73,
"simulated_remaining_gap_to_nginx_pct_points": 82.27
},
"high": {
"modeled_total_time_saved_pct": 5.0,
"simulated_rps": 30878,
"simulated_rps_gain_pct": 5.26,
"simulated_of_nginx_pct": 18.1,
"simulated_remaining_gap_to_nginx_pct_points": 81.9
}
}
},
{
"kind": "reverse_proxy",
"bytes": 65536,
"baseline_version": "0.33.8",
"baseline_rust_rps": 20735.07,
"baseline_nginx_rps": 35393.29,
"baseline_of_nginx_pct": 58.58,
"factor_to_match_nginx": 1.71,
"sendfile_eligible_only_if_plain_linux_http1_1_no_cache_no_compression": false,
"scenarios": {
"low": {
"modeled_total_time_saved_pct": 1.0,
"simulated_rps": 20945,
"simulated_rps_gain_pct": 1.01,
"simulated_of_nginx_pct": 59.18,
"simulated_remaining_gap_to_nginx_pct_points": 40.82
},
"middle": {
"modeled_total_time_saved_pct": 3.0,
"simulated_rps": 21376,
"simulated_rps_gain_pct": 3.09,
"simulated_of_nginx_pct": 60.4,
"simulated_remaining_gap_to_nginx_pct_points": 39.6
},
"high": {
"modeled_total_time_saved_pct": 5.0,
"simulated_rps": 21826,
"simulated_rps_gain_pct": 5.26,
"simulated_of_nginx_pct": 61.67,
"simulated_remaining_gap_to_nginx_pct_points": 38.33
}
}
},
{
"kind": "reverse_proxy",
"bytes": 1048576,
"baseline_version": "0.33.8",
"baseline_rust_rps": 4461.19,
"baseline_nginx_rps": 2730.23,
"baseline_of_nginx_pct": 163.4,
"factor_to_match_nginx": 0.61,
"sendfile_eligible_only_if_plain_linux_http1_1_no_cache_no_compression": false,
"scenarios": {
"low": {
"modeled_total_time_saved_pct": 1.0,
"simulated_rps": 4506,
"simulated_rps_gain_pct": 1.01,
"simulated_of_nginx_pct": 165.05,
"simulated_remaining_gap_to_nginx_pct_points": -65.05
},
"middle": {
"modeled_total_time_saved_pct": 3.0,
"simulated_rps": 4599,
"simulated_rps_gain_pct": 3.09,
"simulated_of_nginx_pct": 168.45,
"simulated_remaining_gap_to_nginx_pct_points": -68.45
},
"high": {
"modeled_total_time_saved_pct": 5.0,
"simulated_rps": 4696,
"simulated_rps_gain_pct": 5.26,
"simulated_of_nginx_pct": 172.0,
"simulated_remaining_gap_to_nginx_pct_points": -72.0
}
}
},
{
"kind": "www",
"bytes": 1040,
"baseline_version": "0.33.8",
"baseline_rust_rps": 24906.2,
"baseline_nginx_rps": 351605.13,
"baseline_of_nginx_pct": 7.08,
"factor_to_match_nginx": 14.12,
"sendfile_eligible_only_if_plain_linux_http1_1_no_cache_no_compression": false,
"scenarios": {
"low": {
"modeled_total_time_saved_pct": 0.0,
"simulated_rps": 24906,
"simulated_rps_gain_pct": 0.0,
"simulated_of_nginx_pct": 7.08,
"simulated_remaining_gap_to_nginx_pct_points": 92.92
},
"middle": {
"modeled_total_time_saved_pct": 0.0,
"simulated_rps": 24906,
"simulated_rps_gain_pct": 0.0,
"simulated_of_nginx_pct": 7.08,
"simulated_remaining_gap_to_nginx_pct_points": 92.92
},
"high": {
"modeled_total_time_saved_pct": 0.0,
"simulated_rps": 24906,
"simulated_rps_gain_pct": 0.0,
"simulated_of_nginx_pct": 7.08,
"simulated_remaining_gap_to_nginx_pct_points": 92.92
}
}
},
{
"kind": "www",
"bytes": 65536,
"baseline_version": "0.33.8",
"baseline_rust_rps": 20856.67,
"baseline_nginx_rps": 203709.91,
"baseline_of_nginx_pct": 10.24,
"factor_to_match_nginx": 9.77,
"sendfile_eligible_only_if_plain_linux_http1_1_no_cache_no_compression": true,
"scenarios": {
"low": {
"modeled_total_time_saved_pct": 10.0,
"simulated_rps": 23174,
"simulated_rps_gain_pct": 11.11,
"simulated_of_nginx_pct": 11.38,
"simulated_remaining_gap_to_nginx_pct_points": 88.62
},
"middle": {
"modeled_total_time_saved_pct": 20.0,
"simulated_rps": 26071,
"simulated_rps_gain_pct": 25.0,
"simulated_of_nginx_pct": 12.8,
"simulated_remaining_gap_to_nginx_pct_points": 87.2
},
"high": {
"modeled_total_time_saved_pct": 30.0,
"simulated_rps": 29795,
"simulated_rps_gain_pct": 42.86,
"simulated_of_nginx_pct": 14.63,
"simulated_remaining_gap_to_nginx_pct_points": 85.37
}
}
},
{
"kind": "www",
"bytes": 1048576,
"baseline_version": "0.33.8",
"baseline_rust_rps": 2833.71,
"baseline_nginx_rps": 12611.49,
"baseline_of_nginx_pct": 22.47,
"factor_to_match_nginx": 4.45,
"sendfile_eligible_only_if_plain_linux_http1_1_no_cache_no_compression": true,
"scenarios": {
"low": {
"modeled_total_time_saved_pct": 10.0,
"simulated_rps": 3149,
"simulated_rps_gain_pct": 11.11,
"simulated_of_nginx_pct": 24.97,
"simulated_remaining_gap_to_nginx_pct_points": 75.03
},
"middle": {
"modeled_total_time_saved_pct": 20.0,
"simulated_rps": 3542,
"simulated_rps_gain_pct": 25.0,
"simulated_of_nginx_pct": 28.09,
"simulated_remaining_gap_to_nginx_pct_points": 71.91
},
"high": {
"modeled_total_time_saved_pct": 30.0,
"simulated_rps": 4048,
"simulated_rps_gain_pct": 42.86,
"simulated_of_nginx_pct": 32.1,
"simulated_remaining_gap_to_nginx_pct_points": 67.9
}
}
}
]
}