Monitoraggio di DAX
È possibile monitorare le metriche chiave, ad esempio il rapporto di riscontri nella cache, per garantire prestazioni ottimali del cluster DAX, diagnosticare i problemi e determinare quando è necessario scalare il cluster. Il controllo regolare delle metriche chiave aiuta a mantenere prestazioni, stabilità ed efficienza in termini di costi scalando il cluster in base ai requisiti del carico di lavoro. Per ulteriori informazioni sul monitoraggio di DAX, consulta Monitoraggio della produzione.
L’elenco seguente presenta alcune delle metriche chiave da monitorare:
-
Rapporti di riscontri nella cache: mostra l’efficacia con cui DAX serve i dati archiviati nella cache, riducendo la necessità di accedere alle tabelle DynamoDB sottostanti. Un numero basso di mancati riscontri nella cache per il cluster indica una buona efficienza di caching. Tuttavia, un numero basso di riscontri nella cache suggerisce che potrebbe essere necessario riesaminare l’impostazione del TTL di caching, oppure che il carico di lavoro non è adatto al caching.
Usa Amazon CloudWatch per calcolare il rapporto di riscontri nella cache del cluster DAX. Confronta le metriche
ItemCacheHits,ItemCacheMisses,QueryCacheHitseQueryCacheMissese per ottenere questo rapporto. La formula seguente mostra come viene calcolato il rapporto di riscontri nella cache. Per calcolare il rapporto utilizzando questa formula, dividi i riscontri nella cache per la somma dei riscontri nella cache e dei mancati riscontri.Cache hit ratio = Cache hits / (Cache hits + Cache misses)Il rapporto di riscontri nella cache è un numero compreso tra 0 e 1, rappresentato in percentuale. Una percentuale più alta indica un migliore utilizzo complessivo della cache.
-
ErrorRequestCount: il numero di richieste che hanno provocato errori utente segnalati dal nodo o dal cluster.
ErrorRequestCountinclude le richieste che sono state limitate dal nodo o dal cluster. Il monitoraggio degli errori utente può aiutare a identificare configurazioni errate di dimensionamento o modelli di elementi/partizioni caldi nell’applicazione. -
Latenze delle operazioni: il monitoraggio della latenza delle operazioni di lettura e scrittura da e verso il cluster DAX può aiutare a identificare i punti deboli delle prestazioni. L’aumento delle latenze potrebbe indicare problemi relativi alla configurazione del cluster DAX, alla rete o la necessità di scalare.
-
Utilizzo di rete: monitora le metriche
NetworkBytesIneNetworkBytesOute per controllare il traffico di rete del cluster DAX. Un aumento imprevisto del throughput di rete potrebbe significare un maggior numero di richieste da parte dei client o modelli di query inefficienti che causano il trasferimento di una maggiore quantità di dati.Il monitoraggio dell’utilizzo di rete consente di gestire i costi del cluster DAX e garantisce che la rete non diventi un ostacolo alle prestazioni del cluster.
-
Tasso di espulsione: mostra la frequenza con cui gli elementi vengono rimossi dalla cache per fare spazio a nuovi elementi. Se il tasso di espulsione aumenta nel tempo, è possibile che la cache sia troppo piccola o che la strategia di caching non sia efficace.
Monitora la metrica
EvictedSizein CloudWatch per determinare se la dimensione della cache è adeguata al carico di lavoro. Se la dimensione totale degli elementi espulsi continua a crescere, potrebbe essere necessario aumentare verticalmente il cluster DAX per ospitare una cache più grande. -
Utilizzo della CPU: si riferisce alla percentuale di utilizzo della CPU del nodo o del cluster. Si tratta di una metrica di fondamentale monitoraggio per qualsiasi database o sistema di caching. L’elevato utilizzo della CPU può comportare un sovraccarico del cluster DAX e la necessità di dimensionamento per gestire l’aumento della domanda.
Monitora la metrica
CPUUtilizationper un cluster DAX. Se l’utilizzo della CPU si avvicina o supera costantemente il 70 – 80%, è consigliabile aumentare verticalmente il cluster DAX come descritto nella sezione seguente.Se il numero di richieste inviate a DAX supera la capacità di un nodo, DAX limita il tasso con cui accetta le richieste aggiuntive restituendo una ThrottlingException. DAX valuta continuamente l’utilizzo della CPU da parte del cluster per determinare il volume di richieste che può elaborare mantenendo allo stesso tempo uno stato del cluster integro.
È possibile monitorare la metrica
ThrottledRequestCountche DAX pubblica in CloudWatch. Se queste eccezioni vengono visualizzate regolarmente, è consigliabile prendere in considerazione la possibilità di aumentare la dimensione del cluster.
Dimensionamento del cluster DAX attraverso i dati di monitoraggio
È possibile determinare se è necessario aumentare o diminuire verticalmente il cluster DAX monitorandone le metriche delle prestazioni.
-
Aumento verticale o orizzontale: se il cluster DAX presenta un elevato utilizzo della CPU, pochi riscontri nella cache (dopo l’ottimizzazione della strategia di caching) o latenze delle operazioni elevate, è necessario aumentare il cluster verticalmente. L’aggiunta di più nodi, detta anche aumento orizzontale, può aiutare a distribuire il carico in modo più uniforme. Per carichi di lavoro con un aumento delle scritture al secondo, potrebbe essere necessario scegliere nodi più potenti (aumento verticale).
-
Riduzione verticale: se si riscontrano costantemente bassi livelli di utilizzo della CPU e latenze delle operazioni inferiori alle soglie stabilite, è possibile che le risorse siano sovradimensionate. In questi casi, è opportuno ridurre verticalmente i nodi per abbassare i costi. È possibile ridurre il numero di nodi a 1 durante i periodi di utilizzo ridotto, ma non è possibile chiudere completamente il cluster.