Change default `sync_response_cache_duration` (#13042)

pull/13076/head
Erik Johnston 2022-06-15 17:55:20 +01:00 committed by GitHub
parent 7d99414edf
commit c95b04bb0e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 4 deletions

1
changelog.d/13042.misc Normal file
View File

@ -0,0 +1 @@
Set default `sync_response_cache_duration` to two minutes.

View File

@ -103,4 +103,10 @@ server_notices:
system_mxid_avatar_url: ""
room_name: "Server Alert"
# Disable sync cache so that initial `/sync` requests are up-to-date.
caches:
sync_response_cache_duration: 0
{% include "shared-orig.yaml.j2" %}

View File

@ -1137,8 +1137,8 @@ Caching can be configured through the following sub-options:
* `sync_response_cache_duration`: 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.
A value of zero means that sync responses are not cached.
Defaults to 2m.
* `cache_autotuning` and its sub-options `max_cache_memory_usage`, `target_cache_memory_usage`, and
`min_cache_ttl` work in conjunction with each other to maintain a balance between cache memory
usage and cache entry availability. You must be using [jemalloc](https://github.com/matrix-org/synapse#help-synapse-is-slow-and-eats-all-my-ramcpu)

View File

@ -206,7 +206,7 @@ class CacheConfig(Config):
self.cache_autotuning["min_cache_ttl"] = self.parse_duration(min_cache_ttl)
self.sync_response_cache_duration = self.parse_duration(
cache_config.get("sync_response_cache_duration", 0)
cache_config.get("sync_response_cache_duration", "2m")
)
def resize_all_caches(self) -> None:

View File

@ -169,7 +169,7 @@ def default_config(name, parse=False):
# disable user directory updates, because they get done in the
# background, which upsets the test runner.
"update_user_directory": False,
"caches": {"global_factor": 1},
"caches": {"global_factor": 1, "sync_response_cache_duration": 0},
"listeners": [{"port": 0, "type": "http"}],
}