dendrite/setup
Neil Alexander d8b19c857f
HTTP connection keepalives (#2730)
Beforehand we disabled HTTP keepalives to prevent ambient system
resources from being used by excess idle connections. Now that we've
fixed some bugs in the federation API and device list updater, this
situation is now much better and we don't open so many remote
connections anyway.

Keepalives allow us to not have to handshake TLS so often (which is
quite expensive) and reusing an idle connection is much faster than
having to open a new one. This can help with response times when talking
to remote federated servers.

This PR also adds a new option to disable keepalives if needed:

```
  # Disable HTTP keepalives, which also prevents connection reuse. Dendrite will typically
  # keep HTTP connections open to remote hosts for 5 minutes as they can be reused much
  # more quickly than opening new connections each time. Disabling keepalives will close
  # HTTP connections immediately after a successful request but may result in more CPU and
  # memory being used on TLS handshakes for each new connection instead.
  disable_http_keepalives: false
```
2022-09-20 17:17:44 +01:00
..
base HTTP connection keepalives (#2730) 2022-09-20 17:17:44 +01:00
config HTTP connection keepalives (#2730) 2022-09-20 17:17:44 +01:00
jetstream Fulltext implementation incl. config (#2480) 2022-09-07 18:15:54 +02:00
mscs Configuration tweaks (#2567) 2022-09-01 14:15:41 +01:00
process Update dependencies (#2729) 2022-09-20 15:01:19 +01:00
flags.go Add restrictions for open registration (#2402) 2022-04-29 09:31:11 +02:00
monolith.go Clean up interface definitions (#2427) 2022-05-06 12:39:26 +01:00