SlideShare a Scribd company logo
1 of 12
Download to read offline
AWS 환경에서 MySQL BMT
쿠팡 DB Tech / 고도현
목차
1. 테스트 환경
2. Replication 속도 비교
3. 통계 쿼리 속도 비교
4. Alter 속도 비교
5. OLTP 부하 테스트
6. 제약사항 및 해결방안
1. 테스트 환경
server type
cpu
core
cpu model memory
innodb_buffer_
pool_size
disk type MySQL Ver 참고사항
IDC FIO 24
Intel(R) Xeon(R) CPU
E5-2620 v3 @ 2.40GHz
64 GB 32 GB Fusion I/O 5.6.27 # sysbench remote
aurora db.r3.2xlarge 8 E5-2670 v2(아이비 브릿지) 61 GiB 41.2 GB ssd 5.6.10 기반 # sysbench remote
aurora db.r3.4xlarge 16 E5-2670 v2(아이비 브릿지) 122 GiB 86.3 GB ssd 5.6.10 기반 # sysbench remote
aurora db.r3.8xlarge 32 E5-2670 v2(아이비 브릿지) 244 Gib 176.4 GB ssd 5.6.10 기반 # sysbench remote
EC2 r3.8xlarge 32 E5-2670 v2(아이비 브릿지) 244 Gib 32 GB ssd 5.6.27
# sysbench local
# 디스크 구성
/data 2TB io1 20000iops
/log 200GB io1 6000iops
/tmp 200GB io1 6000iops
EC2 r3.8xlarge 32 E5-2670 v2(아이비 브릿지) 244 Gib 32 GB ssd 5.6.27
# sysbench local
# 디스크 구성
3TB io1 20000 iops
(/data 2TB,/log 500GB,/tmp 500GB)
EC2 r3.8xlarge 32 E5-2670 v2(아이비 브릿지) 244 Gib 32 GB ssd 5.6.27
# sysbench local
# 디스크 구성
3TB io1 20000iops
(/data 2TB,/log 500GB,/tmp 500GB)
# 파라미터 튜닝
innodb_log_file_size=2G
innodb_io_capacity=1000
innodb_thread_concurrency=0
performance_schema=OFF
innodb_buffer_pool_instances=64
aurora DB의 innodb_buffer_pool_size => 전체 메모리의 75% ( default : {DBInstanceClassMemory*3/4} )
2. Replicaion 속도 비교
server type
replication
dealy 반영시간
CPU
사용율 (평균)
초당 처리량 순위
IDC FIO (24core 64GB) 176,495 20160609 11:21:20 ~ 20160609 15:37:00 ( 4시간 26분) 5% 11.07 1
aurora r3.2x ( 8core 61GB) 175,953 20160609 11:21:20 ~ 20160609 18:16:00 ( 6시간 55분) 52% 7.07 4
aurora r3.4x (16core 122GB) 176,213 20160609 11:21:20 ~ 20160609 17:40:04 ( 6시간 19분) 33% 7.75 3
aurora r3.8x (32core 244GB) 175,829 20160609 11:21:20 ~ 20160609 17:26:19 ( 6시간 5분) 17% 8.02 2
EC2 r3.8x (32core 244GB) 176,535 20160609 11:21:20 ~ 20160610 09:55:00 (22시간 34분) 5% 미만 2.17 7
EC2 r3.8x (32core 244GB) 161,521 20160810 10:11:56 ~ 20160811 06:15:00 (20시간 4분) 5% 미만 2.23 6
EC2 r3.8x (32core 244GB) 129,878 20160804 13:42:08 ~ 20160805 04:27:00 (14시간 45분) 5% 미만 2.44 5
테스트 결과
테스트 환경
3. 통계 쿼리 속도 비교
server type 수행시간 순위
IDC FIO (24core 64GB) 34분 47초 2
aurora r3.2x ( 8core 61GB) - (lost connection 으로 인해 결과 없음)
aurora r3.4x (16core 122GB) - (lost connection 으로 인해 결과 없음)
aurora r3.8x (32core 244GB) 1시간 20분 17초 4
EC2 r3.8x (32core 244GB) 52분 26초 3
EC2 r3.8x (32core 244GB) 2시간 54초 5
EC2 r3.8x (32core 244GB) 31분 5초 1
테스트 결과
AWS SR 답변 내용
4. Alter 속도 비교
server type 수행시간 순위
IDC FIO (24core 64GB) 2016-06-16 15:26:37 ~ 2016-06-17 01:25:16 (9시간 58분 39초) 1
aurora r3.2x ( 8core 61GB) - (/tmp 크기 제약으로 인해 실패)
aurora r3.4x (16core 122GB) 2016-06-14 10:52:21 ~ 2016-06-15 01:49:16 (14시간 56분 55초) 5
aurora r3.8x (32core 244GB) 2016-06-14 10:52:21 ~ 2016-06-14 24:36:15 (13시간 43분 54초) 2
EC2 r3.8x (32core 244GB) 2016-06-15 16:03:41 ~ 2016-06-16 09:22:46 (17시간 19분 5초) 6
EC2 r3.8x (32core 244GB) 2016-08-18 17:39:37 ~ 2016-08-19 07:28:08 (13시간 49분 31초) 4
EC2 r3.8x (32core 244GB) 2016-08-17 18:56:44 ~ 2016-08-18 08:41:45 (13시간 45분 1초) 3
테스트 결과
테스트 방법
- 200GB 크기의 테이블에 datetime 컬럼 추가 후 속도 측정
- alter table 데이터베이스.테이블 add 컬럼 datetime(6) default null
server class /tmp size
db.r3.l 20 GB
db.r3.xl 60 GB
db.r3.2xl 120 GB
db.r3.4xl 250 GB
db.r3.8xl 420 GB
Aurora DB 클래스 별 /tmp 크기
5. OLTP 부하 테스트
server type read write transaction time 순위
IDC FIO (24core 64GB) 14000238 (29228.05 per sec) 4000068 (8350.87 per sec) 1000017 (2084.99 per sec) 479 sec 1
aurora r3.2x ( 8core 61GB) 14015414 (10474.01 per sec) 4004402 (2992.82 per sec) 1001100 ( 748.14 per sec) 1338 sec 6
aurora r3.4x (16core 122GB) 14001400 (12568.58 per sec) 4000389 (3591.01 per sec) 1000096 ( 897.14 per sec) 1114 sec 5
aurora r3.8x (32core 244GB) 14013006 ( 9093.44 per sec) 4003711 (2598.12 per sec) 1000927 ( 649.50 per sec) 1541 sec 7
EC2 r3.8x (32core 244GB) 14001330 (19664.78 per sec) 4000380 (5618.51 per sec) 1000095 (1404.45 per sec) 712 sec 4
EC2 r3.8x (32core 244GB) 14002436 (22372 per sec) 4000696 (6392 per sec) 1000174 (1598.00 per sec) 625 sec 3
EC2 r3.8x (32core 244GB) 14002772 (23399.55 per sec) 4000792 (6685.58 per sec) 1000198 (1671.40 per sec) 598 sec 2
테스트 결과
테스트 방법
- 32개 thread에서 20개 테이블에 100만 transaction(read+write)을 발생시켜 처리속도 비교
실행 구문
sysbench --test=/sysbench경로/sysbench/tests/db/oltp.lua --num-threads=32 --max-time=0 --max-requests=1000000
--oltp_tables_count=20 --report-interval=1 --oltp-table-size=100000 --mysql-user=root --mysql-password=비밀번호
--mysql-table-engine=innodb --rand-init=on --mysql-db=test --mysql-host=mysql DB IP(or DNS) run
5. OLTP 부하 테스트
테스트 결과
테스트 방법
- 500개 thread에서 250개 테이블에 600초 동안 read 수행 후 처리량 비교
실행 구문
sysbench --test=/sysbench경로/sysbench/tests/db/oltp.lua --oltp-tables-count=250 --mysql-user=root --mysql-password=비밀번호
--mysql-port=3306 --db-driver=mysql --oltp-table-size=25000 --mysql-db=test --max-requests=0 --oltp-simple-ranges=0
--oltp-distinct-ranges=0 --oltp-sum-ranges=0 --oltp-order-ranges=0 --max-time=600 --oltp-read-only=on --num-threads=500
--mysql-host=mysql DB IP(or DNS) run
server type read write transaction time 순위
IDC FIO (24core 64GB) 89390780 (148984.63 per sec) 0 8939078 (14897.42 per sec) 600 sec 2
aurora r3.2x ( 8core 61GB) 32496890 ( 54161.48 per sec) 0 3249689 ( 5415.68 per sec) 600 sec 7
aurora r3.4x (16core 122GB) 48923680 ( 81539.46 per sec) 0 4892368 ( 8143.30 per sec) 600 sec 5
aurora r3.8x (32core 244GB) 49568430 ( 82614.05 per sec) 0 4956843 ( 8257.13 per sec) 600 sec 4
EC2 r3.8x (32core 244GB) 48582260 ( 80970.43 per sec) 0 4858226 ( 8091.53 per sec) 600 sec 6
EC2 r3.8x (32core 244GB) 85345360 (142231.61 per sec) 0 8534536 (14223.16 per sec.) 600 sec 3
EC2 r3.8x (32core 244GB) 94708710 (157847.85 per sec) 0 9470871 (15783.79 per sec.) 600 sec 1
참고 사이트 : https://d0.awsstatic.com/product-marketing/Aurora/RDS_Aurora_Performance_Assessment_Benchmarking_v1-2.pdf
5. OLTP 부하 테스트
테스트 결과
테스트 방법
- 1000개 thread에서 250개 테이블에 600초 동안 write 수행 후 처리량 비교
실행 구문
sysbench --test=/sysbench경로/sysbench/tests/db/oltp.lua --oltp-tables-count=250 --mysql-user=root --mysql-password=비밀번호
--mysql-port=3306 --db-driver=mysql --oltp-table-size=25000 --mysql-db=test --max-requests=0 --max-time=600
--oltp_simple_ranges=0 --oltp-distinct-ranges=0 --oltp-sum-ranges=0 --oltp-order-ranges=0 --oltp-point-selects=0
--num-threads=1000 --mysql-host=mysql DB IP(or DNS) run
server type read write transaction time 순위
IDC FIO (24core 64GB) 0 39269677 (65449.46 per sec) 9817414 (16360.60 per sec.) 600 sec 1
aurora r3.2x ( 8core 61GB) 0 11818545 (19697.57 per sec) 2954584 ( 4922.97 per sec) 600 sec 4
aurora r3.4x (16core 122GB) 0 18581074 (30968.45 per sec) 4645182 ( 7740.81 per sec) 600 sec 3
aurora r3.8x (32core 244GB) 0 21451006 (35751.67 per sec) 5362635 ( 8933.87 per sec) 600 sec 2
EC2 r3.8x (32core 244GB) 0 7158665 (11931.10 per sec) 1789664 ( 2971.14 per sec) 600 sec 7
EC2 r3.8x (32core 244GB) 0 7341178 (12228.16 per sec.) 1835293 ( 3057.04 per sec) 600 sec 6
EC2 r3.8x (32core 244GB) 0 7422540 (12364.14 per sec) 1855634 ( 3091.03 per sec) 600 sec 5
참고 사이트 : https://d0.awsstatic.com/product-marketing/Aurora/RDS_Aurora_Performance_Assessment_Benchmarking_v1-2.pdf
6. 제약사항 및 해결방안
1. /tmp 영역에 대한 크기 제약
- aurora DB 클래스 별 /tmp 크기 제약
- RDS는 인스턴스 생성 시 data, log, tmp 영역의 크기를 계산하여 디스크 볼륨 할당 필요
- 해결방안 : 클래스별 /tmp 크기에 따라 테이블 사이즈에 제한을 두고 운영
alter 가 필요한 경우 높은 클래스의 replica를 생성하여 master change 후 진행
2. 통계 쿼리 수행 시 lost connection 발생
- aurora DB의 경우 OLTP 용도로 설계되어 OLAP 용도 쿼리 성능 저하 발생
- 해결방안 : 쿼리의 조건의 범위를 줄여서 여러 번 수행, 별도의 EC2 DB를 replication으로 연결하여 배치용도로 운영
3. lvs 개념의 부재
- EC2 서버에 lvs 설정 시 loop back이나 IP 변조가 되지 않아 lvs 사용 불가
- RDS의 경우 실제 서버 IP는 숨겨져 있고 endpoint(DNS)를 통해 접근하는 방식이어서 여러 개의 DNS를 하나로 묶을 수 없음
- 해결 방안 : RDS -> maria DB JDBC connector 사용 시 load balancing, failover(10~20초) 지원 (java application만 가능)
참고 사이트 : https://mariadb.com/kb/en/mariadb/failover-and-high-availability-with-mariadb-connector-j/
EC2 -> 자체 지원하는 load balancer (ELB)가 있음
AWS에서 DNS 기반으로 failover 지원 및 load balancing 기능 개발 중
4. master change 시 down time 필요
- aurora DB에서 replica 운영 시 master change에 최대 1분의 down time 필요 (replica가 없는 경우 최대 15분의 down time 필요)
참고 사이트 : http://aws.amazon.com/ko/rds/aurora/faqs/ 의 고가용성 및 복제
- 해결 방안 : DB서버로 들어오는 쿼리를 일정시간 막는 기능 필요 (내부 개발자에 의해 개발됨)
5. OS 영역 접근 불가
- RDS 환경인 경우 로컬 디스크에 접근 할 수 없어 쉘 스크립트 사용 할 수 없고 agent 설치가 불가 (모니터링, cdc 등)
- 해결 방안 ; lamda를 사용하여 쉘 기능 대체 (개발을 할 줄 알아야함. 아직 seoul region 미지원)
agentless 방식의 모니터링 사용(exem, cloudwatch, datadog 등)
cdc용도의 EC2 DB를 replication 연결하여 운영
AWS DMS 사용 (8월 초 seoul region 적용)
6. 제약사항 및 해결방안
6. mysql super 권한 X
- RDS 환경인 경우 mysql DB의 super 권한이 없어서 파라미터 변경 구문 사용 불가, change master 구문 사용 불가
- 해결방안 : 파라미터 변경시 parameter group에서 변경 (일부 파라미터의 경우 DB 재시작 후 적용됨)
replication 연결 시 자체 지원 procedure를 통해서 가능
참고 사이트 : http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Appendix.MySQL.SQLRef.html
7. replication 연결 시 master_host 길이 제약
- RDS의 경우 실제 서버 IP는 숨겨져 있고 endpoint(DNS)를 통해 접근하는 방식
- aurora : identifier.(1개)cluster-(8개)고유값(숫자+영어12개).(1개)리전명(14개).rds.amazonaws.com(18개) -> identifier를 제외하고 54자리
- RDS mysql : identifier.(1개)고유값(숫자+영어12개).(1개)리전명(14개).rds.amazonaws.com(18개) -> identifier를 제외하고 46자리
- change master 구문의 master_host 길이는 varchar 60자리
참고 사이트 : http://dev.mysql.com/doc/refman/5.7/en/change-master-to.html
- 해결방안 : aurora DB를 replication 마스터로 사용할 경우 identifier 길이를 6자 이내로 설정 (RDS mysql은 14자 이내)
identifier를 코드 값으로 설정하고 별도의 테이블에 관리
8. fusion I/O 대비 성능 저하
테스트 내용 1위 2위
replication 속도 비교 IDC FIO (24core 64GB) aurora r3.8x (32core 244GB)
통계쿼리 속도 비교 EC2 r3.8x (32core 244GB) / 디스크 , 파라미터 튜닝 IDC FIO (24core 64GB)
alter 속도 비교 IDC FIO (24core 64GB) aurora r3.8x (32core 244GB)
OLTP read+write IDC FIO (24core 64GB) EC2 r3.8x (32core 244GB) / 디스크 , 파라미터 튜닝
OLTP rerad EC2 r3.8x (32core 244GB) / 디스크 , 파라미터 튜닝 IDC FIO (24core 64GB)
OLTP write IDC FIO (24core 64GB) aurora r3.8x (32core 244GB)
AWS 환경에서 MySQL BMT

More Related Content

What's hot

[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
Amazon Web Services Japan
 

What's hot (20)

MySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptxMySQL8.0_performance_schema.pptx
MySQL8.0_performance_schema.pptx
 
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
 
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
2017 AWS DB Day | Amazon Aurora 자세히 살펴보기
 
AWS RDS Benchmark - Instance comparison
AWS RDS Benchmark - Instance comparisonAWS RDS Benchmark - Instance comparison
AWS RDS Benchmark - Instance comparison
 
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
 
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
 
AWS Aurora 100% 활용하기
AWS Aurora 100% 활용하기AWS Aurora 100% 활용하기
AWS Aurora 100% 활용하기
 
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
 
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
 
[MeetUp][3rd] 아무도 이야기하지 않는 클라우드 3사 솔직 비교
[MeetUp][3rd] 아무도 이야기하지 않는 클라우드 3사 솔직 비교[MeetUp][3rd] 아무도 이야기하지 않는 클라우드 3사 솔직 비교
[MeetUp][3rd] 아무도 이야기하지 않는 클라우드 3사 솔직 비교
 
オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
 
Amazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB DayAmazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB Day
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptx
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
 
Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기Maria db 이중화구성_고민하기
Maria db 이중화구성_고민하기
 
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
 
Best Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWSBest Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWS
 
Introducing Change Data Capture with Debezium
Introducing Change Data Capture with DebeziumIntroducing Change Data Capture with Debezium
Introducing Change Data Capture with Debezium
 
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
 

Similar to AWS 환경에서 MySQL BMT

[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
OpenStack Korea Community
 
246 deview 2013 신기빈
246 deview 2013 신기빈246 deview 2013 신기빈
246 deview 2013 신기빈
NAVER D2
 
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Web Services Korea
 
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
Amazon Web Services Korea
 
Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드
Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드
Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드
cranbe95
 

Similar to AWS 환경에서 MySQL BMT (20)

AWS 상에서 게임 서비스 최적화 방안 :: 박선용 :: AWS Summit Seoul 2016
AWS 상에서 게임 서비스 최적화 방안 :: 박선용 :: AWS Summit Seoul 2016AWS 상에서 게임 서비스 최적화 방안 :: 박선용 :: AWS Summit Seoul 2016
AWS 상에서 게임 서비스 최적화 방안 :: 박선용 :: AWS Summit Seoul 2016
 
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
 
Introduction to Apache Tajo
Introduction to Apache TajoIntroduction to Apache Tajo
Introduction to Apache Tajo
 
246 deview 2013 신기빈
246 deview 2013 신기빈246 deview 2013 신기빈
246 deview 2013 신기빈
 
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
 
광안 1반 2팀 엠퀴즈 최종 발표 자료.pptx
광안 1반 2팀 엠퀴즈 최종 발표 자료.pptx광안 1반 2팀 엠퀴즈 최종 발표 자료.pptx
광안 1반 2팀 엠퀴즈 최종 발표 자료.pptx
 
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
 
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
 
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
 
AWS 9월 웨비나 | Amazon Aurora Deep Dive
AWS 9월 웨비나 | Amazon Aurora Deep DiveAWS 9월 웨비나 | Amazon Aurora Deep Dive
AWS 9월 웨비나 | Amazon Aurora Deep Dive
 
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
 
Virtual Edition
Virtual EditionVirtual Edition
Virtual Edition
 
Apache httpd ( 아파치 웹서버 ) 설치 가이드
Apache httpd ( 아파치 웹서버 ) 설치 가이드Apache httpd ( 아파치 웹서버 ) 설치 가이드
Apache httpd ( 아파치 웹서버 ) 설치 가이드
 
Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드
Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드
Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
 
Tajo TPC-H Benchmark Test on AWS
Tajo TPC-H Benchmark Test on AWSTajo TPC-H Benchmark Test on AWS
Tajo TPC-H Benchmark Test on AWS
 
Amazon Aurora 100% 활용하기
Amazon Aurora 100% 활용하기Amazon Aurora 100% 활용하기
Amazon Aurora 100% 활용하기
 
Alluxio: Data Orchestration on Multi-Cloud
Alluxio: Data Orchestration on Multi-CloudAlluxio: Data Orchestration on Multi-Cloud
Alluxio: Data Orchestration on Multi-Cloud
 
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 

More from I Goo Lee

More from I Goo Lee (20)

MySQL_Fabric_운영시유의사항
MySQL_Fabric_운영시유의사항MySQL_Fabric_운영시유의사항
MySQL_Fabric_운영시유의사항
 
MySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOMySQL Deep dive with FusionIO
MySQL Deep dive with FusionIO
 
From MSSQL to MySQL
From MSSQL to MySQLFrom MSSQL to MySQL
From MSSQL to MySQL
 
From MSSQL to MariaDB
From MSSQL to MariaDBFrom MSSQL to MariaDB
From MSSQL to MariaDB
 
Backup automation in KAKAO
Backup automation in KAKAO Backup automation in KAKAO
Backup automation in KAKAO
 
텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축
 
Federated Engine 실무적용사례
Federated Engine 실무적용사례Federated Engine 실무적용사례
Federated Engine 실무적용사례
 
MySQL 5.7 NF – Optimizer Improvement
 MySQL 5.7 NF – Optimizer Improvement MySQL 5.7 NF – Optimizer Improvement
MySQL 5.7 NF – Optimizer Improvement
 
MySQL 5.7 NF – JSON Datatype 활용
MySQL 5.7 NF – JSON Datatype 활용MySQL 5.7 NF – JSON Datatype 활용
MySQL 5.7 NF – JSON Datatype 활용
 
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
Intro KaKao MRTE (MySQL Realtime Traffic Emulator)
 
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
 
AWS 환경에서 MySQL Infra 설계하기-2본론
AWS 환경에서 MySQL Infra 설계하기-2본론AWS 환경에서 MySQL Infra 설계하기-2본론
AWS 환경에서 MySQL Infra 설계하기-2본론
 
AWS 환경에서 MySQL Infra 설계하기-1도입부분
AWS 환경에서 MySQL Infra 설계하기-1도입부분AWS 환경에서 MySQL Infra 설계하기-1도입부분
AWS 환경에서 MySQL Infra 설계하기-1도입부분
 
MySQL Slow Query log Monitoring using Beats & ELK
MySQL Slow Query log Monitoring using Beats & ELKMySQL Slow Query log Monitoring using Beats & ELK
MySQL Slow Query log Monitoring using Beats & ELK
 
MySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELKMySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELK
 
PostgreSQL 이야기
PostgreSQL 이야기PostgreSQL 이야기
PostgreSQL 이야기
 
Intro KaKao ADT (Almighty Data Transmitter)
Intro KaKao ADT (Almighty Data Transmitter)Intro KaKao ADT (Almighty Data Transmitter)
Intro KaKao ADT (Almighty Data Transmitter)
 
Binlog Servers 구축사례
Binlog Servers 구축사례Binlog Servers 구축사례
Binlog Servers 구축사례
 
Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQL
 
1.mysql disk io 모니터링 및 분석사례
1.mysql disk io 모니터링 및 분석사례1.mysql disk io 모니터링 및 분석사례
1.mysql disk io 모니터링 및 분석사례
 

AWS 환경에서 MySQL BMT

  • 1. AWS 환경에서 MySQL BMT 쿠팡 DB Tech / 고도현
  • 2. 목차 1. 테스트 환경 2. Replication 속도 비교 3. 통계 쿼리 속도 비교 4. Alter 속도 비교 5. OLTP 부하 테스트 6. 제약사항 및 해결방안
  • 3. 1. 테스트 환경 server type cpu core cpu model memory innodb_buffer_ pool_size disk type MySQL Ver 참고사항 IDC FIO 24 Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz 64 GB 32 GB Fusion I/O 5.6.27 # sysbench remote aurora db.r3.2xlarge 8 E5-2670 v2(아이비 브릿지) 61 GiB 41.2 GB ssd 5.6.10 기반 # sysbench remote aurora db.r3.4xlarge 16 E5-2670 v2(아이비 브릿지) 122 GiB 86.3 GB ssd 5.6.10 기반 # sysbench remote aurora db.r3.8xlarge 32 E5-2670 v2(아이비 브릿지) 244 Gib 176.4 GB ssd 5.6.10 기반 # sysbench remote EC2 r3.8xlarge 32 E5-2670 v2(아이비 브릿지) 244 Gib 32 GB ssd 5.6.27 # sysbench local # 디스크 구성 /data 2TB io1 20000iops /log 200GB io1 6000iops /tmp 200GB io1 6000iops EC2 r3.8xlarge 32 E5-2670 v2(아이비 브릿지) 244 Gib 32 GB ssd 5.6.27 # sysbench local # 디스크 구성 3TB io1 20000 iops (/data 2TB,/log 500GB,/tmp 500GB) EC2 r3.8xlarge 32 E5-2670 v2(아이비 브릿지) 244 Gib 32 GB ssd 5.6.27 # sysbench local # 디스크 구성 3TB io1 20000iops (/data 2TB,/log 500GB,/tmp 500GB) # 파라미터 튜닝 innodb_log_file_size=2G innodb_io_capacity=1000 innodb_thread_concurrency=0 performance_schema=OFF innodb_buffer_pool_instances=64 aurora DB의 innodb_buffer_pool_size => 전체 메모리의 75% ( default : {DBInstanceClassMemory*3/4} )
  • 4. 2. Replicaion 속도 비교 server type replication dealy 반영시간 CPU 사용율 (평균) 초당 처리량 순위 IDC FIO (24core 64GB) 176,495 20160609 11:21:20 ~ 20160609 15:37:00 ( 4시간 26분) 5% 11.07 1 aurora r3.2x ( 8core 61GB) 175,953 20160609 11:21:20 ~ 20160609 18:16:00 ( 6시간 55분) 52% 7.07 4 aurora r3.4x (16core 122GB) 176,213 20160609 11:21:20 ~ 20160609 17:40:04 ( 6시간 19분) 33% 7.75 3 aurora r3.8x (32core 244GB) 175,829 20160609 11:21:20 ~ 20160609 17:26:19 ( 6시간 5분) 17% 8.02 2 EC2 r3.8x (32core 244GB) 176,535 20160609 11:21:20 ~ 20160610 09:55:00 (22시간 34분) 5% 미만 2.17 7 EC2 r3.8x (32core 244GB) 161,521 20160810 10:11:56 ~ 20160811 06:15:00 (20시간 4분) 5% 미만 2.23 6 EC2 r3.8x (32core 244GB) 129,878 20160804 13:42:08 ~ 20160805 04:27:00 (14시간 45분) 5% 미만 2.44 5 테스트 결과 테스트 환경
  • 5. 3. 통계 쿼리 속도 비교 server type 수행시간 순위 IDC FIO (24core 64GB) 34분 47초 2 aurora r3.2x ( 8core 61GB) - (lost connection 으로 인해 결과 없음) aurora r3.4x (16core 122GB) - (lost connection 으로 인해 결과 없음) aurora r3.8x (32core 244GB) 1시간 20분 17초 4 EC2 r3.8x (32core 244GB) 52분 26초 3 EC2 r3.8x (32core 244GB) 2시간 54초 5 EC2 r3.8x (32core 244GB) 31분 5초 1 테스트 결과 AWS SR 답변 내용
  • 6. 4. Alter 속도 비교 server type 수행시간 순위 IDC FIO (24core 64GB) 2016-06-16 15:26:37 ~ 2016-06-17 01:25:16 (9시간 58분 39초) 1 aurora r3.2x ( 8core 61GB) - (/tmp 크기 제약으로 인해 실패) aurora r3.4x (16core 122GB) 2016-06-14 10:52:21 ~ 2016-06-15 01:49:16 (14시간 56분 55초) 5 aurora r3.8x (32core 244GB) 2016-06-14 10:52:21 ~ 2016-06-14 24:36:15 (13시간 43분 54초) 2 EC2 r3.8x (32core 244GB) 2016-06-15 16:03:41 ~ 2016-06-16 09:22:46 (17시간 19분 5초) 6 EC2 r3.8x (32core 244GB) 2016-08-18 17:39:37 ~ 2016-08-19 07:28:08 (13시간 49분 31초) 4 EC2 r3.8x (32core 244GB) 2016-08-17 18:56:44 ~ 2016-08-18 08:41:45 (13시간 45분 1초) 3 테스트 결과 테스트 방법 - 200GB 크기의 테이블에 datetime 컬럼 추가 후 속도 측정 - alter table 데이터베이스.테이블 add 컬럼 datetime(6) default null server class /tmp size db.r3.l 20 GB db.r3.xl 60 GB db.r3.2xl 120 GB db.r3.4xl 250 GB db.r3.8xl 420 GB Aurora DB 클래스 별 /tmp 크기
  • 7. 5. OLTP 부하 테스트 server type read write transaction time 순위 IDC FIO (24core 64GB) 14000238 (29228.05 per sec) 4000068 (8350.87 per sec) 1000017 (2084.99 per sec) 479 sec 1 aurora r3.2x ( 8core 61GB) 14015414 (10474.01 per sec) 4004402 (2992.82 per sec) 1001100 ( 748.14 per sec) 1338 sec 6 aurora r3.4x (16core 122GB) 14001400 (12568.58 per sec) 4000389 (3591.01 per sec) 1000096 ( 897.14 per sec) 1114 sec 5 aurora r3.8x (32core 244GB) 14013006 ( 9093.44 per sec) 4003711 (2598.12 per sec) 1000927 ( 649.50 per sec) 1541 sec 7 EC2 r3.8x (32core 244GB) 14001330 (19664.78 per sec) 4000380 (5618.51 per sec) 1000095 (1404.45 per sec) 712 sec 4 EC2 r3.8x (32core 244GB) 14002436 (22372 per sec) 4000696 (6392 per sec) 1000174 (1598.00 per sec) 625 sec 3 EC2 r3.8x (32core 244GB) 14002772 (23399.55 per sec) 4000792 (6685.58 per sec) 1000198 (1671.40 per sec) 598 sec 2 테스트 결과 테스트 방법 - 32개 thread에서 20개 테이블에 100만 transaction(read+write)을 발생시켜 처리속도 비교 실행 구문 sysbench --test=/sysbench경로/sysbench/tests/db/oltp.lua --num-threads=32 --max-time=0 --max-requests=1000000 --oltp_tables_count=20 --report-interval=1 --oltp-table-size=100000 --mysql-user=root --mysql-password=비밀번호 --mysql-table-engine=innodb --rand-init=on --mysql-db=test --mysql-host=mysql DB IP(or DNS) run
  • 8. 5. OLTP 부하 테스트 테스트 결과 테스트 방법 - 500개 thread에서 250개 테이블에 600초 동안 read 수행 후 처리량 비교 실행 구문 sysbench --test=/sysbench경로/sysbench/tests/db/oltp.lua --oltp-tables-count=250 --mysql-user=root --mysql-password=비밀번호 --mysql-port=3306 --db-driver=mysql --oltp-table-size=25000 --mysql-db=test --max-requests=0 --oltp-simple-ranges=0 --oltp-distinct-ranges=0 --oltp-sum-ranges=0 --oltp-order-ranges=0 --max-time=600 --oltp-read-only=on --num-threads=500 --mysql-host=mysql DB IP(or DNS) run server type read write transaction time 순위 IDC FIO (24core 64GB) 89390780 (148984.63 per sec) 0 8939078 (14897.42 per sec) 600 sec 2 aurora r3.2x ( 8core 61GB) 32496890 ( 54161.48 per sec) 0 3249689 ( 5415.68 per sec) 600 sec 7 aurora r3.4x (16core 122GB) 48923680 ( 81539.46 per sec) 0 4892368 ( 8143.30 per sec) 600 sec 5 aurora r3.8x (32core 244GB) 49568430 ( 82614.05 per sec) 0 4956843 ( 8257.13 per sec) 600 sec 4 EC2 r3.8x (32core 244GB) 48582260 ( 80970.43 per sec) 0 4858226 ( 8091.53 per sec) 600 sec 6 EC2 r3.8x (32core 244GB) 85345360 (142231.61 per sec) 0 8534536 (14223.16 per sec.) 600 sec 3 EC2 r3.8x (32core 244GB) 94708710 (157847.85 per sec) 0 9470871 (15783.79 per sec.) 600 sec 1 참고 사이트 : https://d0.awsstatic.com/product-marketing/Aurora/RDS_Aurora_Performance_Assessment_Benchmarking_v1-2.pdf
  • 9. 5. OLTP 부하 테스트 테스트 결과 테스트 방법 - 1000개 thread에서 250개 테이블에 600초 동안 write 수행 후 처리량 비교 실행 구문 sysbench --test=/sysbench경로/sysbench/tests/db/oltp.lua --oltp-tables-count=250 --mysql-user=root --mysql-password=비밀번호 --mysql-port=3306 --db-driver=mysql --oltp-table-size=25000 --mysql-db=test --max-requests=0 --max-time=600 --oltp_simple_ranges=0 --oltp-distinct-ranges=0 --oltp-sum-ranges=0 --oltp-order-ranges=0 --oltp-point-selects=0 --num-threads=1000 --mysql-host=mysql DB IP(or DNS) run server type read write transaction time 순위 IDC FIO (24core 64GB) 0 39269677 (65449.46 per sec) 9817414 (16360.60 per sec.) 600 sec 1 aurora r3.2x ( 8core 61GB) 0 11818545 (19697.57 per sec) 2954584 ( 4922.97 per sec) 600 sec 4 aurora r3.4x (16core 122GB) 0 18581074 (30968.45 per sec) 4645182 ( 7740.81 per sec) 600 sec 3 aurora r3.8x (32core 244GB) 0 21451006 (35751.67 per sec) 5362635 ( 8933.87 per sec) 600 sec 2 EC2 r3.8x (32core 244GB) 0 7158665 (11931.10 per sec) 1789664 ( 2971.14 per sec) 600 sec 7 EC2 r3.8x (32core 244GB) 0 7341178 (12228.16 per sec.) 1835293 ( 3057.04 per sec) 600 sec 6 EC2 r3.8x (32core 244GB) 0 7422540 (12364.14 per sec) 1855634 ( 3091.03 per sec) 600 sec 5 참고 사이트 : https://d0.awsstatic.com/product-marketing/Aurora/RDS_Aurora_Performance_Assessment_Benchmarking_v1-2.pdf
  • 10. 6. 제약사항 및 해결방안 1. /tmp 영역에 대한 크기 제약 - aurora DB 클래스 별 /tmp 크기 제약 - RDS는 인스턴스 생성 시 data, log, tmp 영역의 크기를 계산하여 디스크 볼륨 할당 필요 - 해결방안 : 클래스별 /tmp 크기에 따라 테이블 사이즈에 제한을 두고 운영 alter 가 필요한 경우 높은 클래스의 replica를 생성하여 master change 후 진행 2. 통계 쿼리 수행 시 lost connection 발생 - aurora DB의 경우 OLTP 용도로 설계되어 OLAP 용도 쿼리 성능 저하 발생 - 해결방안 : 쿼리의 조건의 범위를 줄여서 여러 번 수행, 별도의 EC2 DB를 replication으로 연결하여 배치용도로 운영 3. lvs 개념의 부재 - EC2 서버에 lvs 설정 시 loop back이나 IP 변조가 되지 않아 lvs 사용 불가 - RDS의 경우 실제 서버 IP는 숨겨져 있고 endpoint(DNS)를 통해 접근하는 방식이어서 여러 개의 DNS를 하나로 묶을 수 없음 - 해결 방안 : RDS -> maria DB JDBC connector 사용 시 load balancing, failover(10~20초) 지원 (java application만 가능) 참고 사이트 : https://mariadb.com/kb/en/mariadb/failover-and-high-availability-with-mariadb-connector-j/ EC2 -> 자체 지원하는 load balancer (ELB)가 있음 AWS에서 DNS 기반으로 failover 지원 및 load balancing 기능 개발 중 4. master change 시 down time 필요 - aurora DB에서 replica 운영 시 master change에 최대 1분의 down time 필요 (replica가 없는 경우 최대 15분의 down time 필요) 참고 사이트 : http://aws.amazon.com/ko/rds/aurora/faqs/ 의 고가용성 및 복제 - 해결 방안 : DB서버로 들어오는 쿼리를 일정시간 막는 기능 필요 (내부 개발자에 의해 개발됨) 5. OS 영역 접근 불가 - RDS 환경인 경우 로컬 디스크에 접근 할 수 없어 쉘 스크립트 사용 할 수 없고 agent 설치가 불가 (모니터링, cdc 등) - 해결 방안 ; lamda를 사용하여 쉘 기능 대체 (개발을 할 줄 알아야함. 아직 seoul region 미지원) agentless 방식의 모니터링 사용(exem, cloudwatch, datadog 등) cdc용도의 EC2 DB를 replication 연결하여 운영 AWS DMS 사용 (8월 초 seoul region 적용)
  • 11. 6. 제약사항 및 해결방안 6. mysql super 권한 X - RDS 환경인 경우 mysql DB의 super 권한이 없어서 파라미터 변경 구문 사용 불가, change master 구문 사용 불가 - 해결방안 : 파라미터 변경시 parameter group에서 변경 (일부 파라미터의 경우 DB 재시작 후 적용됨) replication 연결 시 자체 지원 procedure를 통해서 가능 참고 사이트 : http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Appendix.MySQL.SQLRef.html 7. replication 연결 시 master_host 길이 제약 - RDS의 경우 실제 서버 IP는 숨겨져 있고 endpoint(DNS)를 통해 접근하는 방식 - aurora : identifier.(1개)cluster-(8개)고유값(숫자+영어12개).(1개)리전명(14개).rds.amazonaws.com(18개) -> identifier를 제외하고 54자리 - RDS mysql : identifier.(1개)고유값(숫자+영어12개).(1개)리전명(14개).rds.amazonaws.com(18개) -> identifier를 제외하고 46자리 - change master 구문의 master_host 길이는 varchar 60자리 참고 사이트 : http://dev.mysql.com/doc/refman/5.7/en/change-master-to.html - 해결방안 : aurora DB를 replication 마스터로 사용할 경우 identifier 길이를 6자 이내로 설정 (RDS mysql은 14자 이내) identifier를 코드 값으로 설정하고 별도의 테이블에 관리 8. fusion I/O 대비 성능 저하 테스트 내용 1위 2위 replication 속도 비교 IDC FIO (24core 64GB) aurora r3.8x (32core 244GB) 통계쿼리 속도 비교 EC2 r3.8x (32core 244GB) / 디스크 , 파라미터 튜닝 IDC FIO (24core 64GB) alter 속도 비교 IDC FIO (24core 64GB) aurora r3.8x (32core 244GB) OLTP read+write IDC FIO (24core 64GB) EC2 r3.8x (32core 244GB) / 디스크 , 파라미터 튜닝 OLTP rerad EC2 r3.8x (32core 244GB) / 디스크 , 파라미터 튜닝 IDC FIO (24core 64GB) OLTP write IDC FIO (24core 64GB) aurora r3.8x (32core 244GB)