* improvement: use appropriate paths for systemd example
* improvement: add a configurable postgres write conn string
This adds a new configurable connection string for postgres writes.
* improvement: document pg connection_write config
* build: upgrade checkout action for github ci
* perf: use standard allocator, limit sqlite mmap to 4GB
This is an experimental change to see if we can reduce memory usage
with large SQLite databases. If successful, we'll do this again and
further reduce the database mmap size.
This will cause greater use of the page cache, but that is more easily
reclaimed by the kernel, and should reduce memory pressure, as well as
making it clearer how much memory the application is actually using
for connections, subscriptions, etc.
* docs: reformatting
* docs: allow host header prefix matching, required for Damus compatibility
* perf: disable sqlite mmap to reduce memory pressure
* perf: switch to jemalloc allocator
* docs: helpful ubuntu packages for building
* perf: reduce SQLite connection count and idle lifetime
On lightly loaded relays, we free up memory faster by letting idle
connections be reclaimed in 10 seconds instead of the default 10
minutes. This also sets the minimum to zero connections, instead of
always trying to hold one open.
---------
Co-authored-by: Petr Kracik <petrkr@petrkr.net>
Co-authored-by: Kieran <kieran@harkin.me>
Co-authored-by: Greg Heartsfield <scsibug@imap.cc>
* improvement: use appropriate paths for systemd example
* improvement: add a configurable postgres write conn string
This adds a new configurable connection string for postgres writes.
* improvement: document pg connection_write config
* build: upgrade checkout action for github ci
---------
Co-authored-by: Petr Kracik <petrkr@petrkr.net>
Co-authored-by: Kieran <kieran@harkin.me>
Co-authored-by: Greg Heartsfield <scsibug@imap.cc>