

# IO:XactSync
<a name="apg-waits.xactsync"></a>

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.

**Topics**
+ [Versiones del motor admitidas](#apg-waits.xactsync.context.supported)
+ [Contexto](#apg-waits.xactsync.context)
+ [Causas probables del aumento de las esperas](#apg-waits.xactsync.causes)
+ [Acciones](#apg-waits.xactsync.actions)

## Versiones del motor admitidas
<a name="apg-waits.xactsync.context.supported"></a>

Esta información de eventos de espera es compatible con todas las versiones de Aurora PostgreSQL.

## Contexto
<a name="apg-waits.xactsync.context"></a>

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
<a name="apg-waits.xactsync.causes"></a>

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
<a name="apg-waits.xactsync.actions"></a>

Recomendamos diferentes acciones en función de las causas del evento de espera.

**Topics**
+ [Monitorear los recursos](#apg-waits.xactsync.actions.monitor)
+ [Escalar verticalmente la CPU](#apg-waits.xactsync.actions.scalecpu)
+ [Aumentar el ancho de banda de la red](#apg-waits.xactsync.actions.scalenetwork)
+ [Reducir el número de confirmaciones](#apg-waits.xactsync.actions.commits)

### Monitorear los recursos
<a name="apg-waits.xactsync.actions.monitor"></a>

Para determinar la causa del aumento de los eventos `IO:XactSync`, verifique las siguientes métricas:
+ `WriteThroughput` y `CommitThroughput`: los cambios en el rendimiento de escritura o rendimiento de confirmación pueden mostrar un aumento de la carga de trabajo.
+ `WriteLatency` y `CommitLatency`: 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](Aurora.AuroraMonitoring.Metrics.md#Aurora.AuroraMySQL.Monitoring.Metrics.instances).

### Escalar verticalmente la CPU
<a name="apg-waits.xactsync.actions.scalecpu"></a>

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](Concepts.DBInstanceClass.Summary.md).

### Aumentar el ancho de banda de la red
<a name="apg-waits.xactsync.actions.scalenetwork"></a>

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` y `IO:XactWrite`: las consultas que utilizan grandes cantidades de E/S pueden generar más de estos eventos de espera.
+ `Client:ClientRead` y `Client: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](Concepts.DBInstanceClass.Summary.md).

### Reducir el número de confirmaciones
<a name="apg-waits.xactsync.actions.commits"></a>

Para reducir el número de confirmaciones, combine las instrucciones en bloques de transacciones.