summary refs log tree commit diff
path: root/docs/postgres.rst
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2019-03-19 16:04:49 +0000
committerErik Johnston <erik@matrix.org>2019-03-19 16:05:32 +0000
commitb616a8717be7e71be5494d65e45e99713068ac1b (patch)
treeabb88780fc11626161ba8e5643b17948ec047a83 /docs/postgres.rst
parentMerge pull request #4879 from matrix-org/erikj/test_old_deps (diff)
downloadsynapse-b616a8717be7e71be5494d65e45e99713068ac1b.tar.xz
Add note on tuning postgres
Diffstat (limited to 'docs/postgres.rst')
-rw-r--r--docs/postgres.rst22
1 files changed, 20 insertions, 2 deletions
diff --git a/docs/postgres.rst b/docs/postgres.rst
index 2377542296..f7ebbed0c3 100644
--- a/docs/postgres.rst
+++ b/docs/postgres.rst
@@ -49,6 +49,24 @@ As with Debian/Ubuntu, postgres support depends on the postgres python connector
     export PATH=/usr/pgsql-9.4/bin/:$PATH
     pip install psycopg2
 
+Tuning Postgres
+===============
+
+The default settings should be fine for most deployments. For larger scale
+deployments tuning some of the settings is recommended, details of which can be
+found at https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server.
+
+In particular, we've found tuning the following values helpful for performance:
+
+- ``shared_buffers``
+- ``effective_cache_size``
+- ``work_mem``
+- ``maintenance_work_mem``
+- ``autovacuum_work_mem``
+
+Note that the appropriate values for those fields depend on the amount of free
+memory the database host has available.
+
 Synapse config
 ==============
 
@@ -129,8 +147,8 @@ Once that has completed, change the synapse config to point at the PostgreSQL
 database configuration file ``homeserver-postgres.yaml``::
 
     ./synctl stop
-    mv homeserver.yaml homeserver-old-sqlite.yaml 
-    mv homeserver-postgres.yaml homeserver.yaml 
+    mv homeserver.yaml homeserver-old-sqlite.yaml
+    mv homeserver-postgres.yaml homeserver.yaml
     ./synctl start
 
 Synapse should now be running against PostgreSQL.