Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Análisis de árboles de bloqueos para Amazon Aurora PostgreSQL mediante Información sobre las bases de datos de CloudWatch

Modo de enfoque
Análisis de árboles de bloqueos para Amazon Aurora PostgreSQL mediante Información sobre las bases de datos de CloudWatch - Amazon CloudWatch

Para solucionar los problemas de rendimiento causados por los bloqueos, puede analizar los árboles de bloqueos de las bases de datos de Amazon Aurora PostgreSQL mediante Información sobre las bases de datos de CloudWatch de la siguiente manera.

  • Menú desplegable Divididos por: elija las dimensiones Bloqueo de objeto, Bloqueo de sesión o Bloqueo de SQL en el diagrama Carga de la base de datos para ver cómo los distintos bloqueadores principales contribuyen a la carga de la base de datos a lo largo del tiempo. Con el diagrama de carga de la base de datos, puede analizar si los principales bloqueadores son constantes o si cambian con frecuencia. A continuación, puede solucionar los problemas de los bloqueadores.

  • Pestaña Bloqueo: seleccione Análisis de carga de base de datos y, a continuación, elija la pestaña Bloqueo para ver información sobre la contención de bloqueos en la base de datos.

La pestaña de análisis de bloqueos proporciona información sobre la contención de bloqueos de su base de datos. La visualización del árbol de bloqueos muestra las relaciones y dependencias entre las solicitudes de bloqueo de distintas sesiones.

Información sobre las bases de datos captura instantáneas cada 15 segundos. Las instantáneas muestran los datos de bloqueo de su base de datos en un momento determinado.

nota

Cuando CloudWatch detecta un alto nivel de bloqueo, CloudWatch muestra el aviso Se detectó un bloqueo alto en la pestaña Bloqueo. CloudWatch detecta un alto nivel de bloqueo si CloudWatch toma una instantánea de bloqueo por cada intervalo de 15 segundos durante 15 minutos consecutivos.

Cada nodo del árbol representa una sesión específica. El nodo principal es una sesión que bloquea sus nodos secundarios.

Para analizar árboles de bloqueos, use el siguiente procedimiento.

Análisis de árboles de bloqueos
  1. Inicie sesión en la AWS Management Console y abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  2. Elija Información.

  3. Elija Información sobre bases de datos.

  4. Elija la vista Instancia de base de datos.

  5. Elija una instancia de base de datos.

  6. Seleccione la pestaña Análisis de carga de bases de datos.

  7. Elija la pestaña Bloqueo.

    Para ver los datos de bloqueo de una instancia de base de datos, elija un periodo de 1 día o menos.

  8. Elija una ventana de instantáneas. De forma predeterminada, Información sobre las bases de datos elige la ventana de instantáneas con las sesiones más bloqueadas.

    Tabla de análisis de bloqueos
  9. Para ver los datos de bloqueo de una instantánea, elija el momento en que Información sobre las bases de datos tomó la instantánea.

  10. Para expandir un árbol de bloqueos, elija la flecha situada junto al identificador de la sesión.

    Árbol de bloqueos expandido

Datos de bloqueo de instantáneas

Información sobre las bases de datos proporciona la siguiente información para cada solicitud de bloqueo. Para ver las columnas que no están habilitadas de forma predeterminada, seleccione el icono de configuración de la tabla Árboles de bloqueos y active las demás columnas.

Nombre de la columna Definición Columna predeterminada Notas

session_id

El identificador único de la sesión.

El session_id se deriva de HEX(pg_stat_activity.backend_start).HEX(pg_locks.pid).

pid

El PID de este backend.

pg_locks.pid

blocked_sessions_count

El número de sesiones bloqueadas por este bloqueo.

El blocked_sessions_count se deriva del número de identificadores de sesión bloqueados por este bloqueo.

last_query_executed

La última consulta ejecutada por esta sesión. En el caso de los bloqueadores, puede que no sea la consulta la que contenga el bloqueo.

pg_stat_activity.query

wait_event

El nombre del evento de espera si el backend está esperando actualmente; de lo contrario, el valor es NULL.

pg_stat_activity.wait_event

blocking_time_(In Seconds)

El tiempo (en segundos) transcurrido desde el inicio de este bloqueo.

El blocking_time_(In Seconds) se deriva de la hora de inicio de la transacción en espera (pg_locks.waitstart) para la primera persona que espera.

blocking_mode

El modo de bloqueo que mantiene la sesión de bloqueo.

No

pg_locks.mode

waiting_mode

El modo de bloqueo solicitado por la sesión de espera.

No

pg_locks.mode

application

El nombre de la aplicación que está conectada a este backend.

No

pg_stat_activity.application_name

blocking_txn_start_time

La hora de inicio de la transacción de bloqueo o valor nulo si no hay ninguna transacción activa.

No

pg_stat_activity.xact_start

waiting_start_time

La hora a la que una sesión de usuario en espera comenzó a esperar este bloqueo; valor nulo si el bloqueo se mantiene.

No

pg_locks.waitstart

session_start_time

La hora en que se inició una sesión de usuario.

No

pg_stat_activity.backend_start

state

El estado de un backend.

No

pg_stat_activity.state

wait_event_type

El tipo de evento de espera que está esperando esta sesión.

No

pg_stat_activity.wait_event_type

last_query_exec_time

La hora en que comenzó la última consulta.

No

pg_stat_activity.query_start

user

El nombre del usuario que inició sesión en este backend.

No

pg_stat_activity.usename

host

El nombre del host del cliente conectado, según lo informado por una búsqueda inversa de DNS de client_addr. Este campo solo será distinto de un valor nulo para las conexiones IP y solo cuando log_hostname esté habilitado.

No

pg_stat_activity.client_hostname

port

El número de puerto TCP que el cliente usa para comunicarse con este backend o -1 si se usa un socket Unix. Si este campo es nulo, indica que se trata de un proceso interno del servidor.

No

pg_stat_activity.client_port

client_address

La dirección IP del cliente conectado a este backend. Si este campo es nulo, indica que el cliente está conectado a través de un socket Unix en el servidor o que se trata de un proceso interno, como el “autovacío”.

No

pg_stat_activity.client_addr

granted

El valor es verdadero si se mantiene el bloqueo y falso si se espera el bloqueo.

No

pg_locks.granted

waiting_tuple

El número de tupla al que apunta el bloqueo dentro de la página; el valor es nulo si el destino no es una tupla.

No

pg_locks.tuple

waiting_page

El número de página al que apunta el bloqueo dentro de la relación; el valor es nulo si el destino no es una página de relación o tupla.

No

pg_locks.page

waiting_transaction_id

El identificador de la transacción a la que apunta el bloqueo; el valor es nulo si el destino no es un identificador de transacción.

No

pg_locks.transactionid

waiting_relation

El OID de la relación a la que apunta el bloqueo; el valor es nulo si el destino no es una relación o parte de una relación.

No

pg_locks.relation

waiting_object_id

El OID del destino de bloqueo en su catálogo de sistema; el valor es nulo si el destino no es un objeto de base de datos general.

No

pg_locks.objid

waiting_database_id

El OID de la base de datos en la que existe el destino de bloqueo; el valor es cero si el destino es un objeto compartido o nulo si el destino es un identificador de transacción.

No

pg_locks.database

waiting_database_name

El nombre de la base de datos donde se encuentra el destino del bloqueo.

No

pg_stat_activity.datname

waiting_locktype

El tipo de objeto bloqueable: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, advisory o applytransaction.

No

pg_locks.locktype

is_fastpath

El valor es verdadero si el bloqueo se tomó por la ruta rápida y falso si se tomó de la tabla de bloqueos principal.

No

pg_locks.fastpath

Para obtener más información sobre los valores de las vistas pg_stat_activity y pg_locks, consulte los temas siguientes de la documentación de PostgreSQL.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.