We’re running Chirpstack4 on Kubernetes. The initial web UI login screen takes 30-60s on average to load (see attachment). Once logged in the site very responsive.
I’m not familiar with Rust to tell whether or not the use of Router::new().fallback() to serve static content (ie react js files) is the issue.
I’m not able to reproduce this. I think what the link describes is that using fallback without any other routes is not not a good idea. However, this is not the case in the ChirpStack code. The static handler in the fallback must be used, when the other routes do not match.
The reported issue from your link:
The old code manages approximately 24 500 req/sec in a reverse proxy use case.
The new code and so on manage approximately 16 500 req/sec, which is a huge drop.
The ChirpStack UI doesn’t get close to these numbers to load the web-interface So even if the fallback would cause some performance issues, it would not cause the UI to load in 30-60 seconds.
I forgot the attachment. As mentioned, just the initial 4MB react js that is slow to load. Everything is very fast once logged in. Anyhow, I’m going to re-create a local setup with docker-compose to see if I can reproduce it.