Instance Sizes
An instance is one running replica of your app. Its size determines how much CPU and memory that replica receives. If your app runs multiple replicas, each replica gets the full resources shown for the selected size in the table below.
Available Sizes
Section titled “Available Sizes”| Instance size | CPU per replica | Memory per replica | Beta availability |
|---|---|---|---|
| Free | 0.1 CPU | 500 MiB | Hobby and Pro |
| Micro | 0.5 CPU | 500 MiB | Pro beta rollout |
| Small | 1 CPU | 2 GiB | Pro beta rollout |
| Medium | 2 CPU | 4 GiB | Pro beta rollout |
| Large | 4 CPU | 8 GiB | Coming later |
| XLarge | 8 CPU | 16 GiB | Coming later |
| 2XLarge | 16 CPU | 32 GiB | Coming later |
Change an App’s Instance Size
Section titled “Change an App’s Instance Size”- Navigate to your app in the dashboard.
- Select Scaling from the sidebar.
- In Instance Size, click Change.
- Select an instance size.
- Click Update and redeploy.
Changing the instance size creates a new deployment with the selected CPU and memory. The current deployment continues serving traffic until the replacement is ready.
Instance sizes other than Free require a Pro team. If you select a Pro size while using Hobby, the dashboard prompts you to upgrade.
Choose an Instance Size
Section titled “Choose an Instance Size”Start with the smallest size that comfortably handles your app’s normal workload, then use the Metrics page to watch CPU and memory usage.
- If CPU usage repeatedly reaches its limit, requests may be throttled. Move to a larger size or optimize CPU-intensive work.
- If memory usage reaches its limit, the instance can be terminated for running out of memory and restarted. Move to a larger size or investigate memory growth.
Size and replica count solve different problems. A larger instance gives each replica more CPU and memory, while autoscaling adds or removes replicas in response to traffic. The total resources available to your app depend on both settings.