본문 바로가기
반응형

innodb_flush_log_at_trx_commit2

innodb_flush_log_at_trx_commit 알면 쉬워짐. 안녕하세요. 복제 구성을 하고 나서 동기화 지연이 발생하는데 왜 Second 타임이 안잡이지 할때가 있는데요. 특히 AWS나 리전간 동기화 타임에서 안잡힐때 설정하면 확인이 가능합니다. innodb_flush_log_at_trx_commit 위의 그림에서 알 수 있듯이, 해당 값에 따라 순간적인 장애시 트랜잭션을 잃을 수 있다. 0 인 경우, MySQL 이나 OS가 갑자기 crash 된다면 최대 1초동안의 트랜잭션을 잃을 수 있다. 1 인 경우, 안전하다. 2 인 경우, OS가 갑자기 crash 된다면 최대 1초동안의 트랜잭션을 잃을 수 있다. 하지만 MySQL 장애시에는 이미 OS 영역으로 데이터는 넘어갔기 때문에 안전할 수 있다. 각 값에 따라, 엄청난 성능을 보일 수 있다. 지난번에 엄청난 양의 l.. 2023. 8. 24.
innodb_flush_log_at_trx_commit = 2를 사용하는 것이 안전할까? 최대 1 초 분량의 트랜잭션을 잃을 수 있습니다. 기본값은 1이며 InnoDB ACID 준수를 유지하는 데 도움이됩니다 . innodb_flush_log_at_trx_commit 의 MySQL 문서에 따르면 innodb_flush_log_at_trx_commit의 값이 0이면 로그 버퍼가 초당 한 번 로그 파일에 기록되고 디스크로 플러시 조작이 로그 파일에서 수행되지만 트랜잭션 커미트에서는 아무것도 수행되지 않습니다. 값이 1 (기본값)이면 각 트랜잭션 커밋에서 로그 버퍼가 로그 파일에 기록되고 디스크로 플러시 작업이 로그 파일에서 수행됩니다. 값이 2 인 경우, 커밋 할 때마다 로그 버퍼가 파일에 기록되지만 디스크로 플러시 작업은 수행되지 않습니다. 그러나 값이 2 인 경우에도 로그 파일의 플러시가 초.. 2020. 8. 25.
반응형