반응형 SMALL 분류 전체보기120 디스크 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. Buffer Pool Size 변경 후 TPS 변화 시뮬레이션 스크립트 실습 목표innodb_buffer_pool_size를 조정하여TPS (Transactions Per Second) 성능 변화를 직접 체험메모리 설정이 실제 서버 성능에 미치는 영향을 이해1. 기본 준비 항목 설정 MySQL 버전8.0 이상 권장부하 툴sysbench 사용 추천 or 직접 SQL 스크립트 사용 가능테스트 테이블데이터가 100만건 이상 존재하는 테이블테스트용 테이블 예시 (없으면 생성)CREATE TABLE tps_test ( id BIGINT AUTO_INCREMENT PRIMARY KEY, col1 VARCHAR(255), col2 INT, col3 DATETIME) ENGINE=InnoDB;-- 데이터 대량 삽입 (100만건 정도)INSERT INTO tps_tes.. 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. 이전 1 2 3 4 ··· 20 다음 LIST