[ 기본 사항]

1. 기본 basic은 사용불가 (default 옵션 변경안됨)
2. cpu core or 스펙에 따라 사용가능 세션 및 tps 증가
3. key vault를 사용하면 read replica 구성 및 restore 불가
   => Data encryption에서 revalidate 수행
4. read replica설정은 따로 설정해야 함 (master 정보를 그대로 가져가지 않음, time_zone)
5. 스토리지 엔진지원 안됨
   MyISAM, BLACKHOLE, ARCHIVE, FEDERATED
6. mysqldump 사용시 definer 권한 제거 (--skip-definer)
7. select .. into outfile, load_file 지원되지 않음


[ 구성 또는 운영시 참조 사항 ]
1. single server 사용   
2. Memory optimized 버전 사용
3. MySQL Version 8.0 사용
4. transaction_isolation를 read-committed로 변경
5. storage space는 autogrowth로 설정 (online)
6. local_file를 off로 설정
7. max_connection 개수를 최대치로 조정
9. TLS 기능 Disable 
10.timezone load => CALL mysql.az_load_timezone(); 
   time_zone를 +09:00(Asia/Seoul) 로 조정
11.mysql driver 
   java : https://github.com/mysql/mysql-connector-j
   python : https://pypi.python.org/pypi/mysql-connector-python
12.내부에서 접속하기 위해서는 private endpoint connections 생성
   => 나머지는 모두 네트웍 disable 수행
13.audit_log_enabled = ON 로 설정하여 최소 감사설정 (부하로 인해 최소화)
   audit_log_events=CONNECTION,DDL,DCL audit_log_exclude_users=azure_superuser
14.세션 kill 작업
   call mysql.az_kill(processlsit_id)
   call mysql.az_kill_query(processlist_id)
15.replication 오류 복제 건너띄기
   CALL mysql.az_replication_skip_counter
16.binlog 내용 확인 하기
   show binlog events in 'mysql-bin.000019' from 100 limit 10;
17.slow query log 기능 on (slow_query_log=on)
   slow log 확인은 server logs 탭에서 확인

 

[부하 테스트]

-- run
sysbench --mysql-host=test1.mysql.database.azure.com --mysql-port=3306 --mysql-user=sysbench --report-interval=2 \
--mysql-password="" --mysql-db=test --table-size=1000000 \
--threads=400 --tables=2 --time=100 /usr/share/sysbench/oltp_read_only.lua run

sysbench --mysql-host=test1.mysql.database.azure.com --mysql-port=3306 --mysql-user=sysbench --report-interval=2 \
--mysql-password="" --mysql-db=test --table-size=5000000 \
--threads=400 --tables=2 --time=100 /usr/share/sysbench/oltp_read_write.lua run

sysbench --mysql-host=test1.mysql.database.azure.com --mysql-port=3306 --mysql-user=sysbench --report-interval=2 \
--mysql-password="" --mysql-db=test --table-size=5000000 \
--threads=400 --tables=2 --time=100 /usr/share/sysbench/oltp_read_only.lua run

-- cleanup
sysbench --mysql-host=test1.mysql.database.azure.com --mysql-port=3306 --mysql-user=sysbench@test1 \
--mysql-password="" --mysql-db=test --table-size=5000000 \
--tables=1 --threads=1 /usr/share/sysbench/oltp_read_only.lua cleanup

 

[기본 구조]

1) 서버 확장시 동작

 

2) 서버 Failover시 동작

'RDB > MySQL' 카테고리의 다른 글

azure mysql ssl 연결  (0) 2022.02.15
mysql 8.0 replication filter 적용  (0) 2021.12.08
rpm 파일 저장  (0) 2021.11.23
mysqldump 옵션  (0) 2021.11.15
mysql was와 db 커넥션 테스트  (0) 2021.07.23

+ Recent posts