aboutsummaryrefslogtreecommitdiff
path: root/docs/configuration/postgresql.md
diff options
context:
space:
mode:
authorEgor Kislitsyn <egor@kislitsyn.com>2020-06-01 15:48:51 +0400
committerEgor Kislitsyn <egor@kislitsyn.com>2020-06-01 15:48:51 +0400
commita7627bdc7ae67a5c103f968eea02d6b1cf1ef8da (patch)
treee12af401307cfc3120d50c01580cd959f3b2503a /docs/configuration/postgresql.md
parentdecaa64f75f8bd69622fa5fba757f99719f09808 (diff)
parente96765df6b04fe5e9766271a9c62e559392758b2 (diff)
downloadpleroma-a7627bdc7ae67a5c103f968eea02d6b1cf1ef8da.tar.gz
Merge remote-tracking branch 'origin/develop' into global-status-expiration
Diffstat (limited to 'docs/configuration/postgresql.md')
-rw-r--r--docs/configuration/postgresql.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/configuration/postgresql.md b/docs/configuration/postgresql.md
new file mode 100644
index 000000000..6983fb459
--- /dev/null
+++ b/docs/configuration/postgresql.md
@@ -0,0 +1,31 @@
+# Optimizing your PostgreSQL performance
+
+Pleroma performance depends to a large extent on good database performance. The default PostgreSQL settings are mostly fine, but often you can get better performance by changing a few settings.
+
+You can use [PGTune](https://pgtune.leopard.in.ua) to get recommendations for your setup. If you do, set the "Number of Connections" field to 20, as Pleroma will only use 10 concurrent connections anyway. If you don't, it will give you advice that might even hurt your performance.
+
+We also recommend not using the "Network Storage" option.
+
+## Example configurations
+
+Here are some configuration suggestions for PostgreSQL 10+.
+
+### 1GB RAM, 1 CPU
+```
+shared_buffers = 256MB
+effective_cache_size = 768MB
+maintenance_work_mem = 64MB
+work_mem = 13107kB
+```
+
+### 2GB RAM, 2 CPU
+```
+shared_buffers = 512MB
+effective_cache_size = 1536MB
+maintenance_work_mem = 128MB
+work_mem = 26214kB
+max_worker_processes = 2
+max_parallel_workers_per_gather = 1
+max_parallel_workers = 2
+```
+