

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

O evento `IO:XactSync` ocorre quando o banco de dados está aguardando o subsistema de armazenamento do Aurora confirmar uma transação regular ou a reversão de uma transação preparada. Uma transação preparada faz parte do suporte do PostgreSQL para uma confirmação em duas fases. Esse evento também pode ocorrer quando uma consulta está aguardando a confirmação de outra transação, principalmente nos casos em que a confirmação automática está desativada. Nesses cenários, pode parecer que as atualizações estão aguardando XactSync, mesmo que ainda não tenham sido confirmadas.

**Topics**
+ [Versões compatíveis do mecanismo](#apg-waits.xactsync.context.supported)
+ [Contexto](#apg-waits.xactsync.context)
+ [Possíveis causas do maior número de esperas](#apg-waits.xactsync.causes)
+ [Ações](#apg-waits.xactsync.actions)

## Versões compatíveis do mecanismo
<a name="apg-waits.xactsync.context.supported"></a>

Essas informações de eventos de espera têm suporte para todas as versões do Aurora PostgreSQL.

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

O evento `IO:XactSync` indica que a instância está gastando tempo à espera do subsistema de armazenamento do Aurora para confirmar que os dados da transação foram processados.

## Possíveis causas do maior número de esperas
<a name="apg-waits.xactsync.causes"></a>

Quando o evento `IO:XactSync` aparece mais que o normal, possivelmente indicando um problema de performance, as causas típicas incluem:

**Saturação da rede**  
O tráfego entre os clientes e a instância de banco de dados ou o tráfego para o subsistema de armazenamento pode ser muito pesado para a largura de banda da rede.

**Pressão da CPU**  
Uma workload pesada pode estar impedindo que o daemon de armazenamento do Aurora obtenha tempo suficiente de CPU.

## Ações
<a name="apg-waits.xactsync.actions"></a>

Recomenda-se ações distintas, dependendo dos motivos do evento de espera.

**Topics**
+ [Monitorar seus recursos](#apg-waits.xactsync.actions.monitor)
+ [Aumentar a escala da CPU verticalmente](#apg-waits.xactsync.actions.scalecpu)
+ [Aumentar a largura de banda da rede](#apg-waits.xactsync.actions.scalenetwork)
+ [Reduza o número de confirmações](#apg-waits.xactsync.actions.commits)

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

Para determinar a causa do aumento de eventos `IO:XactSync`, verifique as seguintes métricas:
+ `WriteThroughput` e `CommitThroughput`: mudanças na taxa de transferência de gravação ou na taxa de transferência de confirmação podem indicar um aumento na workload.
+ `WriteLatency` e `CommitLatency`: mudanças na latência de gravação ou latência de confirmação podem indicar que o subsistema de armazenamento está sendo solicitado a trabalhar mais.
+ `CPUUtilization`: se a utilização da CPU da instância estiver acima de 90%, o daemon de armazenamento do Aurora talvez não esteja obtendo tempo suficiente na CPU. Nesse caso, a performance da E/S diminuirá.

Para obter informações sobre essas métricas, consulte [Métricas no nível da instância do Amazon Aurora](Aurora.AuroraMonitoring.Metrics.md#Aurora.AuroraMySQL.Monitoring.Metrics.instances).

### Aumentar a escala da CPU verticalmente
<a name="apg-waits.xactsync.actions.scalecpu"></a>

Para solucionar problemas de falta de CPU, considere mudar para um tipo de instância com mais capacidade de CPU. Para obter informações sobre a capacidade de CPU de uma classe de instância de banco de dados, consulte [Especificações de hardware para classes de instância de banco de dadospara o Aurora](Concepts.DBInstanceClass.Summary.md).

### Aumentar a largura de banda da rede
<a name="apg-waits.xactsync.actions.scalenetwork"></a>

Para determinar se a instância está atingindo seus limites de largura de banda de rede, verifique os seguintes eventos de espera: 
+ `IO:DataFileRead`, `IO:BufferRead`, `IO:BufferWrite` e `IO:XactWrite`: consultas que utilizam grandes quantidades de E/S podem gerar mais desses eventos de espera.
+ `Client:ClientRead` e `Client:ClientWrite`: consultas com grandes quantidades de comunicação com o cliente podem gerar mais desses eventos de espera.

Se a largura de banda da rede for um problema, considere mudar para um tipo de instância com maior largura de banda de rede. Para obter informações sobre a performance de rede de uma classe de instância de banco de dados, consulte [Especificações de hardware para classes de instância de banco de dadospara o Aurora](Concepts.DBInstanceClass.Summary.md).

### Reduza o número de confirmações
<a name="apg-waits.xactsync.actions.commits"></a>

Para reduzir o número de confirmações, combine instruções em blocos de transações.