diff options
author | Tor Brede Vekterli <vekterli@yahooinc.com> | 2022-01-26 10:56:49 +0000 |
---|---|---|
committer | Tor Brede Vekterli <vekterli@yahooinc.com> | 2022-01-26 10:56:49 +0000 |
commit | 5c727a35f8c824f6d13d3702211a3554e031e1b6 (patch) | |
tree | 9fcb88e400cccf91f4bd4eefd06e9c203aadd2aa /configdefinitions | |
parent | 1ecbb8ced4c2599155a2438625987b78e174bd5a (diff) |
Support live reconfig of dynamic persistence throttling
Start moving internal `stor-server` throttling config to use struct
config instead of separate fields, as this is more flexible and better
matches how we configure throttling elsewhere. For now, let dynamic
throttling be enabled via both the new and the old config enum.
Config model will be updated to use the new config struct shortly.
Diffstat (limited to 'configdefinitions')
-rw-r--r-- | configdefinitions/src/vespa/stor-filestor.def | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/configdefinitions/src/vespa/stor-filestor.def b/configdefinitions/src/vespa/stor-filestor.def index 99f79a92c07..f1fc667ca9d 100644 --- a/configdefinitions/src/vespa/stor-filestor.def +++ b/configdefinitions/src/vespa/stor-filestor.def @@ -80,6 +80,22 @@ resource_usage_reporter_noise_level double default=0.001 ## - DYNAMIC uses DynamicThrottlePolicy under the hood and will block if the window ## is full (if a blocking throttler API call is invoked). ## +async_operation_throttler.type enum { UNLIMITED, DYNAMIC } default=UNLIMITED restart +## Internal throttler tuning parameters that only apply when type == DYNAMIC: +async_operation_throttler.window_size_increment int default=20 +async_operation_throttler.window_size_decrement_factor double default=1.2 +async_operation_throttler.window_size_backoff double default=0.95 + +## Specify throttling used for async persistence operations. This throttling takes place +## before operations are dispatched to Proton and serves as a limiter for how many +## operations may be in flight in Proton's internal queues. +## +## - UNLIMITED is, as it says on the tin, unlimited. Offers no actual throttling, but +## has near zero overhead and never blocks. +## - DYNAMIC uses DynamicThrottlePolicy under the hood and will block if the window +## is full (if a blocking throttler API call is invoked). +## +## TODO deprecate in favor of the async_operation_throttler struct instead. async_operation_throttler_type enum { UNLIMITED, DYNAMIC } default=UNLIMITED restart ## Specifies the extent the throttling window is increased by when the async throttle @@ -88,4 +104,5 @@ async_operation_throttler_type enum { UNLIMITED, DYNAMIC } default=UNLIMITED res ## value, number of threads). ## ## Only applies if async_operation_throttler_type == DYNAMIC. +## DEPRECATED! use the async_operation_throttler struct instead async_operation_dynamic_throttling_window_increment int default=20 restart |