Cluster CPU + Memory
As described in Vertical Scaling, the most effective way to scale Synqly Embedded is to make more CPU and Memory available for the embedded
Pod. In order to do so, the Kubernetes cluster running Embedded must have the target amount of CPU and Memory available and allocatable.
The following are general CPU and Memory recommendations for running Embedded in both pre-production and production environments. Please note that CPU and Memory requirements can vary based on the request throughput and compute requirements of incoming requests. The values included here are meant as a starting point and may need to change to accommodate higher throughput or more complex queries.
The recommended buffer resources in both environments are included to accommodate load increases over time. If you anticipate rapid changes in inbound requests, it may make sense to add additional buffer resources.
Pre-Production
The following values represent the minimum recommended resources for running Synqly Embedded in pre-production developer or POC environments.
Component | CPU (vCPUs) | Memory (GB) |
---|---|---|
Embedded | 1.0 | 1.5 |
Management UI | 0.5 | 1.0 |
Connect UI | 0.5 | 1.0 |
Scaling Room (buffer) | 1.0 | 0.5 |
Total Recommended | 3.0 | 4.0 |
Production
The following resource allocations are the recommended baseline for production environments. The lower end of the range represents medium-scale deployments handling tens of thousands of requests a minute, while the upper range represents large-scale deployments handling hundreds of thousands of requests a minute.
Component | CPU (vCPUs) | Memory (GB) |
---|---|---|
Embedded | 4.0-8.0+ | 8.0-16.0+ |
Management UI | 1.0 | 2.0 |
Connect UI | 1.0 | 2.0 |
Scaling Room (buffer) | 1.0 | 2.0 |
Total Recommended | 7.0-11.0+ | 14.0-22.0+ |
Monitoring
Once Synqly Embedded has been deployed, there are several metrics that can be helpful in determining whether more CPU or Memory are required. An increase in Request Durations is the most common signal that the embedded
Pod requires either more CPU or Memory to handle the current throughput of inbound requests.
Monitoring the CPU and Memory Utilization as described in Kubernetes Pod Metrics will help track the percentage of allocated resources that are being actively used.