From 6901d286feb46a4111817d79c4d82feb8e373fb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Wed, 14 Nov 2018 09:18:33 +0200 Subject: [PATCH] List increased memory use in upgrading document The 2.3 additions could be perceived as a memory leak so a note in the upgrading document could be helpful. --- .../Upgrading/Upgrading-To-MaxScale-2.3.md | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/Documentation/Upgrading/Upgrading-To-MaxScale-2.3.md b/Documentation/Upgrading/Upgrading-To-MaxScale-2.3.md index 5c41af177..647d521fc 100644 --- a/Documentation/Upgrading/Upgrading-To-MaxScale-2.3.md +++ b/Documentation/Upgrading/Upgrading-To-MaxScale-2.3.md @@ -9,12 +9,30 @@ to the [ChangeLog](../Changelog.md). Before starting the upgrade, we recommend you back up your current configuration file. -### Unknown global parameters +## Increased Memory Use + +Starting with MaxScale 2.3.0 up to 40% of the memory can be used for +caching parsed queries. The most noticeable change is that it improves +performance in almost all cases where queries need to be parsed. Most of +the time this happens when the readwritesplit router or filters are used. + +The amount of memory that MaxScale uses can be controlled with the +`query_classifier_cache_size` parameter. For example, to limit the total +memory to 1GB, add `query_classifier_cache_size=1G` to your +configuration. To disable it, set the value to `0`. + +In addition to the aforementioned query classifier caching, the +readwritesplit session command history is enabled by default in 2.3 but is +limited to a maximum of 50 commands after which the history is +disabled. This is unlikely to show in any metrics but it contributes to +the increased memory foorprint of MaxScale. + +## Unknown Global Parameters All unknown parameters are now treated as errors. Check your configuration for errors if MaxScale fails to start after upgrading to 2.3.1. -### `passwd` is deprecated +## `passwd` is deprecated In the configuration file, passwords for monitors and services should be specified using `password`; the support for the deprecated