Simple yet efficient scaling agent for Ruby/Rails apps on Heroku. A better heroku autoscaling alternative.
- Add dynoscale to your app on Heroku:
heroku addons:create dscale
- Add the agent Gem to your Gemfile:
gem 'dynoscale_ruby'
- Run bundle:
bundle install
- Profit! (Literally, this will save you money 😏
The environment variable DYNOSCALE_URL
must be set in order for your application to communicate with Dynoscale Servers.
In addition to the above steps, you will need to require 'dynoscale_ruby/middleware'
and add the DynoscaleRuby::Middleware
before the Rack::Runtime
in your application.
- Dyno Name
- Application Name
- queue measurement data for web and worker dynos
In addition to Web scaling, Dynoscale collects data on Worker jobs too. At this time Sidekiq and Resque are currently supported.
Some blog posts about why Dynoscale is a helpful tool.
- Why is Queue Time more important than Backend Request Time to auto scaling?
- How to setup heroku autoscaling in under 15 minutes?
- Level up your Heroku autoscaling in 15 minutes
In review apps, staging or development environments, set the SKIP_DYNOSCALE_AGENT
environment variable to disable the scaling agent on all web and worker processes.
Bug reports and pull requests are welcome on GitHub at https://github.com/Mjolnir-Software/dynoscale_ruby.
The gem is available as open source under the terms of the MIT License