From a5128a1f6a8849fc4535acd005edd3f10883bd23 Mon Sep 17 00:00:00 2001 From: Mayeul Cantan Date: Wed, 10 Aug 2022 13:33:19 +0200 Subject: [PATCH] Improve syncing of big accounts: add caching, increase timeout --- conf/homeserver.yaml | 27 +++++++++++++++++++++++++++ conf/nginx.conf | 6 ++++++ 2 files changed, 33 insertions(+) diff --git a/conf/homeserver.yaml b/conf/homeserver.yaml index 9bc9a201..94c16dad 100644 --- a/conf/homeserver.yaml +++ b/conf/homeserver.yaml @@ -498,6 +498,33 @@ database: # #event_cache_size: 10K +caches: + # Controls the global cache factor, which is the default cache factor + # for all caches if a specific factor for that cache is not otherwise + # set. + # + # This can also be set by the "SYNAPSE_CACHE_FACTOR" environment + # variable. Setting by environment variable takes priority over + # setting through the config file. + # + # Defaults to 0.5, which will half the size of all caches. + # + # global_factor: 2.0 + + # Controls how long an entry can be in a cache without having been + # accessed before being evicted. Defaults to None, which means + # entries are never evicted based on time. + # + # expiry_time: 120m + + # Controls how long the results of a /sync request are cached for after + # a successful response is returned. A higher duration can help clients with + # intermittent connections, at the cost of higher memory usage. + # + # By default, this is zero, which means that sync responses are not cached + # at all. + # + sync_response_cache_duration: 15m ## Logging ## diff --git a/conf/nginx.conf b/conf/nginx.conf index 275cd1db..9f59f787 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -6,6 +6,12 @@ location __PATH__ { client_max_body_size 100M; + # Use longer timeouts for the sync API + location __PATH__/client/r0/sync { + proxy_read_timeout 7m; + proxy_pass http://localhost:__PORT__; + } + # Use the specific path for the php file. It's more secure than global php path location __PATH__/cas_server.php { alias /var/www/__APP__/;