Aurora PostgreSQL의 향상된 메모리 관리
Aurora PostgreSQL에는 이제 다양한 워크로드에서 데이터베이스 성능과 복원력을 최적화하는 고급 메모리 관리 기능이 포함되어 있습니다. 이러한 개선 사항을 통해 Aurora PostgreSQL은 메모리 수요가 높은 기간에도 일관된 가용성과 응답성을 유지할 수 있습니다.
이 함수는 다음 Aurora PostgreSQL 버전에서 사용할 수 있으며 기본적으로 활성화되어 있습니다.
-
15.3 이상의 모든 버전
-
14.8 이상 버전
-
13.11 이상 버전
-
12.15 이상 버전
-
11.20 이상 버전
고객 워크로드가 사용 가능한 여유 메모리를 모두 사용하는 경우 운영 체제는 리소스를 보호하기 위해 데이터베이스를 다시 시작하여 일시적으로 사용할 수 없게 될 수 있습니다. Aurora PostgreSQL의 새로운 메모리 관리 개선 사항은 시스템에 메모리 압박이 높을 때 특정 트랜잭션을 사전에 취소하여 데이터베이스 안정성을 유지하는 데 도움이 됩니다.
개선된 메모리 관리의 주요 기능은 다음과 같습니다.
시스템의 메모리 사용량이 한계에 다다랐을 때 더 많은 메모리를 요청하는 데이터베이스 트랜잭션을 취소합니다.
시스템이 물리적 메모리를 모두 소진하고 스왑을 소진하려고 할 때 메모리 사용량이 한계에 다다랐다고 합니다. 이러한 상황에서는 DB 인스턴스의 메모리 사용량을 즉시 줄이기 위해 메모리를 요청하는 모든 트랜잭션이 취소됩니다.
필수 PostgreSQL 시작 관리자 및 Autovacuum 작업자 등의 백그라운드 작업자는 항상 보호됩니다.
메모리 관리 파라미터 취급
메모리 관리를 사용 설정하는 방법
이 옵션은 기본적으로 켜져 있습니다. 다음 예제와 같이 메모리 부족으로 트랜잭션이 취소되면 오류 메시지가 표시됩니다.
ERROR: out of memory Detail: Failed on request of size 16777216.
메모리 관리를 사용 해제하는 방법
이 기능을 해제하려면 아래와 같이 psql로 Aurora PostgreSQL DB 클러스터에 연결하고 파라미터 값에 SET 문을 사용합니다.
참고
메모리 관리는 활성화된 상태로 유지하는 것이 좋습니다. 이렇게 하면 메모리 소진으로 인해 워크로드에서 유발되는 데이터베이스 재시작으로 이어질 수 있는 메모리 부족 오류를 방지할 수 있습니다.
다음 표는 다양한 Aurora PostgreSQL 버전에서 메모리 관리 기능을 끄는 방법을 보여줍니다.
Aurora PostgreSQL 버전 | 파라미터 | Default | 세션 수준에서 메모리 관리를 끄는 명령 |
---|---|---|---|
11.20, 11.21, 12.15, 12.16, 13.11, 13.12, 14.8, 14.9, 15.3, 15.4 |
|
|
|
12.17, 13.13, 14.10, 15.5 이상 버전 |
|
|
|
참고
Aurora PostgreSQL 12.17, 13.13, 14.10, 15.5 이상 버전에서는 rds.memory_allocation_guard
파라미터가 더 이상 사용되지 않습니다.
DB 클러스터 파라미터 그룹의 이러한 파라미터 값을 설정하면 쿼리가 취소되지 않습니다. DB 클러스터 파라미터 그룹에 대한 자세한 내용은 Amazon Aurora의 파라미터 그룹 섹션을 참조하세요.
제한 사항
이 기능은 db.t3 및 db.serverless 인스턴스 클래스에서는 지원되지 않습니다.