나는 시드니 지역에 Amazon Aurora의 인스턴스 하나를 생성하고 그것에 내 RDS 스냅 샷을 복원했습니다. 나는 약 6k 레코드를 가지고있는 내 테이블 중 하나에 대해 하나의 간단한 쿼리를 실행 중이며 매우 느린 결과를 반환합니다. 내 인스턴스에 연결된 기본 매개 변수 그룹에서 매개 변수를 변경하지 않았습니다. 이 쿼리는 기존 RDS 인스턴스에서 0.200 초로 동일한 매개 변수로 완벽하게 실행되며 빠른 응답을 반환합니다. 그러나 동일한 쿼리는 오로라에서 약 0.350 초 걸립니다. 내 쿼리 계획 (EXPLAIN)은 나에게 아무런 문제가 없음을 보여줍니다. PRIMARY 인덱스를 사용하여 결과를 얻습니다. 그래서 나는 이해할 수 없다. 왜 그렇게 느린가? 매개 변수를 구성해야합니까? 그들은 오로라가 RDS보다 5 배 빠르다 고 주장합니다. 어떻게 확인하나요? 감사합니다. .아마존의 Aurora는 Amazon RDS에 비해 느림
답변
오로라는 MySQL을 기반으로 한 Amazon RDS 유형이기도합니다. RDS의 데이터를 RDS의 Aurora로 어떻게 마이그레이션 했습니까? Amazon DMS를 사용하여 Mysql/MariaDB/Aurora RDS와 Aurora RDS간에 데이터를 마이그레이션 했습니까? 스냅 샷을 복원했다고하셨습니다 - (오로라가 아닌 스냅 샷에서 오로라를 복원하는 것은 불가능합니다).
다른 비 RDS MariaDB에서 Amazon DMS를 통해 데이터를 마이그레이션 할 때 MariaDB 및 Aurora에서 성능 문제가있었습니다. 그것은 매우 느렸다! MariaDB와 RDS DM 간의 마이그레이션 프로세스는 문제없이 진행되었지만 오류/경고 로그는 없었지만 매우 느린 작업이었습니다. 거의 모든 쿼리는 MariaDB의 표준 EC2 인스턴스보다 100 배나 더 많은 시간이 걸렸습니다. IOPS, RDS 크기 조정, 매개 변수 변경 등을 시도했습니다.
내 솔루션은 DMS 마이그레이션 (테이블 생성 스키마에서 많이 변경됨)을 사용하지 않는 것이 었습니다. 나는 EC2 Instance에서 MariaDB와 함께 mysqldump
을 수행하고 그것을 새로운 MariaDB RDS로 복원했습니다. 좋은 성능으로 모든 것이 예상대로 작동하기 시작했습니다.
중단 시간이나 스냅 샷을 사용하지 않고 DMS를 사용하여 Aurora에서 MySQL RDS로 마이그레이션해야합니까? 내 데이터베이스가 매우 크기 때문에 (약 16GB) mysqldump를 사용하여 다운로드하는 데 많은 시간이 걸린다. 나는 어떤 중단 시간도 원하지 않는다. –
단일 쿼리를 한 번 실행하는 것보다 더 철저하게 벤치마킹 해 보셨습니까? 또한 오로라는 개별 쿼리가 아닌 ** 최대 ** 5 배, 처리량 **은 ** (문서에서 더 깊음 - 마케팅 복사본이 무책임 함)이라고 주장합니다. – ceejayoz
각 컴퓨터에서'SELECT 1;'은 얼마나 걸리나요? 그들이 얼마나 멀리 떨어져 있는지 측정 할 수 있습니다. 당신은 (세계에) 어디에 위치해 있습니까? –
@RickJames, 저는 인도 출신이고 Instance는 호주 시드니에 있습니다. 이 대기 시간 때문에 거리가 중요합니까? 현재 내 로컬 mysql 데이터베이스에서 쿼리를 실행하면 결과는 72 밀리 초로 반환되고 RDS (싱가포르)의 동일한 쿼리는 172 밀리 초로 결과를 반환합니다. 약 100 밀리 초는 거리 대기 시간 일 수 있음을 의미합니다. 내가 맞습니까? –