I often need to access a PRTG Web Application that's hosted extremely far from my location. Accessing this server is extremely slow, and I recently realized that it's because by default, PRTG seems to have the Connection HTTP header set to "close". This means anywhere from 50% - 90% of my request time is spent setting up a new connection, doing another SSL handshake, etc., rather than reusing an existing connection.
However, I also discovered this knowledge base post which, despite the deprecated warning, actually works and allowed me to toggle the keep-alive header back on in PRTG version 22.2.76.1705 (the only difference being the registry flag is now called
usehttpkeepalive2
So is this no longer deprecated? If the issue noted in the previous KB post was that idle connections were eating threads and memory, I imagine in the 7 years since its last update, it's been resolved (e.g. via a max time on persistent connections)? But if so, shouldn't this already be on by default? Or by turning it on, am I guaranteeing myself memory leaks and periodic server restarts?
If it's still not recommended to turn this on for those reasons, I just want to emphasize that most other sites solved Keep-Alive connections with HTTP/1.1 years ago, and at this point, many have also upgraded to HTTP2. Forcing a short-lived connection is effectively downgrading us to HTTP 1.0, and it's kind of painful.
Add comment