| @@ -1,3 +1,22 @@ | |||||
| # 2024-02-14 | |||||
| ## Much larger Synapse caches and cache auto-tuning enabled by default | |||||
| Thanks to [FSG-Cat](https://github.com/FSG-Cat) (inspired by [Tom Foster](https://github.com/tcpipuk)'s [Synapse optimization guide](https://tcpipuk.github.io/synapse/deployment/synapse.html)), the playbook now uses much larger caches and enables Synapse's [cache auto-tuning functionality](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#caches-and-associated-values). | |||||
| The playbook has always used a very conservative cache factor (`matrix_synapse_caches_global_factor`) value of `0.5`, which may be OK for small and underactive deployments, but is not ideal for larger servers. Paradoxically, a small global cache factor value [does not necessarily decrease RAM usage as a whole](https://github.com/matrix-org/synapse/issues/3939). | |||||
| The playbook now uses **a 20x larger cache factor** (currently `10`), adjusts a few other cache-related variables, and **enables cache auto-tuning** via the following variables: | |||||
| - `matrix_synapse_cache_autotuning_max_cache_memory_usage` - defaults to 1/8 of total RAM with a cap of 2GB; values are specified in bytes | |||||
| - `matrix_synapse_cache_autotuning_target_cache_memory_usage` - defaults to 1/16 of total RAM with a cap of 1GB; values are specified in bytes | |||||
| - `matrix_synapse_cache_autotuning_min_cache_ttl` - defaults to `30s` | |||||
| These values should be good defaults for most servers, but may change over time as we experiment further. | |||||
| Refer to our new [Tuning caches and cache autotuning](docs/maintenance-synapse.md#tuning-caches-and-cache-autotuning) documentation section for more details. | |||||
| # 2024-01-17 | # 2024-01-17 | ||||
| ## Switching to Element's AGPLv3-licensed Synapse release | ## Switching to Element's AGPLv3-licensed Synapse release | ||||