Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ GaussDB(DWS)/ Guía de gestión/ Monitoreo y alarmas/ Alarmas/ Manejo de alarmas/ DWS_2000000018 Congestión de colas en el grupo de recursos predeterminado del clúster
Actualización más reciente 2024-06-12 GMT+08:00

DWS_2000000018 Congestión de colas en el grupo de recursos predeterminado del clúster

Descripción

GaussDB(DWS) utiliza grupo de recurso para controlar los recursos de memoria, E/S y CPU, gestiona y asigna recursos en función de las prioridades de tareas y gestiona las cargas de servicios de usuario. Cuando los recursos son insuficientes, algunas sentencias SQL tienen que poner en cola para esperar a que se ejecuten otras sentencias. Para obtener más información, consulte Colas CCN bajo gestión dinámica de la carga.

GaussDB(DWS)comprueba la cola en el grupo de recursos predeterminado default_pool cada 5 minutos. Esta alarma se genera cuando hay sentencias SQL que se ponen en cola durante mucho tiempo (20 minutos por defecto y configurables). Esta alarma se borra automáticamente cuando ya no se cumple el umbral de alarma.

Si las sentencias SQL bloqueadas que pueden desencadenar la alarma persisten, la alarma se genera de nuevo después de 24 horas (configurable).

Atributos

ID de alarma

Gravedad de alarma

Borrar automáticamente

DWS_2000000018

Crítica

Parámetros

Parámetro

Descripción

Source

Indica el nombre del sistema para el que se genera la alarma y el tipo de alarma detallado.

Cluster Name

ID del clúster para el que se genera la alarma

Location Information

ID y nombre del clúster para el que se genera la alarma

Alarm Information

CloudService indica el servicio en la nube para el que se genera la alarma, incluidos el nombre del servicio, el ID del recurso, el nombre del recurso, la hora de la primera alarma y la información de alarma formateada. Ejemplo: CloudServiceDWS, resourceId=xxxx-xxxx-xxxx-xxxx, resourceIdName=test_dws, first_alarm_time:2023-01-11:19:02:09. El grupo de recursos predeterminado de clúster test_dws se bloquea en los últimos 20 minutos.

Time

Indica la hora en la que se generó la alarma.

Status

Indica el estado actual de una alarma.

Impacto en el sistema

Cuando se bloquea el grupo de recursos predeterminado, también se pueden bloquear todas las consultas complejas (memoria estimada mayor o igual a 32 MB) asociadas con el grupo de recursos predeterminado en el clúster. Las consultas de la cola solo se activan cuando se completan las consultas en ejecución.

Causas posibles

  • El uso estimado de la memoria de consulta es demasiado grande. Como resultado, el uso estimado acumulado de memoria excede el límite superior de la memoria dinámica disponible, provocando la puesta en cola de CCN.
  • La competencia por recursos públicos como CPU y E/S deteriora el rendimiento de las consultas en ejecución.

Procedimiento de manejo

  1. Comprobar si la cola se debe a una memoria estimada demasiado grande.

    Rectifique el error haciendo referencia a Cola CCN bajo gestión de carga dinámica.

  2. Comprobar si la memoria desponible del clúster es normal.

    1. Inicie sesión en la consola GaussDB(DWS).
    2. En la página Alarms, seleccione el clúster actual en la lista desplegable de selección de clúster en la esquina superior derecha y vea la información de alarma del clúster en los últimos siete días. Busque el nombre del clúster que activa la alarma en función de la información de ubicación.

    3. En la página Clusters, busque la fila que contiene el clúster para el que se genera la alarma y haga clic en Monitoring Panel en la columna Operation.

    4. Elija Monitoring > Node Monitoring > Overview para ver el uso de memoria de cada nodo del clúster actual. Si desea ver la información de supervisión histórica sobre el uso de memoria de un nodo, haga clic en a la derecha para ver el uso de memoria en las últimas 1, 3, 12 o 24 horas.

      Si el uso de memoria del clúster es bajo (por ejemplo, inferior al 50%), la alarma puede generarse porque el uso estimado de memoria de las consultas es demasiado grande. En este caso, realice la operación Analizar en tablas relacionadas.

  3. Comprobar la competición de otros recursos.

    1. Consulte la sección 2 para comprobar el uso de CPU, E/S y red del clúster.
    2. Si la base de datos está completamente cargada, consulte Top SQL a tiempo real y elimine las sentencias que ocupan un gran número de recursos.

  4. Comprobar si se envían demasiadas consultas en un corto periodo de tiempo.

    1. Ejecute la siguiente sentencia SQL para consultar el estado de ejecución de la tarea:
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      SELECT 
         s.resource_pool AS rpname, s.node_group, 
         count(1) AS session_cnt, 
         SUM(CASE WHEN a.enqueue = 'waiting in global queue' THEN 1 ELSE 0 END) AS global_wait, 
         SUM(CASE WHEN s.lane= 'fast' AND a.state = 'active' AND (a.enqueue IS NULL OR a.enqueue = 'no waiting queue') THEN 1 ELSE 0 END) AS fast_run, 
         SUM(CASE WHEN s.lane= 'fast' AND a.enqueue = 'waiting in respool queue' THEN 1 ELSE 0 END) AS fast_wait, 
         SUM(CASE WHEN s.lane= 'slow' AND a.state = 'active' AND (a.enqueue IS NULL OR a.enqueue = 'no waiting queue') THEN 1 ELSE 0  END) AS slow_run, 
         SUM(CASE WHEN s.lane= 'slow' AND (a.enqueue = 'waiting in ccn queue' OR a.enqueue = 'waiting in respool queue') THEN 1 ELSE 0  END) AS slow_wait, 
         SUM(CASE WHEN (a.enqueue IS NULL OR a.enqueue = 'no waiting queue') AND a.state = 'active' THEN statement_mem ELSE 0 END) AS est_mem 
      FROM pgxc_session_wlmstat s,pgxc_stat_activity a 
      WHERE s.threadid=a.pid(+) AND s.attribute != 'Internal' 
      GROUP BY 1,2;
      
      A continuación se muestra un ejemplo del posible resultado de ejecución de la sentencia SQL:
      1
      2
      3
      4
      5
          rpname    |  node_group  | session_cnt | global_wait | fast_run | fast_wait | slow_run | slow_wait | est_mem 
      --------------+--------------+-------------+-------------+----------+-----------+----------+-----------+---------
       default_pool | installation |           6 |           0 |        0 |         0 |        0 |         0 |       0
       root         | installation |           1 |           0 |        0 |         0 |        0 |         0 |       0
      (2 rows)
      
    • En el resultado de la consulta, si el valor de slow_wait correspondiente a default_pool no es 0, el clúster está completamente cargado debido a demasiados trabajos. Como resultado, se genera una alarma. En este caso, puede localizar la fila que contiene el clúster especificado en la consola, elija Monitoring Panel en la columna Operation . En la página mostrada, elija Monitoring > Queries para consultar la tarea con el tiempo de ejecución más largo y eliminar la tarea.

    • Si la alarma se genera con frecuencia, se recomienda programar los servicios en horas no pico o crear nuevos grupos de recursos para gestionar los recursos del sistema de una manera más precisa. Para obtener más información, consulte Creación de un grupo de recursos.

Borrar alarmas.

Esta alarma se borra automáticamente cuando se libera el bloqueo del grupo de recursos.

Para ver las sentencias SQL bloqueadas históricas, busque la fila que contiene el clúster de destino en la consola, elija Monitoring Panel en la columna Operation. En la página mostrada, elija Monitoring > History para consultar el tiempo de ejecución de las sentencias SQL históricas.