View a markdown version of this page

Considerazioni - Amazon ElastiCache

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Considerazioni

Potenziale impatto sull'utilizzo della CPU durante la scalabilità

Quando si esegue la scalabilità verso l'alto o verso il basso tra i tipi di nodi, occorre tenere presente il potenziale impatto sull'utilizzo della CPU legato alle funzionalità avanzate. I/O Per i tipi di nodo supportati, ElastiCache per impostazione predefinita, trasferisce le operazioni di rete I/O e TLS su thread dedicati, che utilizzano i core CPU aggiuntivi disponibili sul nodo. La disponibilità di queste funzionalità dipende dalla versione del motore e dai tipi di nodo:

  • Avanzato I/O (Redis 5.0.6+): la rete I/O viene gestita su thread dedicati, sfruttando core CPU aggiuntivi sui tipi di nodi supportati.

  • Offloading TLS (Redis 6.2.5+): le operazioni TLS vengono trasferite sui thread, utilizzando ulteriormente i core della CPU disponibili. I/O

  • I/O Multiplexing avanzato (Redis OSS 7.0.4+ o Valkey 7.2.6+): più connessioni client vengono multiplexate su thread, aumentando la velocità effettiva e ottimizzando l'utilizzo della CPU tra i core disponibili. I/O

Queste funzionalità distribuiscono l'elaborazione tra i core CPU aggiuntivi disponibili sul nodo, il che influisce sulle metriche della CPU nei seguenti modi:

Impatto sulla metrica di utilizzo della CPU

CPUUtilizationriflette l'utilizzo aggregato della CPU su tutti i core del nodo, inclusi i thread dedicati. I/O Poiché I/O le funzionalità avanzate consumano la CPU su questi core aggiuntivi, non CPUUtilization sono un indicatore affidabile della capacità e dei carichi effettivi del motore.

Impatto sulla metrica di utilizzo della CPU del motore

EngineCPUUtilizationmisura solo il thread principale del motore Redis o Valkey. Quando I/O le funzionalità avanzate sono attive, operazioni come l'elaborazione di rete I/O e TLS vengono trasferite dal thread principale ai thread dedicati. I/O Ciò significa che EngineCPUUtilization potrebbe diminuire perché il thread principale sta facendo meno lavoro. EngineCPUUtilizationriflette accuratamente la capacità effettiva del carico di lavoro e indica se l'istanza sta raggiungendo i limiti di elaborazione.

Scenari di scalabilità

  • Scalabilità da un tipo di nodo non supportato a uno supportato: quando I/O le funzionalità avanzate diventano attive sul nuovo tipo di nodo, CPUUtilization può aumentare man mano che i I/O thread dedicati iniziano a utilizzare core CPU aggiuntivi. Allo stesso tempo, EngineCPUUtilization può diminuire man mano che le operazioni vengono scaricate dal thread principale del motore.

  • Scalabilità all'interno dei tipi di nodi supportati: diventano disponibili core CPU aggiuntivi, il che potrebbe ridursi CPUUtilization man mano che I/O le operazioni vengono distribuite su più risorse.

  • Ridimensionamento all'interno dei tipi di nodi supportati: sono disponibili meno core CPU per gestire le I/O operazioni, il che potrebbe aumentare CPUUtilization man mano che la rete I/O, l'elaborazione TLS e la gestione delle connessioni competono per accaparrarsi risorse limitate.

Approccio di monitoraggio consigliato

Si consiglia di utilizzare EngineCPUUtilization anziché CPUUtilization monitorare. EngineCPUUtilizationmisura le prestazioni del thread principale del motore e indica con precisione se l'istanza si sta avvicinando ai limiti di elaborazione. CPUUtilizationpuò variare a seconda delle versioni del motore e dei tipi di nodi a causa dei cambiamenti nel modo in cui I/O le funzionalità avanzate utilizzano i core disponibili, il che la rende una metrica inaffidabile per la pianificazione della capacità.