Ricevo una “ThrottlingException” con le operazioni di Amazon DynamoDB Accelerator (DAX). Cosa significa e come posso risolverla?
Breve descrizione
DAX monitora l'utilizzo della CPU dei suoi cluster. Quando l'utilizzo della CPU è troppo elevato, DAX limita la richiesta. Pertanto, una ThrottlingException limita la velocità con cui DAX accetta le richieste di operazioni di lettura o scrittura.
Per ridurre la possibilità che DAX limiti le operazioni, segui le best practice riportate di seguito per ridurre l'utilizzo della CPU.
Risoluzione
Utilizza le seguenti metriche in Amazon CloudWatch per monitorare l'utilizzo della CPU da parte di DAX e prevenire la limitazione (della larghezza di banda della rete):
- Monitora la metrica ThrottledRequestCount per identificare il numero di richieste limitate da parte di DAX.
- Usa la metrica CPUUtilization per identificare la percentuale di utilizzo della CPU del nodo o del cluster.
- Usa TotalRequestCount per identificare se c'è un aumento del numero di richieste gestite dal cluster.
- Utilizza metriche specifiche dell'operazione come GetItemRequestCount, PutItemRequestCount, QueryRequestCount o ScanRequestCount per identificare i picchi nelle richieste di qualsiasi operazione.
- Usa ItemCacheMisses, QueryCacheMisses o ScanCacheMisses per identificare un aumento degli errori nella cache.
Per ulteriori informazioni sulle metriche che è possibile utilizzare, consulta Metriche DAX.
Se l'utilizzo della CPU è costantemente elevato e si verifica un aumento del traffico di lettura o scrittura verso il cluster, allora ridimensiona il cluster verso l'esterno o verso l'alto:
- Se l'utilizzo della CPU è elevato e si verifica un aumento del traffico di lettura con pochi errori nella cache, allora ridimensiona il cluster. Per ulteriori informazioni, consulta Scalabilità orizzontale.
- Se l'utilizzo della CPU è elevato e si verifica un aumento del traffico di scrittura con errori di cache elevati, allora espandi il cluster. Per ulteriori informazioni, consulta Scalabilità verticale.