Amazon Aurora MySQL에 대한 성능 및 조정 관리 - Amazon Aurora

Amazon Aurora MySQL에 대한 성능 및 조정 관리

Aurora MySQL DB 인스턴스 조정

Aurora MySQL DB 인스턴스는 인스턴스 조정과 읽기 조정, 이렇게 두 가지 방식으로 조정할 수 있습니다. 읽기 조정에 대한 자세한 내용은 읽기 확장 단원을 참조하십시오.

DB 클러스터의 DB 인스턴스마다 DB 인스턴스 클래스를 수정하여 Aurora MySQL DB 클러스터의 크기를 조정할 수 있습니다. Aurora MySQL은 Aurora에 최적화된 여러 DB 인스턴스 클래스를 지원합니다. 크기가 40TB보다 큰 Aurora 클러스터에는 db.t2 또는 db.t3 인스턴스 클래스를 사용하지 마십시오. Aurora MySQL에서 지원하는 DB 인스턴스 클래스의 사양 정보는 Aurora DB 인스턴스 클래스 단원을 참조하십시오.

참고

T DB 인스턴스 클래스는 개발 및 테스트 서버 또는 기타 비프로덕션 서버에만 사용하는 것이 좋습니다. T 인스턴스 클래스에 대한 자세한 내용은 개발 및 테스트에 T 인스턴스 클래스 사용 섹션을 참조하세요.

Aurora MySQL DB 인스턴스에 대한 최대 연결

Aurora MySQL DB 인스턴스에 대해 허용되는 최대 연결 수는 DB 인스턴스의 인스턴스 수준 파라미터 그룹의 max_connections 파라미터로 결정됩니다.

다음 표에는 Aurora MySQL에서 사용 가능한 각 DB 인스턴스 클래스에 대한 max_connections의 결과 기본값이 나와 있습니다. 인스턴스를 메모리가 더 많은 DB 인스턴스까지 확장하거나, 인스턴스의 DB 파라미터 그룹에 있는 max_connections 파라미터의 값을 최대 16,000까지 큰 값으로 설정하여 Aurora MySQL DB 인스턴스의 최대 연결 수를 늘릴 수 있습니다.

작은 정보

애플리케이션이 연결을 자주 열고 닫거나, 수명이 긴 연결을 많이 열어 두는 경우, Amazon RDS 프록시를 사용하는 것이 좋습니다. RDS 프록시는 데이터베이스 연결을 효율적으로 안전하게 공유하기 위해 연결 풀링을 사용하는 완전관리형 고가용성 데이터베이스 프록시입니다. RDS 프록시에 대한 자세한 내용은 Aurora용 Amazon RDS 프록시 사용 섹션을 참조하세요.

Aurora Serverless v2 인스턴스가 이 파라미터를 처리하는 방법에 대한 자세한 내용은 Aurora Serverless v2의 최대 연결 수 섹션을 참조하세요.

인스턴스 클래스 max_connections 기본값

db.t2.small

45

db.t2.medium

90

db.t3.small

45

db.t3.medium

90

db.t3.large

135

db.t4g.medium

90

db.t4g.xlarge

135

db.r3.large

1000

db.r3.xlarge

2000

db.r3.2xlarge

3000

db.r3.4xlarge

4000

db.r3.8xlarge

5000

db.r4.large

1000

db.r4.xlarge

2000

db.r4.2xlarge

3000

db.r4.4xlarge

4000

db.r4.8xlarge

5000

db.r4.16xlarge

6000

db.r5.large

1000

db.r5.xlarge

2000

db.r5.2xlarge

3000

db.r5.4xlarge

4000

db.r5.8xlarge

5000

db.r5.12xlarge

6000

db.r5.16xlarge

6000

db.r5.24xlarge

7000

db.r6g.large 1000
db.r6g.xlarge 2000
db.r6g.2xlarge 3000
db.r6g.4xlarge 4000
db.r6g.8xlarge 5000
db.r6g.12xlarge 6000
db.r6g.16xlarge 6000
db.r6i.large 1000
db.r6i.xlarge 2000
db.r6i.2xlarge 3000
db.r6i.4xlarge 4000
db.r6i.8xlarge 5000
db.r6i.12xlarge 6000
db.r6i.16xlarge 6000
db.r6i.24xlarge 7000
db.r6i.32xlarge 7000
db.r7g.large 1000
db.r7g.xlarge 2000
db.r7g.2xlarge 3000
db.r7g.4xlarge 4000
db.r7g.8xlarge 5000
db.r7g.12xlarge 6000
db.r7g.16xlarge 6000
db.x2g.large 2000
db.x2g.xlarge 3000
db.x2g.2xlarge 4000
db.x2g.4xlarge 5000
db.x2g.8xlarge 6000
db.x2g.12xlarge 7000
db.x2g.16xlarge 7000

새 파라미터 그룹을 생성하여 연결 제한에 대한 자체 기본값을 사용자 지정하는 경우 이 기본값 연결 제한은 DBInstanceClassMemory 값을 기반으로 한 공식을 사용하여 파생된다는 것을 알 수 있습니다. 앞의 표에서 볼 수 있듯이 이 공식은 점점 커지는 R3, R4 및 R5 인스턴스 간에 메모리가 두 배로 늘어남에 따라 1000씩 증가하는 연결 제한을 생성하고 T2 및 T3 인스턴스의 서로 다른 메모리 크기에 대해 45씩 증가하는 연결 제한을 생성합니다.

DBInstanceClassMemory 계산 방법에 대한 자세한 내용은 DB 파라미터 지정 단원을 참조하세요.

Aurora MySQL과 RDS for MySQL DB 인스턴스의 메모리 오버헤드는 서로 다릅니다. 따라서 동일한 인스턴스 클래스를 사용하는 Aurora MySQL과 RDS for MySQL DB 인스턴스의 max_connections 값은 다를 수 있습니다. 테이블의 값은 Aurora MySQL DB 인스턴스에만 적용됩니다.

참고

Aurora를 사용할 경우 T2 및 T3 인스턴스 클래스는 프로덕션 워크로드가 아니라 개발 및 테스트 시나리오에만 사용되기 때문에 해당 인스턴스의 연결 한계는 훨씬 낮습니다.

기본값 연결 한계는 버퍼 풀 및 쿼리 캐시와 같은 다른 주요 메모리 소비자에 대한 기본값을 사용하는 시스템에 맞게 조정됩니다. 클러스터의 다른 설정을 변경하는 경우 DB 인스턴스의 사용 가능한 메모리 증가 또는 감소를 고려하여 연결 한계를 조정할 것을 검토하십시오.

Aurora MySQL에 대한 임시 스토리지 한도

Aurora MySQL은 Aurora 스토리지 하위 시스템에 테이블 및 인덱스를 저장합니다. Aurora MySQL은 비영구 임시 파일 및 InnoDB가 아닌 임시 테이블에 대해 별도의 임시 스토리지 또는 로컬 스토리지를 사용합니다. 로컬 스토리지는 쿼리 처리 중 대용량 데이터 세트를 정렬하거나 인덱스 빌드 작업을 위해 사용하는 파일도 포함합니다. InnoDB 임시 테이블은 포함되지 않습니다.

Aurora MySQL 버전 3의 임시 테이블에 대한 자세한 내용은 Aurora MySQL 버전 3의 새로운 임시 테이블 동작 단원을 참조하세요. 버전 2의 임시 테이블에 대한 자세한 내용은 Aurora MySQL 버전 2의 임시 테이블스페이스 동작 단원을 참조하세요.

DB 인스턴스를 시작 및 중지할 때와 호스트를 교체하는 동안 이러한 볼륨의 데이터 및 임시 파일이 손실됩니다.

이러한 로컬 스토리지 볼륨은 Amazon Elastic Block Store(EBS)에서 백업하며, 더 큰 DB 인스턴스 클래스를 사용하여 확장할 수 있습니다. 스토리지에 대한 자세한 내용은 Amazon Aurora 스토리지 및 안정성 단원을 참조하세요.

로컬 스토리지는 LOAD DATA FROM S3 또는 LOAD XML FROM S3를 사용하여 Amazon S3에서 데이터를 가져오고, SELECT INTO OUTFILE S3를 사용하여 S3로 데이터를 내보내는 데에도 사용됩니다. S3에서 가져오고 S3로 내보내는 방법에 대한 자세한 내용은 다음 내용을 참조하세요.

Aurora MySQL은 대부분의 Aurora MySQL DB 인스턴스 클래스(db.t2, db.t3, db.t4g와 같은 성능 버스트 가능 인스턴스 클래스 유형 제외)에 대한 오류 로그, 일반 로그, 느린 쿼리 로그 및 감사 로그에 별도의 영구 스토리지를 사용합니다. DB 인스턴스를 시작 및 중지할 때와 호스트를 교체하는 동안 이러한 볼륨의 데이터는 유지됩니다.

이 영구 스토리지 볼륨은 Amazon EBS에서도 지원되며 DB 인스턴스 클래스에 따라 크기가 고정되어 있습니다. 더 큰 DB 인스턴스 클래스를 사용하여 확장할 수는 없습니다.

다음 테이블에는 각 Aurora MySQL DB 인스턴스 클래스에 사용할 수 있는 임시 스토리지 및 영구 스토리지의 최대 용량이 나와 있습니다. Aurora에 대한 DB 인스턴스 클래스 지원의 자세한 내용은 Aurora DB 인스턴스 클래스 섹션을 참조하세요.

DB 인스턴스 클래스 사용 가능한 최대 임시/로컬 스토리지(GiB) 로그 파일에 사용할 수 있는 추가적인 최대 스토리지(GiB)
db.x2g.16xlarge 1,280 500
db.x2g.12xlarge 960 500
db.x2g.8xlarge 640 500
db.x2g.4xlarge 320 500
db.x2g.2xlarge 160 60
db.x2g.xlarge 80 60
db.x2g.large 40 60
db.r7g.16xlarge 1,280 500
db.r7g.12xlarge 960 500
db.r7g.8xlarge 640 500
db.r7g.4xlarge 320 500
db.r7g.2xlarge 160 60
db.r7g.xlarge 80 60
db.r7g.large 32 60
db.r6i.32xlarge 2560 500
db.r6i.24xlarge 1920 500
db.r6i.16xlarge 1,280 500
db.r6i.12xlarge 960 500
db.r6i.8xlarge 640 500
db.r6i.4xlarge 320 500
db.r6i.2xlarge 160 60
db.r6i.xlarge 80 60
db.r6i.large 32 60
db.r6g.16xlarge 1,280 500
db.r6g.12xlarge 960 500
db.r6g.8xlarge 640 500
db.r6g.4xlarge 320 500
db.r6g.2xlarge 160 60
db.r6g.xlarge 80 60
db.r6g.large 32 60
db.r5.24xlarge 1920 500
db.r5.16xlarge 1,280 500
db.r5.12xlarge 960 500
db.r5.8xlarge 640 500
db.r5.4xlarge 320 500
db.r5.2xlarge 160 60
db.r5.xlarge 80 60
db.r5.large 32 60
db.r4.16xlarge 1,280 500
db.r4.8xlarge 640 500
db.r4.4xlarge 320 500
db.r4.2xlarge 160 60
db.r4.xlarge 80 60
db.r4.large 32 60
db.t4g.xlarge 32
db.t4g.medium 32
db.t3.large 32
db.t3.medium 32
db.t3.small 32
db.t2.medium 32
db.t2.small 32
중요

이러한 값은 이론적으로 각 DB 인스턴스에서 사용할 수 있는 스토리지의 최대 용량을 나타냅니다. 사용 가능한 실제 로컬 스토리지는 더 낮을 수 있습니다. Aurora의 관리 프로세스에 일부 로컬 스토리지가 사용되며 데이터 로드 전에도 DB 인스턴스에 일부 로컬 스토리지가 사용됩니다. FreeLocalStorage에 설명된 Amazon Aurora에 대한 Amazon CloudWatch 지표 CloudWatch CloudWatch 지표를 사용하여 특정 DB 인스턴스에 사용할 수 있는 임시 스토리지를 모니터링할 수 있습니다. 현재 시간의 여유 스토리지 용량을 확인할 수 있습니다. 시간대별 여유 스토리지 양을 차트로 표시할 수도 있습니다. 시간대별 여유 스토리지를 모니터링하면 값이 증가하는지 또는 감소하는지 확인하거나 최소값, 최대값 또는 평균값을 찾는 데 도움이 됩니다.

(Aurora Serverless v2에는 적용되지 않습니다.)