Today
Total
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)
관리 메뉴

DB & AWS Knowledge

RDS, Aurora PostgreSQL lock 유형 - Lock:Relation 본문

AWS 및 클라우드 지식/AWS RDS, Aurora 및 관련 지식

RDS, Aurora PostgreSQL lock 유형 - Lock:Relation

`O` 2023. 7. 9. 02:33
728x90
반응형

이 페이지에서는 RDS, Aurora PostgreSQL Performance Insight 에서 확인 할 수 있는 wait event 중 하나인

Lock:Relation 에 대해서 다룬다.

 

이 페이지는 아래의 Document 및 이전 게시글들과 연관되어 있다.

 

[1] https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/apg-waits.lockrelation.html

 

[2] 2023.07.08 - [PostgreSQL/기타 지식] - PostgreSQL / PPAS DDL 수행 시 발생하는 lock 의 유의성

 

[3] 2023.07.09 - [PostgreSQL/Replication] - PostgreSQL / PPAS Streaming Replication 사용 시, DDL 로 발생하는 lock 에 대한 주의사항

 

 

Lock:Relation 의 의미

 

Performance Insight 에서 이 event 가 발생하면 relation, 즉 오브젝트 단위로 lock 이 발생했다는 것을 의미한다.

당연히 이 Lock 이 길어지면 Lock 이 발생하는 오브젝트들을 사용하는 프로세스들이 모두 대기 상태로 빠져서 CPU 사용량을 급증 시킬 수 있다

 

일반적으로 이러한 작업은 이전 게시글들에서 설명 했던 DDL, Vacuum 등을 수행 할 때 발생한 가능성이 매우 높다.

또한, 이 이슈가 DDL 과 연결되었다면 CloudWatch 에서 ReplicaLag 급증과 연관 되는 경우가 많다.

 

만일 이를 대처하기 위해서는 [1] 의 Document 에 설명된 데로

Lock 을 유발하는 쿼리를 빨리 찾은 후 정리하는 것이 좋다.

 

[Document 예시]

postgres=> SELECT locktype, relation, mode, backend_type
postgres-> FROM pg_locks l, pg_stat_activity t1
postgres-> WHERE l.pid=t1.pid AND relation = 't1'::regclass::oid;
 locktype | relation |        mode         |   backend_type
----------+----------+---------------------+-------------------
 relation | 68628525 | AccessExclusiveLock | aurora wal replay
(1 row)

 

반응형
Comments