반응형 SMALL Mysql11 디스크 IO 최적화 시뮬레이션 실습 목표디스크 IO(읽기/쓰기 부하)를 감소시키는 최적화 실습MySQL의 Buffer Pool, Redo Log, Checkpoint 정책 튜닝 체험TPS 향상 + 디스크 IOPS 절감 효과 분석1. 실습 준비 항목 설정 MySQL 버전8.0 이상모니터링iostat, SHOW STATUS, SHOW ENGINE INNODB STATUS부하툴sysbench 또는 수제 SQL 스크립트2. 현재 IO 상태 및 성능 Baseline 측정IO 모니터링 (OS 레벨)iostat -dx 1디스크당 IOPS, await(latency) 확인중요한 항목: r/s, w/s, await, utilMySQL 상태SHOW GLOBAL STATUS LIKE 'Innodb_data_reads';SHOW GLOBAL STATUS .. 2025. 4. 18. InnoDB 메타데이터 확인 및 튜닝 기본 실습 실습 목표InnoDB 주요 내부 상태 및 메타데이터 직접 조회기본적인 튜닝 항목 파악 및 실습 적용서버 부하를 주지 않고 안전하게 수행 가능1. 환경 준비 항목 설정값 MySQL 버전8.0 이상 권장권한SUPER 권한 또는 PERFORMANCE_SCHEMA 활성화실습용 데이터기본 테이블 몇 개 존재하면 충분2. InnoDB 메타데이터 확인2.1 Buffer Pool 상태 확인Buffer Pool 전체 상태 요약SHOW ENGINE INNODB STATUS\GBuffer Pool SizeFree PagesDirty PagesPages Read/Write 수보다 세밀하게 보기SELECT * FROM information_schema.INNODB_BUFFER_POOL_STATS; 주요 컬럼 설명 컬럼 의미 P.. 2025. 4. 18. Redo/Undo 튜닝 시나리오 실습 Redo / Undo 튜닝 시나리오 실습이 실습은 TPS 향상, 트랜잭션 안정성 확보, 디스크 IO 절감을 목표로 설계합니다.1. 실습 환경 준비 항목 설정값 MySQL 버전8.0 이상 권장테스트 테이블대량 Insert/Update/Select용트랜잭션 부하 도구sysbench 추천 or 간단한 스크립트 제작예시: 테스트용 테이블 생성CREATE TABLE t1 ( id BIGINT AUTO_INCREMENT PRIMARY KEY, c1 VARCHAR(255), c2 INT, c3 DATETIME) ENGINE=InnoDB;2. 기본 Redo/Undo 설정 확인먼저 현재 설정을 확인합니다:SHOW VARIABLES LIKE 'innodb_log_file_size';SHOW VARIA.. 2025. 4. 18. Redo, Undo, Doublewrite Buffer 이해 InnoDB Redo / Undo / Doublewrite Buffer 심층 이해1. Redo Log무엇인가?Redo = "변경된 것을 다시 적용"하기 위한 로그트랜잭션 커밋 이후에도,서버 장애가 발생했을 때 데이터를 복구할 수 있도록 변경 기록을 보존하는 메커니즘입니다.주요 역할Crash Recovery: 장애 발생 시, 아직 디스크에 저장되지 않은 변경 사항을 복구Durability (ACID의 D)구조Redo Log Buffer (메모리)변경사항이 버퍼에 임시 저장됨Redo Log Files (ib_logfile0, ib_logfile1, ...)버퍼에서 주기적으로 디스크에 플러시LSN (Log Sequence Number): Redo 기록의 절대 위치Redo 작성/플러시 흐름 1. 데이터 변경 →.. 2025. 4. 18. InnoDB Undo/Redo 내부 구조 InnoDB Undo / Redo 내부 구조 심층 분석InnoDB는Undo와 Redo를 통해 트랜잭션 무결성과 장애 복구를 보장합니다.둘은 역할이 다르지만 서로 긴밀히 연결되어 있습니다.1. Undo LogUndo = 과거로 되돌리는 기록목적트랜잭션 롤백 지원MVCC (Multi-Version Concurrency Control) 구현동작 흐름 1. 데이터 변경 전 상태(Old Version)를 Undo Log에 저장2. 트랜잭션 실패 시 Undo Log를 이용해 원상 복구3. 다른 트랜잭션이 읽을 때, Undo Log를 통해 일관된 Snapshot 제공Undo 내부 구조 구성요소 설명Undo SegmentUndo Record를 묶어 저장하는 논리적 단위Undo Page실제 Undo Record를 저장하.. 2025. 4. 18. InnoDB Storage Engine 상세 InnoDB Storage Engine 심층 분석InnoDB는 MySQL의 기본 스토리지 엔진입니다.ACID 트랜잭션과 Crash Recovery, 외래키(Foreign Key) 지원이 특징이며,대규모 트래픽 시스템에서도 견디도록 설계되어 있습니다.1. InnoDB 아키텍처 개요+---------------------------+| Connection Threads |+---------------------------+| Query Processing Layer |+---------------------------+| InnoDB Storage Engine || ├── Buffer Pool || ├── Transaction System || ├── Loc.. 2025. 4. 18. 이전 1 2 다음 LIST