You can scale an application’s resources by changing a pod’s size (vertical scaling) or increasing the number of pods that simultaneously run your application (horizontal scaling).
- Vertical scaling gives pods more power to complete resource-intensive tasks.
- Horizontal scaling improves resilience and load balancing for applications that process many requests. For example, if you run three versions of the same pod, the underlying technology routes requests to one of the three pods, effectively distributing the load between them. If one pod becomes unstable, requests will route to the other two until the third pod is healthy again.
To change a pod size on a process, go to MyKinsta > Applications > your application name > Processes. Click the pencil icon to open Edit process.
Update the Pod size to increase the resources available to a single pod (vertically scale), or update the number of Instances to add pods and improve the load balance (horizontally scale). There is a maximum of 50 instances. Each instance represents one pod, and all instances use the same pod size.
Note: If you choose a Hobby pod size for your web process, you will not be able to add a custom domain to your application. If you need a custom domain for your application, you can upgrade your web process to a larger pod size anytime.
Once you have made your changes, click Continue, review the summary and payment method, and then click Confirm to finish updating the process and trigger a new deployment of the application.
Automatic Horizontal Scaling
Automatic scaling can be enabled for a stateless web process either during application creation or later on in Processes (MyKinsta > Applications > your application name > Processes). When you enable automatic scaling, you’ll define a minimum and maximum number of instances you want the web process to be able to use. Note: The maximum number of instances cannot exceed 10.
When automatic scaling is enabled, if the CPU usage on the current pod(s) reaches 80% of the available CPU resources, the web process will be automatically increased by one, up to the maximum number you’ve set.
If the CPU usage decreases and the current number of pod(s) is no longer needed, the number of pods will be reduced to what is needed. The instance count will not go lower than the minimum number you’ve set for automatic scaling.
While there currently isn’t a way in MyKinsta to see how many instances are in use, behind the scenes only the number of pods needed will be used. You will only be billed for the number of instances your application actually uses. For example, if the minimum instance is set to one and the maximum is set to five, but the application only uses one instance during the billing period, you will only be charged for that one instance. If the application uses more pods for part of the time during the billing period, you will only be billed for those additional pods for the time they are actually used.