스왑 파일이란 무엇이며 내 AWS DMS 인스턴스에서 공간을 소비하는 이유는 무엇입니까?

최종 업데이트 날짜: 2022년 7월 28일

AWS Database Migration Service(AWS DMS) DB 인스턴스의 스토리지 공간이 내 인스턴스에서 생성된 스왑 파일에 소비되고 있습니다. 스왑 파일이란 무엇이며 스왑 파일 생성을 줄이려면 어떻게 해야 합니까?

간략한 설명

AWS DMS에서 SORTER 구성 요소는 소스에서 발생하는 지속적인 변경 사항을 캐싱합니다. 구성 요소는 대상에 적용하기 전에 트랜잭션 병합, 필터링 및 데이터 변환과 같은 작업을 관리하기 위해 이 작업을 수행합니다.

소스 처리가 대상 적용을 과도하게 수행하는 경우 대상은 들어오는 변경 사항을 처리할 수 없습니다. 또는 긴 트랜잭션이 최대 메모리 할당(MemoryLimitTotal) 및 시간(MemoryKeepTime)을 초과하면 메모리의 트랜잭션이 스왑 또는 정렬 파일이라고 하는 복제 인스턴스 디스크로 넘쳐납니다.

이와 같은 스왑 파일은 서버 메모리가 처리하기에 충분하지 않을 때 생성되는 OS 스왑 파일과 다릅니다. 따라서 이 데이터는 Amazon CloudWatch SwapUsage 지표에 포함되지 않습니다.

해결 방법

작업 로그에 다음과 유사한 메시지가 표시될 수 있습니다.

“[SORTER]I: 소스에서 읽는 것이 일시 중지되었습니다. 스왑 파일에서 사용한 총 스토리지가 제한인 1048576000바이트를 초과했습니다.(sorter_transaction.c:110) 00000849: 2021-04-28T07:19:20:987696 [SORTER ]I: 소스 읽기 재개됨(sorter_transaction.c:116)]"

이는 정보 메시지이며 오류가 아닙니다. AWS DMS SORTER 구성 요소에서 사용하는 스왑 파일이 크기 제한이 1GB(하드코딩된 제한)에 도달하면 이 메시지가 표시됩니다. AWS DMS 버전 3.4.2 이상 버전에는 복제 인스턴스의 스토리지 볼륨에서 보유할 수 있는 스왑 파일의 최대 양을 제한하여 스토리지 전체 시나리오를 방지하는 기능이 포함되어 있습니다. 따라서 DMS SORTER 구성 요소에서 사용하는 스왑 파일이 1GB 제한에 도달하면 이 메시지가 표시됩니다.

이 1GB 제한에 도달하면 SORTER 구성 요소가 SOURCE CAPTURE를 일시 중지합니다. 그런 다음 AWS DMS는 스왑 파일의 변경 사항을 대상 데이터베이스에 적용합니다. 디스크에서 스왑된 변경 사항이 적용되거나 스왑 파일이 1GB 미만으로 떨어지면 AWS DMS가 소스 캡처를 재개합니다.

참고: 이 경우 작업이 계속 실행됩니다. SOURCE CAPTURE만 일시 중지됩니다.

스왑 파일 생성 감소

다음 모범 사례를 사용하여 AWS DMS 인스턴스에서 스왑 파일 생성을 줄이거나 방지할 수 있습니다.

  • AWS DMS 작업에서 목표 지연 시간이 길어지는 일반적인 원인을 확인합니다.
    • 대상에 기본 키 또는 인덱스가 없음
    • 대상에 리소스 병목 현상이 있음
    • 복제 인스턴스에 리소스 병목 현상이 있음
    • 복제 인스턴스와 대상 간에 네트워크 문제가 있음
  • 배치 적용 모드ParallelApplyThreads를 사용하여 엔진 유형에 따라 대상 적용을 개선합니다.
  • 소스에서 트랜잭션이 오래 실행되는 경우 소스 데이터베이스에서 자주 커밋을 사용하여 문제를 완화할 수 있습니다.
  • 복제 인스턴스에서 메모리를 사용할 수 있는 경우 MemoryLimitTotalMemoryKeeptime을 늘려 변경 사항이 디스크로 스왑되기 전에 메모리에 더 오래 유지되도록 할 수 있습니다. 한도에 도달하면 AWS DMS가 변경 사항을 디스크로 스왑하므로 이 두 파라미터를 모두 늘려야 합니다.

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?