Tune topology synchronization
StackState Self-hosted v5.1.x
Last updated
StackState Self-hosted v5.1.x
Last updated
This guide lays out steps to tune topology synchronization for best performance on a Kubernetes deployment of StackState.
To tune the topology synchronization performance, follow these steps:
This process can be repeated until the desired performance is achieved.
To understand how a topology synchronization is performing, use the to take a look at the synchronization's status page. The status page shows the latency of a topology synchronization. This is the amount of time that it took from data being collected at the source, to the moment that the data is stored by the topology synchronization framework. Typically, a lower latency is preferred, however, a higher latency might be acceptable when synchronizing topology from bigger data lakes.
Get the urn of a synchronization using the stac topology list
command.
Get the status page for the synchronization using the urn
.
⚠️ From StackState v5.0, the old sts
CLI is called stac
. The old CLI is now deprecated.
The new sts
CLI replaces the stac
CLI. It's advised to install the new sts
CLI and upgrade any installed instance of the old sts
CLI to stac
. For details see:
To understand whether the StackState platform is a bottleneck when processing topology, we want to know whether the pod that does synchronization has exhausted its CPU resources. We do this using the following steps:
Get the configured request for the StackState topology synchroinzation pod
Get the consumed resources
In the above example, we observe that 1.970 cores are used by the synchronization pod, where 2 are requested. This means that the pod is very close to its CPU budget and is likely throttled. To remedy this, follow the procedure below to change the topology synchronization CPU budget.
To guarantee performance, requests
should ideally be set equal to limits
. Limits
can never be lower than requests
.
To modify the CPU budget for the topology synchronization, add/change the following configuration items in the of your Kubernetes StackState deployment and deploy the change.
After making this modification, again to be sure that the changes have had the desired effect. If not, do another iteration to further tune the synchronization.