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.
Tópicos
Monitorar seus recursos
Para determinar a causa do aumento de eventos IO:XactSync
, verifique as seguintes métricas:
WriteThroughput
eCommitThroughput
: 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
eCommitLatency
: 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
eIO:XactWrite
: consultas que utilizam grandes quantidades de E/S podem gerar mais desses eventos de espera.Client:ClientRead
eClient: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.