I’m planning on using Caddy as a reverse proxy in front of the Business Intelligence (BI) tool Qlik Sense. But when I’m testing it, opening a page is about 10x as slow as opening it directly.
For a difference this great, there must be an error somewhere. Can someone here help we pin point where this cause might be hiding?
The Qlik Sense Demo site is open to the public, so feel free to test if you get similar results.
1. Caddy version (caddy version
):
V1: v1.0.4
V2: v2.0.0 h1:pQSaIJGFluFvu8KDGDODV8u4/QRED/OPyIR+MWYYse8=
2. How I run Caddy:
a. System environment:
localhost: Windows 10 Pro, v 1903
b. Command:
V1: caddy.exe --conf Caddyfile-QlikDemo
V2: caddy.exe run --config Caddyfile-QlikDemo
c. Service/unit/compose file:
N/A
d. My complete Caddyfile or JSON config:
V1
# Caddy v1
https://localhost:4200 {
log ./logs/access.log
#log stdout # "{proto} Request: {method} {path} {request}"
tls self_signed
proxy / https://sense-demo.qlik.com:443 {
#transparent
websocket
#insecure_skip_verify
}
}
V2
# Caddy v2
https://localhost:4200 {
#tls internal
reverse_proxy * https://sense-demo.qlik.com:443 {
header_up Host {http.reverse_proxy.upstream.hostport} # Include only if you need to override browsers Host header
}
}
3. The problem I’m having:
I cannot use Caddy, it it actually appears to be 10x as slow as going directly. ;-/
4. Error messages and/or full log output:
I tried a quick test, using Chrome DevTools - Network - Finnish: timestamp to clock the download time.
Tried 10 times via v1, 10 times via v2, and 10 times directly.
On averge:
- v1: 19,8 sec
- v2: 23,9 sec
- direct: 2,6 sec
Chrome DevTools is reporting TTFB as main cause of the delay. But Chrome has (of cource) no way of knowing if the wait is between Chrome and Caddy, inside Caddy, og between Caddy and Qlik Sense.
5. What I already tried:
Not really sure how to go about and debug this.
Are there any useful ways of getting timings and insight out from the inner workings of Caddy, to find out what side the problem is on?
I have not yet tried installing Caddy on the same server er Qlik Sense is running on. Since I have to change ports on a production server, I didn’t want to do that before I had som more knowledge abut the problem.
6. Links to relevant resources:
Qlik Sense is a real world case in the wild. A competitor with PowerBI and Tableau, among others.
So called “Quick guides” for using Apache or IIS as reverse proxies.
Apache: https://support.qlik.com/articles/000049958
IIS: https://support.qlik.com/articles/000043332
(Why do you think I’d like to use Caddy. )
Any help is greatly appreciated.