Scaling Configuration
This applies to: Visual Data Discovery
When deployed in Kubernetes, Symphony supports both vertical (adding resources) and horizontal (adding pods) scaling.
This topic covers:
Horizontal Autoscaling
By default, the Helm chart comes with horizontal autoscaling disabled. Follow this guide to learn more about Horizontal Pod Autoscaling and how to enable it.
Manual Scaling
If you decide not to enable autoscaling you can still scale the resources/pods manually.
Manual Horizontal Scaling
To set the number of replicas for a Symphony service such as zoomdataWeb
do the following:
-
Add the desired number of replicas to the
values.yaml
:zoomdataWeb: replicaCount: 2 # default is 1 -
Install a new helm chart release or upgrade an existing one.
Important: Don’t usekubectl
to change the number of replicas for Symphony pods. These changes will be overwritten on the next usage of Helm.
Manual Vertical Scaling
Configure each pod’s resource manually in the corresponding block of the values.yaml
file, but it's always recommended to prefer horizontal over vertical scaling. Improper change of the resources may lead to application failure on startup or instability during the operation.
Since Symphony consists of a number of Java-based microservices, apart from generic pod resource types (i.e. CPU and memory), Symphony services also expose properties for configuring application JVM memory: heapSizeMin
and heapSizeMax
. For example, here are the resource-related defaults for the zoomdataWeb
service:
If you decide to customize these properties, please follow these general recommendations:
Memory request and limit should be the same.
Memory request should be at least 25% bigger than JVM's maximum heap size to account for non-heap memory consumed by Java applications.
CPU limit is empty.
Comments
0 comments
Please sign in to leave a comment.