January 09 2023 12:52 pm

123 Dyno and Heroku Autoscaling Speed Benchmarks


123 Dyno provides an instant 12x autoscaling speed upgrade by providing autoscaling intervals of 5 seconds compared to stock Heroku's 60 seconds. This is the fastest autoscaling response time available in the Heroku ecosystem. This is important because it means apps running 123 Dyno will autoscale faster and more responsively under load than autoscaling with anything else.

A 60 second interval means an apps dyno formation can wait up to 60 seconds before autoscaling takes place to accomodate load. This means that if a traffic burst hits your servers it can critically slow down services and page load time, dyno formation waiting 60 seconds before autoscaling to become response to users when they are most interested.

Compared to waiting for a box to start up to 3 minutes on other cloud providers this is still fast, but 123 Dyno takes it to the ultimate and makes sure your app stays snappy no matter what is thrown at it. The add-on solves this problem by providing configurable autoscaling intervals down to 5 seconds, allowing your application to respond to changing load faster. Lets look at an example of this by comparing Heroku autoscaling to 123 Dyno autoscaling with the repo https://github.com/123-Dyno/howdy-express-benchmark that simulates response time load.

We can use 123 Dyno's Transparent Logs features to see autoscaling events along with response times. The blue box is the initial autoscaling event and the red box are response times that should trigger autoscaling.

heroku-autoscaling-panel

The important thing to note here is that Heroku M95 autoscaling autoscales when the target is initially surpassed but does not autoscale further given increasing response times simulating increasing load, more on this in 123 Dyno's Consistent Response Time Autoscaling Solution. When it does autoscales it does so at intervals at least 60 seconds apart, a long time to wait for a new server.

How 123 Dyno Autoscaling Compares


123 Dyno decreases autoscaling intervals to 5 seconds and uses the concept of strictly definable Goldilocks ranges to autoscale. Simply upscaling when response times rise above maximum defined range and downscaling when response times drop below minimum defined range.

See the same test for 123 Dyno below, gold indicating the application is in Goldilocks, blue indicating the intial autoscaling event, red incoming load and purple graceful downscaling as specified.

The initial speed difference between 123 Dyno's initial autoscaling event and Heroku is negligible, usually less than 10ms. More importantly, 123 Dyno autoscales with increasing load consistently fast every 5 seconds, while Heroku takes 60 seconds or longer.

This is crucial for autoscaling your application under increasing load, if the server is getting hammered, 60 seconds can mean a lost customer. 123 Dyno superchargers your stack like no other solution to make this a non-issue.

What else can you do with 123 Dyno?


If response time autoscaling isn't a good fit for you application, 123 Dyno extends Heroku with CPU based autoscaling, memory based autoscaling and queue time autoscaling for both web and worker dynos with the same speed upgrade. 123 Dyno was designed to provide an autoscaling extension that provides everything you need to intelligently autoscale an application for any occasion, more use cases below.

Improved response time autoscaling that works consistently

Optimize IO event loop services with CPU autoscaling