Todos los productos
Search
Centro de documentos

Tair (Redis® OSS-Compatible):Suggestions for handling common Latency events

Última actualización: Sep 03, 2026

Utilice esta referencia para identificar la causa raíz de un evento de latencia en Redis y aplicar la solución adecuada.

Antes de comenzar

Revise estas causas comunes antes de analizar eventos específicos:

  1. Comandos lentos. Los comandos que escanean todas las claves (por ejemplo, KEYS) bloquean el hilo principal. Revise los registros de consultas lentas para identificarlos. Consulte Query slow query logs.

  2. Claves grandes. Las claves grandes ralentizan la expulsión y la expiración. Utilice el análisis de claves sin conexión para identificarlas. Consulte Use the offline key analysis feature.

  3. Alto uso de memoria. Cuando la memoria ocupada supera el límite de maxmemory, los ciclos de expulsión se ejecutan con frecuencia. Consulte Change the configurations of an instance.

Contexto

Redis 2.8.13 introdujo el monitoreo de latencia, que recopila datos de los últimos 160 segundos y registra únicamente el evento de mayor latencia por segundo.

Tair (compatible con Redis OSS) proporciona latency insights, una alternativa avanzada que registra hasta 27 eventos con las duraciones de ejecución de todos los comandos, y conserva las estadísticas de latencia de los últimos tres días. Para conocer los nombres de los eventos y sus umbrales de latencia, consulte Common special events.

Eventos comunes de latencia

Algunos eventos tienen una relación padre-hijo:

  • **AofWrite** es el evento padre. Cada vez que se escriben datos en un archivo de solo anexión (AOF), Redis registra AofWrite junto con exactamente uno de tres eventos hijos: AofWriteAlone, AofWriteActiveChild o AofWritePendingFsync. Para encontrar la causa específica, analice el evento hijo.

  • **EvictionCycle** es el evento padre para la expulsión. Analice EvictionDel y EvictionLazyFree en conjunto para determinar qué está provocando la latencia de expulsión.

Evento

Qué mide

Causa común

Qué hacer

EvictionCycle

Tiempo de un ciclo completo de expulsión, incluida la selección de claves, la eliminación y la espera del hilo en segundo plano

Múltiples factores: analice EvictionDel y EvictionLazyFree para precisar la causa

Revise el uso de claves y optimice los datos de negocio. Si las expulsiones ocurren con frecuencia, escale la instancia para mantener el uso de memoria por debajo de maxmemory.

EvictionDel

Tiempo para eliminar claves durante un ciclo de expulsión

Expulsión de claves grandes

Evite las claves grandes. Habilite la expulsión asíncrona al establecer lazyfree-lazy-eviction en yes. Si las expulsiones ocurren con frecuencia, escale la instancia.

EvictionLazyFree

Tiempo de espera a que los hilos en segundo plano liberen memoria

No hay claves expulsables disponibles mientras los hilos en segundo plano liberan memoria (por ejemplo, al eliminar claves grandes)

Ajuste la directiva de expulsión de memoria mediante el parámetro maxmemory-policy. Si las expulsiones ocurren con frecuencia, escale la instancia.

ExpireCycle

Tiempo de un ciclo de expiración de claves

Eliminación de claves grandes

Evite las claves grandes. Habilite la expiración asíncrona al establecer lazyfree-lazy-expire en yes. Limpie regularmente los datos expirados desde la consola.

ExpireDel

Tiempo para eliminar claves durante un ciclo de expiración

Eliminación de claves grandes

Evite las claves grandes.

AofWrite

Tiempo total para escribir datos en archivos AOF

Múltiples factores: analice AofWriteAlone, AofWriteActiveChild y AofWritePendingFsync para precisar la causa

Si no se requiere persistencia de datos, deshabilite AOF al establecer appendonly en no.

AofWriteAlone

Tiempo de una escritura AOF sin procesos hijos simultáneos ni fsync pendientes

Gran volumen de escritura o cuellos de botella en el rendimiento del disco

Si no se requiere AOF, establezca appendonly en no.

AofWriteActiveChild

Tiempo de una escritura AOF mientras los procesos hijos también escriben en el disco

E/S de disco de procesos hijos que compite con las escrituras AOF

Si no se requiere AOF, establezca appendonly en no.

AofWritePendingFsync

Tiempo de una escritura AOF mientras hay un fsync en segundo plano en progreso

Fsync en segundo plano que compite con las escrituras AOF

Si no se requiere AOF, establezca appendonly en no.

Commands

Tiempo de comandos regulares (no etiquetados como rápidos)

Comandos que recorren todos los datos, como KEYS

Revise los registros de consultas lentas para encontrar comandos de larga duración. Utilice el análisis de claves sin conexión para comprobar si existen claves grandes.

FastCommand

Tiempo de comandos rápidos con complejidad O(1) u O(log N)

Comandos rápidos que copian grandes cantidades de datos (por ejemplo, GET en una clave grande)

Identifique y divida las claves grandes. Consulte Identify and handle large keys and hotkeys.

Fork

Tiempo para llamar a fork()

Reescrituras de AOF

Si no se requiere persistencia de datos, deshabilite AOF al establecer appendonly en no.

Pasos siguientes