Scaling Sensitivity Options
The sensitivity options (upscaling sensitivity and downscaling sensitivity) instruct the Dyno Manager not to scale in either direction for a certain number of consecutive attempts. This is useful for improving the stability of your scaling operations.
For example, setting your upscaling sensitivity to 2 and downscaling sensitivity to 3 will result in the following behavior:
When attempting to scale up:
- The dyno manager wants to scale up but is halted by the sensitivity settings.
- The dyno manager's upscale sensitivity is now at level 1.
- The dyno manager doesn't want to scale.
- The dyno manager's upscale sensitivity is now reset to level 0.
- The dyno manager wants to scale up but is halted by the sensitivity settings.
- The dyno manager's upscale sensitivity is now at level 1.
- The dyno manager wants to scale up again, and now it will because it reached level 2.
- The dyno manager's upscale sensitivity is now reset to level 0.
When attempting to scale down:
- The dyno manager wants to scale down but is halted by the sensitivity settings.
- The dyno manager's downscale sensitivity is now at level 1.
- The dyno manager wants to scale down again but is halted by the sensitivity settings again.
- The dyno manager's downscale sensitivity is now at level 2.
- The dyno manager wants to scale down again, and now it can because it reached level 3.
- The dyno manager's downscale sensitivity is now reset to level 0.
Our recommendation
We generally recommend setting a lower upscaling sensitivity threshold, for example: 2 to 5, and a higher downscaling sensitivity threshold, for example: 10 to 30.
Such a setup allows you to quickly react to an increase in requests or jobs, without scaling up prematurely in the event of a temporary anomaly. At the same time, this reduces the amount of flapping behavior, where scaling down almost immediately triggers an upscaling event, and scaling up almost immediately triggers a downscaling event. This means that the sweet spot is on the upper bound, and you want it to stabilize there for a while before attempting to scale down again.
Additionally, with such a configuration, you can leave the Timeout Options (Upscaling Timeout and Downscaling Timeout) at 0 (no timeout) and rely solely on the Sensitivity Options.
Note that it is important to understand that the sensitivity options are not time-based but check-up based. Increasing your check-up frequency will affect how fast these scaling events are attempted and the thresholds are reached. If you change your check-up frequency from, for example, 60 seconds to 30 seconds, then you may want to consider doubling the upscaling sensitivity and downscaling sensitivity values.