Skip Navigation
Show nav
Heroku Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
  • Documentation
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku Architecture
    • Dynos (app containers)
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
  • Command Line
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery
    • Continuous Integration
  • Language Support
    • Node.js
    • Ruby
      • Rails Support
      • Working with Bundler
    • Python
      • Background Jobs in Python
      • Working with Django
    • Java
      • Working with Maven
      • Java Database Operations
      • Working with the Play Framework
      • Working with Spring Boot
      • Java Advanced Topics
    • PHP
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • Other Data Stores
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
    • Compliance
  • Heroku Enterprise
    • Private Spaces
      • Infrastructure Networking
    • Enterprise Accounts
    • Enterprise Teams
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
    • Single Sign-on (SSO)
  • Patterns & Best Practices
  • Extending Heroku
    • Platform API
    • App Webhooks
    • Heroku Labs
    • Building Add-ons
      • Add-on Development Tasks
      • Add-on APIs
      • Add-on Guidelines & Requirements
    • Building CLI Plugins
    • Developing Buildpacks
    • Dev Center
  • Accounts & Billing
  • Troubleshooting & Support
  • Integrating with Salesforce
  • Add-ons
  • All Add-ons
  • Rails Autoscale
Rails Autoscale

This add-on is operated by Adamlogic, LLC

Simple, reliable queue-based autoscaling for your Rails app.

Rails Autoscale

Last updated December 05, 2022

Table of Contents

  • Full documentation
  • How is Rails Autoscale different from Judoscale?
  • How is Rails Autoscale different from Heroku’s built-in autoscaler?
  • Installation
  • Enabling autoscaling
  • Worker autoscaling
  • Troubleshooting
  • Plans & pricing
  • Migrating between plans
  • Removing the add-on
  • Support

Rails Autoscale is an add-on that automatically scales web and worker dynos for Rails applications. This improves app performance while drastically reducing your Heroku bill.

Autoscaling ensures that your app can gracefully handle increased traffic while only paying for the dynos you need.

Full documentation

This documentation page is a high-level summary. See the official documentation site for more.

How is Rails Autoscale different from Judoscale?

It’s not! Rails Autoscale and Judoscale are the same product, which is why you’ll see “Judoscale” in the UI when you launch Rails Autoscale.

Does that mean you should switch from Rails Autoscale to Judoscale? Nope! It’s just another “face” of Judoscale in the add-on marketplace, but it works exactly the same.

If you’re still deciding which one to use, we (ever so gently) recommend using Judoscale just so the branding you see in the app matches what you see in your Heroku add-on list. But don’t stress over it. They are the same product, with the same pricing, supported by the same team. And they’re the best autoscaler out there.

How is Rails Autoscale different from Heroku’s built-in autoscaler?

Heroku offers a native autoscaling solution for customers using performance dynos. It only autoscales web dynos, and it uses response time as the metric to trigger scaling. Rails Autoscale is different in a few ways:

  • You can autoscale standard, performance, private, and shield dynos.
  • You can autoscale both web dynos and worker dynos (Sidekiq, Resque, Delayed Job, and Que).
  • Your web dynos autoscale based on request queue time instead of response time. Queue time is a true capacity metric, unaffected by application performance like response time.
  • Our web UI offers beautiful visualizations showing how your traffic impacts scaling.
  • You control how quickly you scale up (optionally jumping by multiple dynos) and scale down.

Installation

Rails Autoscale can be installed from the Heroku Elements marketplace or the via CLI:

Check out Rails Autoscale on Heroku Elements for pricing and plans.

$ heroku addons:create rails-autoscale
-----> Adding RAILS_AUTOSCALE_URL to sharp-mountain-4005... done, v18 (free)

Launch Rails Autoscale in your browser to complete the installation:

$ heroku addons:open rails-autoscale

The app will walk you through installing the adapter gems which are responsible for reporting your capacity metrics.

Gem installation flow

Rails Autoscale supports Rails 3.2+ and Ruby 1.9.3+.

If you run into any trouble with the initial setup, check out the gem troubleshooting notes or contact us for help.

Enabling autoscaling

Once the gem(s) are installed and your app is deployed, you’ll begin to see activity in your Rails Autoscale charts. Autoscaling is disabled by default, though, so you’ll need to turn it on using the toggle in the upper right corner.

Enable autoscaling

Request queue time threshold

Rails Autoscale triggers scale events by monitoring the request queue time for every request. This is the time between Heroku accepting a request and your application beginning processing. Queue time will increase when your application servers are too busy to handle all incoming requests.

Configuring queue time

For a complete explanation of request queue time, check out “What is request queue time, and why is it so important?”

Worker autoscaling

Rails Autoscale will autoscale worker dynos that are using Sidekiq, Resque, Delayed Job, or Que. It’s as easy as autoscaling your web dynos—but in this case, we work with job queue time instead of request queue time.

Job queue time is how long jobs are waiting in a queue before being processed. Sidekiq call this metric “queue latency”. Rails Autoscale measures job queue time per queue, and you select which queues you want to use for autoscaling.

Troubleshooting

Check out the official troubleshooting guide if you run into any problems. If you’re still stuck, email help@railsautoscale.com, and we’ll be happy to help.

Plans & pricing

Our Heroku pricing breaks down into tiers based on the type of dyno your app runs (standard or perf/private/shield) and the maximum number of dynos you need to run at any given time. The “max dynos” limit is enforced when setting your dyno range within the app:

Validating max dynos

Migrating between plans

Use the heroku addons:upgrade command to migrate to a new plan.

$ heroku addons:upgrade rails-autoscale:newplan
-----> Upgrading rails-autoscale:newplan to sharp-mountain-4005... done, v18 ($49/mo)
       Your plan has been updated to: rails-autoscale:newplan

Removing the add-on

Rails Autoscale can be removed via the CLI.

This will destroy all associated data and cannot be undone!

$ heroku addons:destroy rails-autoscale
-----> Removing rails-autoscale from sharp-mountain-4005... done, v20 (free)

Support

All Rails Autoscale support and runtime issues should be submitted via Heroku’s Support channels or emailed to help@railsautoscale.com.

Keep reading

  • All Add-ons

Feedback

Log in to submit feedback.

Ziggeo Raygun Crash Reporting

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Podcasts
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing

Subscribe to our monthly newsletter

Your email address:

  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Heroku Podcasts
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Facebook
  • Instagram
  • Github
  • LinkedIn
  • YouTube
Heroku is acompany

 © Salesforce.com

  • heroku.com
  • Terms of Service
  • Privacy
  • Cookies
  • Cookie Preferences