AWS Database Migration Service(AWS DMS)가 DB 인스턴스의 스토리지 공간을 사용하는 스왑 파일을 생성하고 있습니다. 스왑 파일이 무엇인지와 스왑 파일 생성을 줄이는 방법을 알고 싶습니다.
간략한 설명
SOURCE_CAPTURE 프로세스가 TARGET_APPLY 구성 요소보다 빠르게 생성되면 SORTER 구성 요소는 백로그된 이벤트를 디스크 또는 스왑 파일에 캐시합니다. 또는 장기 트랜잭션이 최대 메모리 할당(MemoryLimitTotal) 및 시간(MemoryKeepTime)을 초과하면 메모리의 트랜잭션 또는 스왑 파일이 복제 인스턴스 디스크로 이동합니다.
참고: 스왑 파일은 서버에 처리할 메모리가 충분하지 않을 때 OS에서 생성하는 운영 체제(OS) 스왑 파일과는 다릅니다. 따라서 데이터는 Amazon CloudWatch의 SwapUsage 지표에 포함되지 않습니다.
해결 방법
작업 로그에 다음과 유사한 메시지가 표시됩니다.
"[SORTER ]I: Reading from source is paused. Total storage used by swap files exceeded the limit 1048576000 bytes (sorter_transaction.c:110) 00000849: 2021-04-28T07:19:20:987696 [SORTER ]I: Reading from source is resumed (sorter_transaction.c:116)]"
AWS DMS 버전 3.4.2 이상에는 스토리지가 가득 차는 것을 방지하는 기능이 포함되어 있습니다. 이 기능은 복제 인스턴스의 스토리지 볼륨에서 보유할 수 있는 최대 스왑 파일 수를 설정합니다. SORTER 구성 요소가 사용하는 스왑 파일의 최대 크기가 1GB에 도달하면 위의 메시지가 표시됩니다.
할당량에 도달하면 SORTER 구성 요소가 SOURCE CAPTURE를 일시 중지합니다. 이후 AWS DMS는 스왑 파일의 변경 사항을 대상 데이터베이스에 적용합니다. DMS가 스왑된 변경 사항을 적용하거나 스왑 파일이 1GB 미만이면 AWS DMS는 SOURCE CAPTURE를 재개합니다.
참고: AWS DMS가 변경 사항을 적용할 때 작업은 계속 실행됩니다. SORTER 구성 요소는 SOURCE CAPTURE만 일시 중지합니다.
스왑 파일 생성 감소
AWS DMS 인스턴스에서 스왑 파일 생성을 줄이거나 막으려면 AWS DMS 작업에서 대상 지연 시간이 길어지는 원인을 확인하십시오.
TARGET_APPLY를 개선하려면 엔진 유형에 따라 배치 적용 모드 및 ParallelApplyThreads를 사용하십시오.
소스에서 트랜잭션이 장시간 실행되는 경우 소스 데이터베이스에서 커밋을 자주 사용하십시오.
복제 인스턴스에 사용 가능한 메모리가 있는 경우 MemoryLimitTotal 및 MemoryKeepTime을 늘려 변경 사항이 디스크로 스왑되기 전에 변경 메모리에 더 오랜 시간 동안 남아 있도록 합니다. SORTER 구성 요소가 할당량에 도달하지 않도록 두 파라미터를 모두 늘려야 합니다.
관련 정보
처리 튜닝 설정 변경