

# Aurora PostgreSQL에서 로컬 쓰기 전달 모니터링
<a name="aurora-postgresql-write-forwarding-monitoring"></a>

다음 섹션을 사용하면 관련 CloudWatch 지표 및 대기 이벤트를 포함하여 Aurora PostgreSQL 클러스터의 로컬 쓰기 전달을 모니터링하여 성능을 추적하고 잠재적 문제를 식별할 수 있습니다.

## 쓰기 전달을 위한 Amazon CloudWatch 지표 및 Aurora PostgreSQL 상태 변수
<a name="aurora-postgresql-write-forwarding-cloudwatch"></a>

 다음 Amazon CloudWatch 지표는 하나 이상의 읽기 전용 복제본에서 쓰기 전달을 사용하는 라이터 DB 인스턴스에 적용됩니다.


| CloudWatch 지표 | 단위 및 설명 | 
| --- | --- | 
| `AuroraLocalForwardingWriterDMLThroughput` | 개수(초당). 이 라이터 DB 인스턴스에서 초당 처리되는 전달된 DML 문 수입니다. | 
| `AuroraLocalForwardingWriterOpenSessions` | 개수. 전달된 쿼리를 처리하는 이 라이터 DB 인스턴스의 열린 세션 수입니다. | 
| `AuroraLocalForwardingWriterTotalSessions` | 개수. 라이터 DB 인스턴스에 있는 전달된 세션의 총 개수입니다. | 

 다음 CloudWatch 지표는 각 읽기 전용 복제본에 적용됩니다. 이러한 지표는 로컬 쓰기 전달이 활성화된 DB 클러스터의 각 리더 DB 인스턴스에서 측정됩니다.


| CloudWatch 지표 | 단위 및 설명 | 
| --- | --- | 
| `AuroraForwardingReplicaCommitThroughput` |  개수(초당). 이 복제본이 초당 전달하는 세션의 커밋 수입니다. | 
| `AuroraForwardingReplicaDMLLatency` |  밀리초. 복제본에 있는 전달된 DML의 평균 응답 시간(밀리초)입니다. | 
| `AuroraForwardingReplicaDMLThroughput` |  개수(초당). 이 복제본에서 초당 처리되는 전달된 DML 문 수입니다. | 
| `AuroraForwardingReplicaErrorSessionsLimit` |  개수. 최대 연결 또는 최대 쓰기 전달 연결 한도에 도달하여 라이터 DB 인스턴스에서 거부한 세션 수입니다. | 
| `AuroraForwardingReplicaOpenSessions` |  개수. 복제본 인스턴스에서 로컬 쓰기 전달을 사용하는 세션 수입니다. | 
| `AuroraForwardingReplicaReadWaitLatency` | 밀리초. 복제본이 라이터 DB 인스턴스의 LSN과 일치할 때까지 기다리는 평균 대기 시간(밀리초)입니다. 리더 DB 인스턴스가 대기하는 정도는 apg\_write\_forward.consistency\_mode 설정에 따라 다릅니다. 이 설정에 대한 자세한 내용은 [Aurora PostgreSQL에서 쓰기 전달에 대한 구성 파라미터](aurora-global-database-write-forwarding-apg.md#aurora-global-database-write-forwarding-params-apg) 섹션을 참조하세요. | 

## Aurora PostgreSQL에서 로컬 쓰기 전달을 위한 대기 이벤트
<a name="aurora-postgresql-write-forwarding-wait-events-apg"></a>

Amazon Aurora는 Aurora PostgreSQL에서 쓰기 전달을 사용할 때 다음과 같은 대기 이벤트를 생성합니다.

**Topics**
+ [IPC:AuroraWriteForwardConnect](#apg-waits.ipcaurorawriteforwardconnect)
+ [IPC:AuroraWriteForwardConsistencyPoint](#apg-waits.ipcaurorawriteforwardconsistencypoint)
+ [IPC:AuroraWriteForwardExecute](#apg-waits.ipc:aurorawriteforwardexecute)
+ [IPC:AuroraWriteForwardGetGlobalConsistencyPoint](#apg-waits.ipc:aurorawriteforwardgetglobalconsistencypoint)
+ [IPC:AuroraWriteForwardXactAbort](#apg-waits.ipc:aurorawriteforwardxactabort)
+ [IPC:AuroraWriteForwardXactCommit](#apg-waits.ipc:aurorawriteforwardxactcommit)
+ [IPC:AuroraWriteForwardXactStart](#apg-waits.ipc:aurorawriteforwardxactstart)

### IPC:AuroraWriteForwardConnect
<a name="apg-waits.ipcaurorawriteforwardconnect"></a>

이 `IPC:AuroraWriteForwardConnect` 이벤트는 읽기 전용 복제본의 백엔드 프로세스가 라이터 DB 인스턴스에 대한 연결이 열릴 때까지 기다리고 있을 때 발생합니다.

**대기 증가의 가능한 원인**

이 이벤트는 읽기 전용 복제본에서 라이터 노드로의 연결 시도 횟수가 늘어날수록 증가합니다.

**작업**

읽기 전용 복제본에서 라이터 노드로의 동시 연결 수를 줄이세요.

### IPC:AuroraWriteForwardConsistencyPoint
<a name="apg-waits.ipcaurorawriteforwardconsistencypoint"></a>

`IPC:AuroraWriteForwardConsistencyPoint` 이벤트는 전달된 쓰기 작업의 결과가 현재 리전으로 복제될 때까지 읽기 전용 복제본에서 노드에서 대기하는 시간을 나타냅니다. 이 이벤트는 세션 수준 `apg_write_forward.consistency_mode` 파라미터가 다음 중 하나로 설정된 경우에만 생성됩니다.
+ `SESSION` - 읽기 전용 복제본에 대한 쿼리는 해당 세션에서 수행한 모든 변경의 결과를 대기합니다.
+ `GLOBAL` - 읽기 전용 복제본에 대한 쿼리는 해당 세션의 변경 사항과 라이터 DB 인스턴스 및 읽기 전용 복제본 모두에서 커밋된 모든 변경 사항의 결과를 기다립니다.

`apg_write_forward.consistency_mode` 파라미터 설정에 대한 자세한 내용은 [Aurora PostgreSQL에서 쓰기 전달에 대한 구성 파라미터](aurora-global-database-write-forwarding-apg.md#aurora-global-database-write-forwarding-params-apg) 섹션을 참조하세요.

**대기 증가의 가능한 원인**

대기 시간이 길어지는 일반적인 원인은 다음과 같습니다.
+ Amazon CloudWatch `ReplicaLag` 지표로 측정한 바와 같이 복제 지연이 증가했습니다. 이 지표에 대한 자세한 정보는 [Aurora PostgreSQL 복제 모니터링](AuroraPostgreSQL.Replication.md#AuroraPostgreSQL.Replication.Monitoring) 섹션을 참조하세요.
+ 라이터 DB 인스턴스 또는 읽기 전용 복제본에 대한 로드가 증가했습니다.

**작업**

애플리케이션 요구 사항에 따라 일관성 모드를 변경합니다.

### IPC:AuroraWriteForwardExecute
<a name="apg-waits.ipc:aurorawriteforwardexecute"></a>

`IPC:AuroraWriteForwardExecute` 이벤트는 읽기 전용 복제본의 백엔드 프로세스가 전달된 쿼리가 완료되고 DB 클러스터의 라이터 노드로부터 결과를 얻기를 기다리고 있을 때 발생합니다.

**대기 증가의 가능한 원인**

대기가 늘어나는 일반적인 원인은 다음과 같습니다.
+ 라이터 노드에서 많은 수의 행을 가져옵니다.
+ 라이터 노드와 읽기 전용 복제본 사이의 네트워크 지연 시간이 증가하면 읽기 전용 복제본이 라이터 노드로부터 데이터를 수신하는 데 걸리는 시간이 늘어납니다.
+ 읽기 전용 복제본의 로드가 증가하면 읽기 전용 복제본에서 라이터 노드로 쿼리 요청을 전송하는 것이 지연될 수 있습니다.
+ 라이터 노드의 로드가 증가하면 라이터 노드에서 읽기 전용 복제본으로의 데이터 전송이 지연될 수 있습니다.

**작업**

대기 이벤트의 원인에 따라 다른 작업을 권장합니다.
+ 필요한 데이터만 검색하도록 쿼리를 최적화합니다.
+ 데이터 조작 언어(DML) 작업을 최적화하여 필요한 데이터만 수정합니다.
+ 읽기 전용 복제본 또는 라이터 노드가 CPU 또는 네트워크 대역폭의 제약을 받는 경우 CPU 용량이 더 크거나 네트워크 대역폭이 더 큰 인스턴스 유형으로 변경하는 것이 좋습니다.

### IPC:AuroraWriteForwardGetGlobalConsistencyPoint
<a name="apg-waits.ipc:aurorawriteforwardgetglobalconsistencypoint"></a>

`IPC:AuroraWriteForwardGetGlobalConsistencyPoint` 이벤트는 글로벌 일관성 모드를 사용하는 읽기 전용 복제본의 백엔드 프로세스가 쿼리를 실행하기 전에 라이터 노드로부터 글로벌 일관성 보장 지점을 가져오기를 기다리고 있을 때 발생합니다.

**대기 증가의 가능한 원인**

대기가 늘어나는 일반적인 원인은 다음과 같습니다.
+ 읽기 전용 복제본과 라이터 노드 사이의 네트워크 지연 시간이 증가하면 읽기 전용 복제본이 라이터 노드로부터 데이터를 수신하는 데 걸리는 시간이 늘어납니다.
+ 읽기 전용 복제본의 로드가 증가하면 읽기 전용 복제본에서 라이터 노드로 쿼리 요청을 전송하는 것이 지연될 수 있습니다.
+ 라이터 노드의 로드가 증가하면 라이터 노드에서 읽기 전용 복제본으로의 데이터 전송이 지연될 수 있습니다.

**작업**

대기 이벤트의 원인에 따라 다른 작업을 권장합니다.
+ 애플리케이션 요구 사항에 따라 일관성 모드를 변경합니다.
+ 읽기 전용 복제본 또는 라이터 노드가 CPU 또는 네트워크 대역폭의 제약을 받는 경우 CPU 용량이 더 크거나 네트워크 대역폭이 더 큰 인스턴스 유형으로 변경하는 것이 좋습니다.

### IPC:AuroraWriteForwardXactAbort
<a name="apg-waits.ipc:aurorawriteforwardxactabort"></a>

`IPC:AuroraWriteForwardXactAbort` 이벤트는 읽기 전용 복제본의 백엔드 프로세스가 원격 정리 쿼리 결과를 기다리고 있을 때 발생합니다. 쓰기 전달 트랜잭션이 중단된 후 프로세스를 적절한 상태로 되돌리기 위해 정리 쿼리가 실행됩니다. Amazon Aurora는 오류가 발견되었거나 사용자가 명시적인 `ABORT` 명령을 실행했거나 실행 중인 쿼리를 취소했을 때 이러한 작업을 수행합니다.

**대기 증가의 가능한 원인**

대기가 늘어나는 일반적인 원인은 다음과 같습니다.
+ 읽기 전용 복제본과 라이터 노드 사이의 네트워크 지연 시간이 증가하면 읽기 전용 복제본이 라이터 노드로부터 데이터를 수신하는 데 걸리는 시간이 늘어납니다.
+ 읽기 전용 복제본의 로드가 증가하면 읽기 전용 복제본에서 라이터 노드로 정리 쿼리 요청을 전송하는 것이 지연될 수 있습니다.
+ 라이터 노드의 로드가 증가하면 라이터 노드에서 읽기 전용 복제본으로의 데이터 전송이 지연될 수 있습니다.

**작업**

대기 이벤트의 원인에 따라 다른 작업을 권장합니다.
+ 트랜잭션이 중단된 원인을 조사하세요.
+ 읽기 전용 복제본 또는 라이터 DB 인스턴스가 CPU 또는 네트워크 대역폭의 제약을 받는 경우 CPU 용량이 더 크거나 네트워크 대역폭이 더 큰 인스턴스 유형으로 변경하는 것이 좋습니다.

### IPC:AuroraWriteForwardXactCommit
<a name="apg-waits.ipc:aurorawriteforwardxactcommit"></a>

`IPC:AuroraWriteForwardXactCommit` 이벤트는 읽기 전용 복제본의 백엔드 프로세스가 전달된 커밋 트랜잭션 명령의 결과를 기다리고 있을 때 발생합니다.

**대기 증가의 가능한 원인**

대기가 늘어나는 일반적인 원인은 다음과 같습니다.
+ 읽기 전용 복제본과 라이터 노드 사이의 네트워크 지연 시간이 증가하면 읽기 전용 복제본이 라이터 노드로부터 데이터를 수신하는 데 걸리는 시간이 늘어납니다.
+ 읽기 전용 복제본의 로드가 증가하면 읽기 전용 복제본에서 라이터 노드로 쿼리 요청을 전송하는 것이 지연될 수 있습니다.
+ 라이터 노드의 로드가 증가하면 라이터 노드에서 읽기 전용 복제본으로의 데이터 전송이 지연될 수 있습니다.

**작업**

읽기 전용 복제본 또는 라이터 노드가 CPU 또는 네트워크 대역폭의 제약을 받는 경우 CPU 용량이 더 크거나 네트워크 대역폭이 더 큰 인스턴스 유형으로 변경하는 것이 좋습니다.

### IPC:AuroraWriteForwardXactStart
<a name="apg-waits.ipc:aurorawriteforwardxactstart"></a>

`IPC:AuroraWriteForwardXactStart` 이벤트는 읽기 전용 복제본의 백엔드 프로세스가 전달된 시작 트랜잭션 명령의 결과를 기다리고 있을 때 발생합니다.

**대기 증가의 가능한 원인**

대기가 늘어나는 일반적인 원인은 다음과 같습니다.
+ 읽기 전용 복제본과 라이터 노드 사이의 네트워크 지연 시간이 증가하면 읽기 전용 복제본이 라이터 노드로부터 데이터를 수신하는 데 걸리는 시간이 늘어납니다.
+ 읽기 전용 복제본의 로드가 증가하면 읽기 전용 복제본에서 라이터 노드로 쿼리 요청을 전송하는 것이 지연될 수 있습니다.
+ 라이터 노드의 로드가 증가하면 라이터 노드에서 읽기 전용 복제본으로의 데이터 전송이 지연될 수 있습니다.

**작업**

읽기 전용 복제본 또는 라이터 노드가 CPU 또는 네트워크 대역폭의 제약을 받는 경우 CPU 용량이 더 크거나 네트워크 대역폭이 더 큰 인스턴스 유형으로 변경하는 것이 좋습니다.