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.

ComponentCPU (vCPUs)Memory (GB)
Embedded1.01.5
Management UI0.51.0
Connect UI0.51.0
Scaling Room (buffer)1.00.5
Total Recommended3.04.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.

ComponentCPU (vCPUs)Memory (GB)
Embedded4.0-8.0+8.0-16.0+
Management UI1.02.0
Connect UI1.02.0
Scaling Room (buffer)1.02.0
Total Recommended7.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.