IO:XactSync - Amazon Aurora

IO:XactSync

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.

Versões compatíveis do mecanismo

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

Contexto

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

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

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

Monitorar seus recursos

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.

Aumentar a escala da CPU verticalmente

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 dados para o Aurora.

Aumentar a largura de banda da rede

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 dados para o Aurora.

Reduza o número de confirmações

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