Was this page helpful?
Troubleshoot performance¶
CPU pinning¶
Diagnose and fix issues with CPU pinning for ScyllaDB Pods.
Verify CPU pinning¶
Check QoS class:
kubectl get pods -l 'app.kubernetes.io/name=scylla' \
-o=jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.qosClass}{"\n"}{end}'
All ScyllaDB Pods should report Guaranteed.
Check ScyllaDB startup flags — when CPU pinning is active, ScyllaDB starts with --overprovisioned=0:
kubectl logs <pod-name> -c scylla | grep -E 'overprovisioned|smp|cpuset'
Check that the ContainerPerftune Job ran for each ScyllaDB Pod:
kubectl -n scylla-operator-node-tuning get jobs \
-l scylla-operator.scylladb.com/node-config-job-type=ContainerPerftune
Common issues¶
Symptom |
Cause |
Fix |
|---|---|---|
|
|
Set matching requests and limits on both |
|
Pod is not Guaranteed QoS, or kubelet lacks static CPU policy |
Check QoS class and kubelet configuration |
No |
Pod is Burstable — tuning is skipped for non-Guaranteed Pods |
Fix QoS class |
|
Kubelet not using static policy, or CPU request is fractional |
Enable |
Latency spikes despite pinning |
IRQ affinity not set — perftune job failed or did not run |
Verify |
See also¶
Configure CPU pinning — how to set up CPU pinning.