Connection pooling in Traefik v2 with HTTP 1.1

Hi,

Cross-posting my questions from StackOverflow https://stackoverflow.com/questions/64682314/connection-pooling-in-traefik-v2-with-http-1-1

Suppose I have a simple system where Traefik is proxying and balancing REST-like HTTP 1.1 requests to a service deployed on two hosts. Requests are unencrypted.

I'm failing to parse docs for relevant information therefore asking here (nothing about docs, probably just me).

  1. Does Traefik maintain its connection pool to hosts or does it connect and disconnect from the host each time external client connects and disconnects from Traefik?
  2. If there's internal connection pool, is maximum size of this pool tunable? If there's no pool, is maximum count of internal connections tunable?
  3. If there's internal connection pool, does Traefik reuse connections for servicing requests from different external clients? (Well, that's definition of a "pool".)
  4. If there's internal connections limit (with or without pool), can Traefik accept more external connections than this limit?
    Suppose each host supports up to 20 concurrent requests but there are thousands of clients who are idle most of time.
  5. If Traefik allows more external connections than internal connections, which policies are available for handling the case when external clients start sending more concurrent requests than internal connections limit (surge queue, fast reject, spillover, ...)?
  6. Are answers to above questions the same in case Traefik handles httpS termination?

Thanks,
Misha

1 Like