3proxy/bench/data
Vladimir Dubrovin c13c048f3f Benchmarks: measure the proxy under stress, add results
bench.py:
- the proxy gets one CPU, the client four, the origin three (8 CPUs), so
  the proxy is what runs out first
- CPU time is the busy time of a role's CPUs from /proc/stat, softirqs
  included: with IRQ time accounting the cgroup's own figure leaves out
  much of the network work
- every run records which side set its pace (proxy, client, origin), by
  the busy share of the role's CPUs and of its busiest thread
- a 50 KB keep-alive scenario with 2000 clients
- haproxy with splice: haproxy::splice-auto and haproxy::splice
- wrk timeouts counted apart from errors; tools found by absolute path;
  leftovers of an interrupted run are cleaned up

report.py turns runs into Markdown tables: throughput, the proxy's CPU
per gigabyte or per request, its peak memory, splice and copying proxies
in groups of their own, the best of each group marked.

RESULTS.md has the comparison of 0.9.4, 1.0.1, devel, nginx and haproxy,
with and without splice, on an Apple M4 and an Intel Skylake virtual
machine, and how it was measured; data/ has the measurements.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:04:47 +03:00
..
m4-env.txt Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
m4-haproxy-splice.csv Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
m4-main.csv Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
skylake-env.txt Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
skylake-haproxy-splice.csv Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
skylake-main.csv Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00