So perhaps this isn't the correct location to ask this question, but I have 1 Digital Ocean Droplet Running Ubuntu 20.04 with 2vCPU 4Gb RAM and 60Gb Disk Space
As a simple test I am running docker with the only container as traefik since I'd like to use this as my reverse proxy. The only thing I have active on the traefik container is the dashboard.
Without any containers started (docker daemon is running) the CPU load idles around 3-6% on each CPU. Upon starting traefik, the load will shoot up for a second but then idle about the same level. Upon trying to access the dashboard however - both virtual CPU loads will be registered at 100% with CPU % in htop showing 187% load:
It takes forever to load the dashboard, to the point its like unusable. Frankly its awful
I ran some internal testing to see why the performance was so terrible
I initially started the container with these parameters (as defined in the docker compose file):
- "traefik.http.routers.dashboard.middlewares=auth"
- "traefik.http.middlewares.auth.basicauth.usersfile=/etc/traefik/basicauth.pass"
and within the /etc/traefik.yml static configuration file I had:
api:
insecure: false
dashboard: true
The peformance was awful. If however I set the api insecure to true and restarted container without the authentication mechanism the performance improved dramatically.
Which got my wondering about this entire authentication scheme which I thought honestly was only for the login process.
Does using basic authentication supposed to bring the system to a crawl? Is my DO droplett markedly underpowered?
I've run traefik on homelab server within UbuntuVM (TrueNAS) and I don't experience any high load with the dashboard running. In comparison this DO Droplet is awful in terms of performance.