summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erikj@jki.re>2019-03-19 16:21:24 +0000
committerGitHub <noreply@github.com>2019-03-19 16:21:24 +0000
commit11f212588559c25c3bb897deb4e8975d61fed9b8 (patch)
treeab9a181358573eabc77a598a9dd922284029a6ec
parentMerge pull request #4879 from matrix-org/erikj/test_old_deps (diff)
parentNewsfile (diff)
downloadsynapse-11f212588559c25c3bb897deb4e8975d61fed9b8.tar.xz
Merge pull request #4894 from matrix-org/erikj/postgres_tuning
Add note on tuning postgres
-rw-r--r--changelog.d/4895.misc1
-rw-r--r--docs/postgres.rst22
2 files changed, 21 insertions, 2 deletions
diff --git a/changelog.d/4895.misc b/changelog.d/4895.misc
new file mode 100644

index 0000000000..81a3261538 --- /dev/null +++ b/changelog.d/4895.misc
@@ -0,0 +1 @@ +Add some notes about tuning postgres for larger deployments. 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.