복제 인스턴스에 가장 적합한 크기 선택 - AWS 데이터베이스 마이그레이션 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

복제 인스턴스에 가장 적합한 크기 선택

적절한 복제 인스턴스를 선택하는 것은 사용 사례의 여러 요소에 따라 달라집니다. 복제 인스턴스 리소스가 사용되는 방식을 이해하는 데 도움이 되도록 다음 설명을 참조하세요. 전체 로드 + CDC 작업의 일반적인 시나리오를 다룹니다.

전체 로드 작업 중에는 테이블을 개별적으로 AWS DMS 로드합니다. 기본적으로 한 번에 8개의 테이블이 로드됩니다.는 전체 로드 작업 중에 소스에 대한 지속적인 변경 사항을 AWS DMS 캡처하므로 나중에 대상 엔드포인트에 변경 사항을 적용할 수 있습니다. 변경 사항은 메모리에 캐시되며, 사용 가능한 메모리가 모두 사용되면 변경 사항이 디스크에 캐시됩니다. 테이블에 대한 전체 로드 작업이 완료되면 캐시된 변경 사항을 대상 테이블에 AWS DMS 즉시 적용합니다.

테이블에 대한 모든 캐시 변경 사항이 적용된 후에는 대상 엔드포인트는 트랜잭션 일치 상태가 됩니다. 이 시점에서 대상은 마지막으로 캐시된 변경 사항과 관련하여 소스 엔드포인트와 동기화됩니다. AWS DMS 그런 다음 소스와 대상 간의 지속적인 복제를 시작합니다. 이를 위해 AWS DMS 는 소스 트랜잭션 로그에서 변경 작업을 가져와 트랜잭션적으로 일관된 방식으로 대상에 적용합니다. (이 프로세스는 배치 최적화 적용이 선택되지 않았다고 가정합니다).는 가능하면 복제 인스턴스의 메모리를 통해 지속적인 변경 사항을 AWS DMS 스트리밍합니다. 그렇지 않으면 대상에 적용할 수 있을 때까지 복제 인스턴스의 디스크에 변경 사항을 AWS DMS 씁니다.

복제 인스턴스의 변경 처리 방식과 해당 프로세스에서 메모리가 사용되는 방식을 어느 정도 제어할 수 있습니다. 변경 처리를 조정하는 방법에 대한 자세한 내용은 변경 처리 튜닝 설정 섹션을 참조하세요.

고려해야 할 요소

메모리 및 디스크 공간은 사용 사례에 적합한 복제 인스턴스를 선택할 때 가장 중요한 요소입니다. 이하에서는 복제 인스턴스를 선택하기 위해 분석해야 할 사용 사례 특성에 대한 설명합니다.

  • 데이터베이스 및 테이블 크기

    데이터 볼륨은 전체 로드 성능을 최적화하기 위한 태스크 구성을 결정하는 데 도움이 됩니다. 예를 들어 1TB 스키마 2개에 대해 테이블을 500GB 태스크 4개로 파티션하여 병렬로 실행할 수 있습니다. 가능한 병렬 처리는 복제 인스턴스에서 사용 가능한 CPU 리소스에 따라 다릅니다. 따라서 전체 로드 성능을 최적화하려면 데이터베이스와 테이블의 크기를 이해하는 것이 좋습니다. 이는 수행할 수 있는 태스크의 수를 결정하는 데 도움이 됩니다.

  • 대형 객체

    마이그레이션 범위에 있는 데이터 형식은 성능에 영향을 줄 수 있습니다. 특히 큰 객체(LOBs)는 성능 및 메모리 소비에 영향을 미칩니다. LOB 값을 마이그레이션하려면가 2단계 프로세스를 AWS DMS 수행합니다. 먼저 LOB 값 없이 대상에 행을 AWS DMS 삽입합니다. 둘째, 행을 LOB 값으로 AWS DMS 업데이트합니다. 이는 메모리에 영향을 미치므로 소스의 LOB 열을 식별하고 크기를 분석하는 것이 중요합니다.

  • 로드 빈도 및 트랜잭션 크기

    초당 로드 빈도 및 트랜잭션(TPS)은 메모리 사용량에 영향을 미칩니다. TPS 또는 데이터 조작 언어(DML) 활동의 수가 많으면 메모리 사용량이 많아집니다. 이는이 대상에 적용될 때까지 변경 사항을 DMS 캐싱하기 때문에 발생합니다. 이 작업을 CDC수행하면 스왑(메모리 오버플로로 인해 물리적 디스크에 쓰기)이 발생하여 지연 시간이 발생합니다.

  • 테이블 키 및 참조 무결성

    테이블 키에 대한 정보는 데이터를 마이그레이션하는 데 사용하는 CDC 모드(배치 적용 또는 트랜잭션 적용)를 결정합니다. 일반적으로 트랜잭션 적용은 배치 적용보다 느립니다. 장기 실행 트랜잭션의 경우 마이그레이션해야 할 변경 사항이 많을 수 있습니다. 트랜잭션 적용을 사용하는 경우 일괄 적용에 비해 변경 사항을 저장하기 위해 더 많은 메모리가 필요할 수 AWS DMS 있습니다. 기본 키 없이 테이블을 마이그레이션하면 배치 적용이 실패하고 DMS 작업이 트랜잭션 적용 모드로 이동합니다. 에서 테이블 간에 참조 무결성이 활성화되면 기본적으로 트랜잭션CDC AWS DMS 이 적용됩니다. 트랜잭션 적용과 비교하여 배치 적용에 대한 자세한 내용은 DMS 배치 적용 기능을 사용하여 CDC 복제 성능을 개선하려면 어떻게 해야 합니까?를 참조하세요.

이러한 지표를 사용하여 복제 인스턴스를 컴퓨팅 최적화해야 하는지 아니면 메모리 최적화해야 하는지 결정하세요.

일반적인 문제

마이그레이션 중에 다음과 같이 복제 인스턴스에서 리소스 경합을 유발하는 일반적인 문제가 발생할 수 있습니다. 복제 인스턴스 지표에 대한 자세한 내용은 복제 인스턴스 지표 섹션을 참조하세요.

  • 복제 인스턴스의 메모리가 부족해지면 데이터가 디스크에 쓰여집니다. 디스크에서 읽을 때 지연 시간이 발생할 수 있는데, 충분한 메모리로 복제 인스턴스 크기를 조정하면 지연 시간을 피할 수 있습니다.

  • 복제 인스턴스에 할당된 디스크 크기는 필요한 것보다 작을 수 있습니다. 디스크 크기는 메모리에서 데이터가 넘칠 때 사용되며 태스크 로그를 저장하는 데도 사용됩니다. 최대값도 이에 IOPS 따라 달라집니다.

  • 병렬성이 높은 여러 태스크 또는 태스크를 실행하면 복제 인스턴스의 CPU 소비에 영향을 미칩니다. 이로 인해 태스크 처리 속도가 느려지고 지연 시간이 길어집니다.

모범 사례

복제 인스턴스의 크기를 조정할 때는 다음과 같이 가장 일반적인 2가지 모범 사례를 고려해야 합니다. 자세한 내용은 AWS Database Migration Service의 모범 사례 단원을 참조하십시오.

  1. 워크로드의 규모를 파악하고 컴퓨팅 집약적인지 메모리 집약적인지 판단하세요. 이를 기반으로 복제 인스턴스의 클래스 및 크기를 결정할 수 있습니다.

    • AWS DMS 메모리LOBs의 프로세스입니다. 이 작업에는 상당한 양의 메모리가 필요합니다.

    • 작업 수와 스레드 수는 CPU 소비에 영향을 미칩니다. 전체 로드 작업 중에는 MaxFullLoadSubTasks를 8개 이상 사용하지 마세요.

  2. 전체 로드 중에 워크로드가 많으면 복제 인스턴스에 할당된 디스크 공간을 늘리세요. 이렇게 하면 복제 인스턴스가 IOPS 할당된 최대값을 사용할 수 있습니다.

위 가이드라인에서 가능한 시나리오를 모두 다루는 것은 아닙니다. 복제 인스턴스의 크기를 결정할 때 특정 사용 사례의 구체적인 내용을 고려하는 것이 중요합니다.

앞의 테스트에서는 CPU 및 메모리가 워크로드에 따라 다릅니다. 특히는 메모리에 LOBs 영향을 미치고 작업 수 또는 병렬 처리는에 영향을 미칩니다CPU. 마이그레이션이 실행된 후 복제 인스턴스의 CPU, 사용 가능한 메모리, 사용 가능한 스토리지 및 IOPS를 모니터링합니다. 수집한 데이터를 기반으로 필요에 따라 복제 인스턴스의 크기를 늘리거나 줄일 수 있습니다.