More details besides README on GitHub. Our bidders use persistent connections, we configured HAProxy to use http-keep-alive , without http-keep-alive it runs even slower. We disabled docker mesh routing and added HAProxy due to mesh dropping connections to our bidders . Btw, Traefik proxy runs even slower then HAProxy. Here are the numbers on my machine
-
22K QPS single bidder response outside of docker
-
20K QPS single bidder response in docker
-
5K QPS with HAProxy + 1 bidder in docker , HAProxy is part of swarm but mesh routing to HAProxy is disabled
-
2.5K QPS with Traefik proxy with 1 bidder behind proxy , swarm mesh is disabled , sticky session in traefik enabled
Tested HAProxy outside of docker talking directly to bidder running outside of docker too - 7K QPS
QPS - Queries Per Second
The main question is http-keep-alive is it for both connections to HAProxy and backend sockets where HAProxy re-routes requests ? If http-keep-alive is only for the front-end then I guess I know why it’s so slow .