Dyno Types
Last updated June 04, 2024
Table of Contents
Heroku offers a variety of dyno types to support apps of all sizes, from small-scale projects to high-traffic production services.
Memory, CPU share, and other differentiating characteristics for each dyno type are listed below:
Plan | Memory (RAM) | CPU Share | Compute | Sleeps |
---|---|---|---|---|
Eco | 512 MB | 1x | 1x-4x | ✔ |
Basic | 512 MB | 1x | 1x-4x | |
Standard-1X | 512 MB | 1x | 1x-4x | |
Standard-2X | 1 GB | 2x | 2x-8x | |
Private/Shield-S | 1 GB | 100% | 12x | |
Performance/Private/Shield-M | 2.5 GB | 100% | 12x | |
Performance/Private/Shield-L | 14 GB | 100% | 50x | |
Performance/Private/Shield-L-RAM | 30 GB | 100% | 24x | |
Performance/Private/Shield-XL | 62 GB | 100% | 50x | |
Performance/Private/Shield-2XL | 126 GB | 100% | 100x |
Heroku Private and Shield dynos are only available with Private Spaces and Shield Spaces.
These figures show expected performance based on 99 percent of historical system loads. The performance of apps running on eco
, basic
, and standard
dyno types can vary based on available system resources, as well as limits in your account. Your app’s performance can also vary significantly based on its implementation.
Heroku prorates costs to the second. You can scale down your dynos when they’re not in use. For information about pricing, see Usage & Billing.
Using eco
dynos requires a subscription to Eco. Your usage is tracked to the second and consumes from a pool of 1000 dyno hours shared by all eco
dynos in your account. See Eco Dyno Hours for more info.
We limit access to Performance dynos to customers with an established payment history. Private and Shield dynos are only available with Private Spaces and Shield Spaces.
Dyno Feature Support
Feature | Eco | Basic | Standard | Performance | Private | Shield |
---|---|---|---|---|---|---|
Deploy with Git or Docker | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Custom Domain Support | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Pipelines | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Automatic OS patching | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Regular and timely updates to language version support | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Free SSL and automated certificate management for TLS certs | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Application metrics | ✔ | ✔ | ✔ | ✔ | ✔ | |
Available to Heroku Teams | ✔ | ✔ | ✔ | |||
Available to Heroku Enterprise Teams | ✔ | ✔ | ✔ | ✔ | ✔ | |
Horizontal scalability | ✔ | ✔ | ✔ | ✔ | ||
Preboot | ✔ | ✔ | ||||
Language runtime metrics | ✔ | ✔ | ✔ | ✔ | ✔ | |
Autoscaling for web dynos | ✔ | ✔ | ✔ | |||
Dedicated compute resources | ✔ | ✔ | ✔ | |||
Dedicated network | ✔ | ✔ | ||||
HIPAA compliant | ✔ |
Heroku Private and Shield dynos are only available with Private Spaces and Shield Spaces.
Default Scaling Limits
The following limits exist per app:
- By default, applications are limited to 100 total dynos across all process types.
- Apps running on
eco
orbasic
dynos can have only one dyno running per process type. - Apps running on
eco
dynos are limited to a maximum of two concurrently running dynos. For example, you can have one dyno running for yourweb
process, and one dyno running forworker
. - A single process type that uses
performance
,private
, orshield
dynos can’t be scaled to more than 10 dynos.
Submit a request to raise this limit for your application.
Concurrent One-Off Dyno Limits
- 1 Eco one-off dyno (Eco requires a subscription to the Eco dynos plan)
- Up to 50 concurrent one-off Basic dynos
- Up to 50 concurrent one-off Standard-1X dynos
- Up to 50 concurrent one-off Standard-2X dynos
- Up to 5 concurrent one-off Performance-M dynos
- Up to 5 concurrent one-off Performance-L dynos
- Up to 5 concurrent one-off Performance-L-RAM dynos
- Up to 5 concurrent one-off Performance-XL dynos
- Up to 5 concurrent one-off Performance-2XL dynos
- Up to 5 concurrent one-off Private-S dynos
- Up to 5 concurrent one-off Private-M dynos
- Up to 5 concurrent one-off Private-L dynos
- Up to 5 concurrent one-off Private-L-RAM dynos
- Up to 5 concurrent one-off Private-XL dynos
- Up to 5 concurrent one-off Private-2XL dynos
- Up to 5 concurrent one-off Shield-S dynos
- Up to 5 concurrent one-off Shield-M dynos
- Up to 5 concurrent one-off Shield-L dynos
- Up to 5 concurrent one-off Shield-L-RAM dynos
- Up to 5 concurrent one-off Shield-XL dynos
- Up to 5 concurrent one-off Shield-2XL dynos
Submit a request to raise this limit for your application.
Dyno Tiers and Mixing Dyno Types
Dyno types are classified into different tiers.
- Eco tier: An app that uses
eco
dynos can only useeco
dynos for all of its process types. - Basic tier: An app that uses
basic
dynos can only usebasic
dynos for all of its process types. - Professional tier: An app that uses Professional-tier dynos (
standard
andperformance
) can use different Professional-tier dyno types for its processes. For example, an app can run itsweb
process type onperformance-m
dynos while running workers onstandard-1x
dynos.
Setting Dyno Types
Setting a new dyno type for a process restarts all affected dynos. If you’re resizing to a larger dyno type, check if you can scale down the number of dynos to optimize resource costs and consumption. See Optimizing Dyno Usage for guidance.
From the Heroku Dashboard
Change the Dyno Tier on Your App
You can choose your app’s dyno tier from the app’s Resources
tab on the Heroku Dashboard:
- Click the app you want to modify from your apps list.
- Click the app’s
Resources
tab. - Above your list of dynos, click
Change Dyno Type
. - Choose the dyno tier to switch to: Eco, Basic, or Professional (Standard/Performance).
- Click
Save
.
Change the Dyno Type of Professional-Tier Dynos
To change between dyno types in the Professional tier:
- Complete the steps in the previous section to ensure the current dyno tier is set to Standard/Performance.
- Click the hexagon shape next to the process type you want to resize.
- Choose an option from the drop-down menu: Standard-1X, Standard-2X, Performance-M, or Performance-L.
- Click
Confirm
.
Scale the Number of Dynos
You can scale Professional-tier dynos from the Heroku Dashboard.
From the Heroku CLI
You can use the Heroku CLI to scale or resize the dynos for any process type.
Scale the Number of Dynos
The following command scales the number of web dynos to 3 and preserves the current dyno type.
$ heroku ps:scale web=3
You can’t run more than one eco
or basic
dyno per process. You can only scale the number of Professional-tier dynos to be larger than one.
Change the Dyno Type of a Process
The following command changes the worker dyno type to standard-2x
and preserves the current number of dynos:
$ heroku ps:type worker=standard-2x
You can only choose from dyno types within the same dyno tier as the dynos for your other processes. For example, you can’t resize a worker tostandard-2x
when you use eco
for your web
process. See Dyno Tiers and Mixing Dyno Types for more info.
Change the Dyno Type for All Processes
The following command changes the dyno type for all of an app’s process types to standard-1x
and preserves the current number of dynos:
$ heroku ps:type standard-1x
View Your Processes’ Dyno Types
To view the current dyno type for each process type, use the ps
command:
$ heroku ps
=== web (standard-2x): `bundle exec puma -C config/puma.rb`
web.1: up 2015/03/27 14:27:58 (~ 6h ago)
web.2: up 2015/03/27 14:47:04 (~ 6h ago)
web.3: up 2015/03/27 15:08:23 (~ 5h ago)
=== worker (standard-1x): `bundle exec rake worker:job`
worker.1: up 2015/03/27 14:39:04 (~ 6h ago)
worker.2: up 2015/03/27 15:08:24 (~ 5h ago)
worker.3: up 2015/03/27 14:30:55 (~ 6h ago)
Setting One-Off Dyno Types
You can set the dyno type for memory-intensive one-off dynos. To learn more, see One-Off Dynos.
Scheduler
The Scheduler add-on uses one-off dynos, and as such it supports all one-off dyno types that your app can provision.