IO:XactSync
El evento IO:XactSync
ocurre cuando la base de datos espera que el subsistema de almacenamiento de Aurora acuse de recibo la confirmación de una transacción regular, o la confirmación o restauración de una transacción preparada. Una transacción preparada es parte del soporte de PostgreSQL para una confirmación en dos fases. Este evento también puede ocurrir cuando una consulta está esperando que se confirme otra transacción, en concreto en los casos en los que la confirmación automática está desactivada. En tales casos, puede parecer que las actualizaciones están esperando en XactSync aunque aún no se hayan confirmado.
Versiones del motor admitidas
Esta información de eventos de espera es compatible con todas las versiones de Aurora PostgreSQL.
Contexto
El evento IO:XactSync
indica que la instancia pasa tiempo esperando que el subsistema de almacenamiento de Aurora confirme que los datos de la transacción fueron procesados.
Causas probables del aumento de las esperas
Cuando el evento IO:XactSync
aparece más de lo normal, lo que posiblemente indica un problema de rendimiento, las causas típicas son las siguientes:
- Saturación de la red
-
El tráfico entre los clientes y la instancia de base de datos o el tráfico hacia el subsistema de almacenamiento podría ser demasiado pesado para el ancho de banda de la red.
- Presión de la CPU
-
Una gran carga de trabajo podría evitar que el daemon de almacenamiento de Aurora obtenga suficiente tiempo de CPU.
Acciones
Recomendamos diferentes acciones en función de las causas del evento de espera.
Temas
Monitorear los recursos
Para determinar la causa del aumento de los eventos IO:XactSync
, verifique las siguientes métricas:
WriteThroughput
yCommitThroughput
: los cambios en el rendimiento de escritura o rendimiento de confirmación pueden mostrar un aumento de la carga de trabajo.WriteLatency
yCommitLatency
: los cambios en la latencia de escritura o en la latencia de confirmación pueden mostrar que se solicita al subsistema de almacenamiento que realice más trabajo.CPUUtilization
: si el uso de la CPU de la instancia está por encima del 90 por ciento, el daemon de almacenamiento de Aurora puede no recibir suficiente tiempo en la CPU. En este caso, el rendimiento de E/S se reduce.
Para obtener información acerca de estas métricas, consulte Métricas de nivel de instancia para Amazon Aurora.
Escalar verticalmente la CPU
Para solucionar los problemas de falta de CPU, considere la posibilidad de cambiar a un tipo de instancia con más capacidad de CPU. Para obtener información sobre la capacidad de la CPU para una clase de instancia de base de datos, consulte Especificaciones de hardware para clases de instancia de base de datos para Aurora.
Aumentar el ancho de banda de la red
Para determinar si la instancia se encuentra en los límites del ancho de banda de la red, verifique los siguientes eventos de espera:
IO:DataFileRead
,IO:BufferRead
,IO:BufferWrite
yIO:XactWrite
: las consultas que utilizan grandes cantidades de E/S pueden generar más de estos eventos de espera.Client:ClientRead
yClient:ClientWrite
: las consultas con grandes cantidades de comunicación con el cliente pueden generar más de estos eventos de espera.
Si el ancho de banda de la red es un problema, considere cambiar a un tipo de instancia con más ancho de banda de red. Para obtener información sobre el rendimiento de la red para una clase de instancia de base de datos, consulte Especificaciones de hardware para clases de instancia de base de datos para Aurora.
Reducir el número de confirmaciones
Para reducir el número de confirmaciones, combine las instrucciones en bloques de transacciones.