@eva2000 wrote:
Hi I just installed Haproxy 1.8.3 via source compile to compare against Nginx 1.13.8 also source compiled in proxy config with and without caching.
I setup HTTP/2 HTTPS to see how they fair for nghttp2’s h2load HTTP/2 HTTPS load tester and noticed differences in header compression ratio and compression size of requests. What settings control Haproxy’s HTTP/2 compression ?
System is CentOS 7.4 64bit based with haproxy enabled multithreading with 6 threads on Xeon E3-1270v6 4C/8T server Vultr Baremetal with 10Gbps network. With 2x Vultr baremetal Xeon E3-1270v5 64GB ram Nginx backends. Full tests at https://community.centminmod.com/posts/59266/
haproxy -vv HA-Proxy version 1.8.3-205f675 2017/12/30 Copyright 2000-2017 Willy Tarreau <willy@haproxy.org> Build options : TARGET = linux2628 CPU = native CC = gcc CFLAGS = -march=native -m64 -march=x86-64 -O2 -g OPTIONS = USE_LINUX_SPLICE=1 USE_LINUX_TPROXY=1 USE_ZLIB=1 USE_REGPARM=1 USE_THREAD=1 USE_OPENSSL=1 USE_LUA=1 USE_PCRE=1 USE_PCRE_JIT=1 Default settings : maxconn = 2000, bufsize = 16384, maxrewrite = 1024, maxpollevents = 200 Built with OpenSSL version : OpenSSL 1.1.0g 2 Nov 2017 Running on OpenSSL version : OpenSSL 1.1.0g 2 Nov 2017 OpenSSL library supports TLS extensions : yes OpenSSL library supports SNI : yes OpenSSL library supports : TLSv1.0 TLSv1.1 TLSv1.2 Built with Lua version : Lua 5.3.4 Built with transparent proxy support using: IP_TRANSPARENT IPV6_TRANSPARENT IP_FREEBIND Encrypted password support via crypt(3): yes Built with multi-threading support. Built with PCRE version : 8.41 2017-07-05 Running on PCRE version : 8.41 2017-07-05 PCRE library supports JIT : yes Built with zlib version : 1.2.8 Running on zlib version : 1.2.8 Compression algorithms supported : identity("identity"), deflate("deflate"), raw-deflate("deflate"), gzip("gzip") Built with network namespace support. Available polling systems : epoll : pref=300, test result OK poll : pref=200, test result OK select : pref=150, test result OK Total: 3 (3 usable), will use epoll. Available filters : [SPOE] spoe [COMP] compression [TRACE] trace
Haproxy 1.8.3 HTTP/2 h2load test 7x runs
Haproxy 1.8.3 HTTP/2 h2load stress test 4192.64 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 102.51MB (107492141) total, 20.44MB (21434340) headers (space savings 8.92%), 80.73MB (84650000) data 43055.35 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 102.51MB (107492162) total, 20.44MB (21434379) headers (space savings 8.92%), 80.73MB (84650000) data 43342.96 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 102.51MB (107492323) total, 20.44MB (21434369) headers (space savings 8.92%), 80.73MB (84650000) data 4225.61 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 102.51MB (107492273) total, 20.44MB (21434355) headers (space savings 8.92%), 80.73MB (84650000) data 4462.79 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 102.51MB (107492048) total, 20.44MB (21434355) headers (space savings 8.92%), 80.73MB (84650000) data 4238.36 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 102.51MB (107492414) total, 20.44MB (21434388) headers (space savings 8.92%), 80.73MB (84650000) data 4452.79 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 102.51MB (107491991) total, 20.44MB (21434379) headers (space savings 8.92%), 80.73MB (84650000) data
Centmin Mod Nginx 1.13.8 HTTP/2 h2load test 7 runs with proxy_cache
with proxy_cache CentminMod.com Nginx 1.13.8 HTTP/2 h2load stress test 41114.53 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.02MB (103825021) total, 17.41MB (18250521) headers (space savings 22.34%), 80.73MB (84650000) data 41366.07 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.17MB (103985124) total, 17.56MB (18410624) headers (space savings 22.32%), 80.73MB (84650000) data 44522.57 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.15MB (103970551) total, 17.54MB (18396051) headers (space savings 22.32%), 80.73MB (84650000) data 43232.74 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.12MB (103938667) total, 17.51MB (18364167) headers (space savings 22.32%), 80.73MB (84650000) data 42330.59 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.16MB (103973060) total, 17.55MB (18398560) headers (space savings 22.32%), 80.73MB (84650000) data 44525.14 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.18MB (103998511) total, 17.57MB (18424011) headers (space savings 22.32%), 80.73MB (84650000) data 42880.43 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.13MB (103949287) total, 17.52MB (18374787) headers (space savings 22.32%), 80.73MB (84650000) data
Centmin Mod Nginx 1.13.8 HTTP/2 h2load test 7 runs without proxy_cache
no proxy_cache CentminMod.com Nginx 1.13.8 HTTP/2 h2load stress test 3255.46 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.16MB (103975000) total, 17.55MB (18400500) headers (space savings 22.20%), 80.73MB (84650000) data 3270.14 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.16MB (103975000) total, 17.55MB (18400500) headers (space savings 22.20%), 80.73MB (84650000) data 3206.48 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.16MB (103975000) total, 17.55MB (18400500) headers (space savings 22.20%), 80.73MB (84650000) data 3256.87 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.16MB (103975000) total, 17.55MB (18400500) headers (space savings 22.20%), 80.73MB (84650000) data 3236.25 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.16MB (103975000) total, 17.55MB (18400500) headers (space savings 22.20%), 80.73MB (84650000) data 3304.80 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.16MB (103975000) total, 17.55MB (18400500) headers (space savings 22.20%), 80.73MB (84650000) data 3270.14 req/s 100% completed status codes: 50000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 99.16MB (103975000) total, 17.55MB (18400500) headers (space savings 22.20%), 80.73MB (84650000) data
h2load header space savings differences for Haproxy = 8.92% vs Nginx = 22+%
Posts: 3
Participants: 2