IO:XactSync - Amazon Aurora

IO:XactSync

IO:XactSync 이벤트는 데이터베이스가 Aurora 스토리지 하위 시스템이 일반 트랜잭션의 커밋을 승인하거나 준비된 트랜잭션의 커밋 또는 롤백을 확인할 때까지 대기 중일 때 발생합니다. 준비된 트랜잭션은 PostgreSQL의 2단계 커밋 지원의 일부입니다.

지원되는 엔진 버전

이 대기 이벤트 정보는 모든 버전의 Aurora PostgreSQL에서 지원됩니다.

컨텍스트

이벤트 IO:XactSync는 인스턴스가 Aurora 스토리지 하위 시스템이 트랜잭션 데이터가 처리되었음을 확인하는 것을 기다리는 데 시간을 소비하고 있음을 나타냅니다.

대기 증가의 가능한 원인

IO:XactSync 이벤트가 정상보다 많이 나타나 성능 문제를 나타내는 경우 일반적인 원인은 다음과 같습니다.

네트워크 포화

클라이언트와 DB 인스턴스 간 트래픽 또는 스토리지 하위 시스템에 대한 트래픽은 네트워크 대역폭에 비해 너무 무거울 수 있습니다.

CPU 압력

워크로드가 많으면 Aurora 스토리지 데몬이 충분한 CPU 시간을 얻지 못하게 될 수 있습니다.

작업

대기 이벤트의 원인에 따라 다른 작업을 권장합니다.

리소스 모니터링

IO:XactSync 이벤트가 증가한 원인을 파악하려면, 다음 지표를 확인하세요.

  • WriteThroughputCommitThroughput - 쓰기 처리량 또는 커밋 처리량이 변경되면 워크로드가 증가할 수 있습니다.

  • WriteLatencyCommitLatency - 쓰기 지연 시간 또는 커밋 대기 시간이 변경되면 스토리지 하위 시스템이 더 많은 작업을 수행해야 한다는 메시지가 표시될 수 있습니다.

  • CPUUtilization - 인스턴스의 CPU 사용률이 90%를 초과하면 Aurora 스토리지 데몬이 CPU에서 충분한 시간을 확보하지 못할 수 있습니다. 이 경우 I/O 성능이 저하됩니다.

지표에 대한 자세한 내용은 Amazon Aurora에 대한 인스턴스 수준 지표 섹션을 참조하세요.

CPU 확장

CPU 부족 문제를 해결하려면 CPU 용량이 더 많은 인스턴스 유형으로 변경하는 것이 좋습니다. DB 인스턴스 클래스의 CPU 용량에 대한 자세한 내용은 Aurora에 대한 DB 인스턴스 클래스의 하드웨어 사양 섹션을 참조하세요.

네트워크 대역폭 향상

인스턴스가 네트워크 대역폭 제한에 도달하는지 확인하려면 다음과 같은 다른 대기 이벤트를 확인합니다.

  • IO:DataFileRead,IO:BufferRead,IO:BufferWrite, 및 IO:XactWrite - 대량의 I/O를 사용하는 쿼리는 이러한 대기 이벤트를 더 많이 생성할 수 있습니다.

  • Client:ClientReadClient:ClientWrite - 클라이언트 통신이 많은 쿼리가 이러한 대기 이벤트를 더 많이 생성할 수 있습니다.

네트워크 대역폭이 문제인 경우 네트워크 대역폭이 더 많은 인스턴스 유형으로 변경하는 것이 좋습니다. DB 인스턴스 클래스의 네트워크 성능에 관한 자세한 내용은 Aurora에 대한 DB 인스턴스 클래스의 하드웨어 사양 섹션을 참조하세요.

커밋 수 저감

커밋 수를 줄이려면 명령문을 트랜잭션 블록으로 결합하세요.