¿Cómo soluciono los problemas de alta presión de memoria de JVM en mi clúster de OpenSearch Service?

4 minutos de lectura
0

Mi clúster de Amazon OpenSearch Service tiene una gran presión de memoria de JVM y no sé cómo resolverlo.

Descripción corta

De forma predeterminada, OpenSearch Service utiliza el 50 % de la RAM de una instancia para montones de JVM de hasta 32 GiB de tamaño. La presión de la memoria de JVM especifica el porcentaje del montón de Java en un nodo de clúster. Las siguientes pautas indican el significado de los porcentajes de presión de memoria de JVM:

  • Si la presión de memoria de JVM alcanza el 75 %, OpenSearch Service activa el recopilador de elementos no utilizados Concurrent Mark Sweep (CMS) para los tipos de instancias x86 de Amazon Elastic Compute Cloud (Amazon EC2). Los tipos de instancias de Graviton Amazon EC2 basadas en ARM utilizan el recopilador de elementos no utilizados Garbage-First (G1), con breves pausas adicionales y desfragmentación de montones. La recopilación de elementos no utilizados es un proceso que consume mucha CPU. Si el uso de memoria sigue aumentando, es posible que se encuentre con ClusterBlockException, JVM OutOfMemoryError u otros problemas de rendimiento del clúster. Para obtener más información, consulte Recuperación de una carga de procesamiento elevada continua.
  • Si la presión de la memoria de JVM supera el 92 % durante 30 minutos, OpenSearch Service bloquea todas las operaciones de escritura.
  • Si la presión de la memoria de JVM alcanza el 100 %, JVM de OpenSearch Service se ha configurado para salir y, en última instancia, reiniciarse con OutOfMemory (OOM).

La presión elevada de la memoria de JVM puede deberse a las siguientes razones:

  • Picos en el número de solicitudes al clúster.
  • Agregaciones, comodines y selección de amplios intervalos de tiempo en las consultas.
  • Asignaciones de particiones desequilibradas entre nodos o demasiadas particiones en un clúster.
  • Crecimiento de las asignaciones de índices o datos de campo.
  • Tipos de instancias que no pueden gestionar cargas entrantes.

Resolución

Reduzca el tráfico al clúster para resolver los problemas de alta presión de memoria de JVM. Para reducir el tráfico al clúster, siga estas prácticas recomendadas:

  • Borre la caché de datos de campo con la operación de API POST /index_name/_cache/clear?fielddata=true.
    Nota: Borrar la caché puede interrumpir las consultas en curso.
  • No agregue campos de texto ni cambie el tipo de asignación a «palabra clave».
  • Escale el dominio para que el tamaño máximo del montón por nodo sea de 32 GB.
  • Active los logs de demora (sitio web de OpenSearch) para determinar las solicitudes defectuosas.
    Nota: Compruebe que la presión de la memoria de JVM sea inferior al 90 %. Para obtener más información sobre las búsquedas lentas en Elasticsearch, consulte Ajustes avanzados: encontrar y resolver búsquedas lentas en Elasticsearch en el sitio web de Elasticsearch.
  • Elija el número correcto de particiones para optimizar la búsqueda o la indexación. Para obtener más información sobre la indexación y el recuento de particiones, consulte ¿Cómo reequilibro la distribución desigual de particiones en mi clúster de Amazon OpenSearch Service?
  • Elimine los índices antiguos o no utilizados para reducir la cantidad de particiones.
  • Los usuarios avanzados pueden actualizar la asignación de la caché de datos del campo principal o solicitar la configuración del interruptor de circuito en función del caso de uso. Para obtener más información sobre los interruptores de circuito de JVM, consulte JVM OutOfMemoryError.

Para obtener más información sobre cómo solucionar problemas de alta presión de memoria en JVM, consulte ¿Por qué se bloqueó el nodo de OpenSearch Service?

Información relacionada

Solución de problemas de Amazon OpenSearch Service

¿Cómo puedo escalar verticalmente u horizontalmente un dominio de Amazon OpenSearch Service?

Introducción a Amazon Elasticsearch Service: ¿cuántas particiones necesito?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año