3proxy/bench/data
Vladimir Dubrovin f834e0134b bench: kernel TLS, with and without splice(), and CONNECT at 10 Mbit/s
bench.py takes ktls among 3proxy's options (ssl_ktls before the TLS
services) and for nginx (nginx::ktls, nginx::halfclose+ktls: Options
KTLS on both sides).

On Intel, whose OpenSSL and nginx have kernel TLS: 3proxy splicing over
it moves bulk data 6-17% faster at 5-34% less CPU per gigabyte, with 1K
requests 0-11% slower; before splice() over kernel TLS, and for nginx,
which relays through user space either way, kernel TLS was slower.

CONNECT at 10 Mbit/s, 10 ms, 0.5% loss: -s takes about 9% off the CPU
per exchange, grace delay matched to the rate changes nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 19:14:46 +03:00
..
m4-16k-base.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
m4-16k-connect.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
m4-16k-relay.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
m4-16k-socks.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
m4-auto-http.csv Benchmarks: automatic splice, CONNECT, SOCKS and TCP relay results 2026-10-12 11:25:04 +03:00
m4-connect-g-better.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-connect-g-current.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-env.txt Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
m4-full-base.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
m4-full-connect.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
m4-full-mix.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
m4-full-relay.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
m4-full-socks.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
m4-grace3-better.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-grace3-current.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-grace3-worse.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-grace-link2.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-grace-link.csv bench: grace delay on an emulated slow link 2026-10-14 11:39:20 +03:00
m4-grace.csv Benchmarks: splice by direction, grace delay, tunnels, more proxies 2026-10-12 00:40:19 +03:00
m4-halfclose.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +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
m4-mix.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
m4-slow-g.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-slow-gp2.csv bench: the slow link with two CPUs for the proxy 2026-10-14 17:10:17 +03:00
m4-splice-direction.csv Benchmarks: splice by direction, grace delay, tunnels, more proxies 2026-10-12 00:40:19 +03:00
m4-splice-g-better.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-splice-g-current.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
m4-tls.csv bench: RESULTS with a table for each machine, HTTPS with streams and envoy 2026-10-13 13:00:21 +03:00
m4-tunnels.csv Benchmarks: automatic splice, CONNECT, SOCKS and TCP relay results 2026-10-12 11:25:04 +03:00
skylake-10m-connect.csv bench: kernel TLS, with and without splice(), and CONNECT at 10 Mbit/s 2026-10-14 19:14:46 +03:00
skylake-16k-base.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
skylake-16k-connect.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
skylake-16k-relay.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
skylake-16k-socks.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
skylake-auto-http.csv Benchmarks: automatic splice, CONNECT, SOCKS and TCP relay results 2026-10-12 11:25:04 +03:00
skylake-connect-g-better.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-connect-g-current.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-env.txt Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
skylake-full-base.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
skylake-full-connect.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
skylake-full-mix.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
skylake-full-relay.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
skylake-full-socks.csv bench: RESULTS from the evening run of 13 October 2026-10-13 22:49:23 +03:00
skylake-grace3-better.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-grace3-current.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-grace3-worse.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-grace-link2.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-grace-link.csv bench: grace delay on an emulated slow link 2026-10-14 11:39:20 +03:00
skylake-grace.csv Benchmarks: splice by direction, grace delay, tunnels, more proxies 2026-10-12 00:40:19 +03:00
skylake-halfclose.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
skylake-haproxy-splice.csv Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
skylake-ktls-splice.csv bench: kernel TLS, with and without splice(), and CONNECT at 10 Mbit/s 2026-10-14 19:14:46 +03:00
skylake-ktls.csv bench: kernel TLS, with and without splice(), and CONNECT at 10 Mbit/s 2026-10-14 19:14:46 +03:00
skylake-main.csv Benchmarks: measure the proxy under stress, add results 2026-10-11 22:04:47 +03:00
skylake-mix.csv bench: TLS, mix and half-close scenarios, 13 October results 2026-10-13 10:38:57 +03:00
skylake-slow-g.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-slow-gp2.csv bench: the slow link with two CPUs for the proxy 2026-10-14 17:10:17 +03:00
skylake-splice-direction.csv Benchmarks: splice by direction, grace delay, tunnels, more proxies 2026-10-12 00:40:19 +03:00
skylake-splice-g-better.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-splice-g-current.csv bench: grace delay and splice() over emulated client links 2026-10-14 17:06:47 +03:00
skylake-tls.csv bench: RESULTS with a table for each machine, HTTPS with streams and envoy 2026-10-13 13:00:21 +03:00
skylake-tunnels.csv Benchmarks: automatic splice, CONNECT, SOCKS and TCP relay results 2026-10-12 11:25:04 +03:00