상세 컨텐츠

본문 제목

[Performance] InnoDB Flushing Tunning 정리중

Mysql

by 리카르돌 2020. 5. 15. 23:48

본문

InnoDB Flushing Architecture 및 Tunning Guide

InnoDB Architecture (MySQL 5.7)

Redo logging Process

- 해당 업데이트가 DB에 Write 되기 전에 먼저 관련 UNDO 정보가 로그에 써져야 한다.
  이러한 방식을 WAL(Write Ahead Logging) 이라고 부른다.
  UNDO 정보는 트랜잭션 변경전으로 되돌리기 위한 만큼의 충분한 정보를 가진다.

- 트랜잭션이 정상적으로 종료 처리 되기 위해서는 먼저 REDO 정보를 로그에 써야 한다
  REDO 정보는 트랜잭션을 다시 수행할수 있을 만큼의 충분한 정보를 가진다. 

 

 

I/O Flushing 관련 파라미터

innodb_io_capacity

innodb_io_capacity_max

innodb_page_cleaners

innodb_purge_threads

innodb_read_io_threads
innodb_write_io_threads

innodb_lru_scan_depth

innodb_flush_sync

innodb_log_file_size
innodb_log_files_in_group

innodb_adaptive_flushing_lwm
innodb_flushing_avg_loops



innodb_max_dirty_pages_pct
innodb_max_dirty_pages_pct_lwm

 

 

I/O 관련 파라미터는 Service Workload 패턴에 맞게 하나에 하나씩 천천히 최적 값을 도출해야 한다. 

또한 서비스의 확장 및 축소에 따라 파라미터 값에 대한 주기적인 검증도 필요하다.

댓글 영역