What is 123 Dyno?
123 Dyno is a purpose built set of tools for scaling heroku dynos, from autoscaling to load monitoring. It's intent is to provide the enviroment with tools purpose built for Heroku developers and businesses who would like to take greater control of their scaling and load monitoring.
Who runs 123 Dyno?
123 Dyno is operated by a developer and software consultant, Rafael Ancheta. After some time using the platform, the impetus for creating the project was having these tools readily available for the Heroku enviorment and other companies thinking about taking their scaling and load monitoring in a more data driven, flexible, and controlled manner, evolving into the robust product you see today.
How does 123 Dyno's scaling work?
123 Dyno uses the concept of a Goldilocks range, or an implicitly specified range of values you would like your dyno to be in, and then scaling as necessary to keep the dyno in that Goldilocks range. Statically you can define exactly how you would like scaling to occur, or use dynamic scaling to scale based on magnitude.
How often do dynos autoscale?
Within seconds of leaving Golidlocks range and then every minute down to every 5 seconds, adjustable.
How is dynamic scaling calculated?
Dynamic scaling keeps your specific metric values within their ranges by scaling up and down a dynamic amount whenever they leave your specified range. If you want to fine tune dynamic scaling in your application, understanding how it works is worthwhile. Dynamic scaling decides the amount of dynos to scale by taking the difference between the high point of your range and substracting it by the low point of your range. This is used as a magnitude to scale up or down by
Example: A configuration with min_threshold: 100ms, max_theshold: 300ms, would scale based on the distance between the two, 200ms. A response at 500ms would scale up 1 and a response at 700ms scale up 2. Adjust how close together the thresholds are to achieve different magitudes, while trying to stay in your Goldilocks zone.
What is sampling in 123 Dyno?
123 Dyno uses log data provided by Heroku log drains to calculate scaling metrics, a compressed version of this is stored for analytics.
123 Dyno samples the web data under sufficient load to calculate response times, all plans have a threshold amount of data that will go unsampled before sampling begins. At high volumes, metrics perform statistically the same under sampling, but the initial no sampling period was introduced to provide a more accurate baseline for analytics. Worker process are not subject to sampling.
Percentagle sampled is determined by the amount of traffic sent to 123 Dyno servers. If you would like more unsampled data for the analytics feature or have application specific requests please contact [email protected] for more information.
Where do I send questions, feedback, and feature requests?
Feedback, feature requests, and questions are more than welcome at [email protected], and if you have specific requirements you would like to speak about ping [email protected]