
InnoDB flush method
·
MySQL
mysql에서 데이터 flush를 하는 기본 순서는 1. 버퍼 풀 or log buffer에 있는 내용을 flush하면 2. mySQL 안의 버퍼에 있던 내용을 메모리 상의 OS cache로 이동(write) 3. OS cache 안의 내용을 디스크상의 데이터 파일로 이동(flush) 인데, innodb storage engine에서는 innodb_flush_method 변수를 통해 flush 방법을 설정할 수 있다. fsync: default로 설정되어 있는 방법. 버퍼 풀과 로그 버퍼 모두 OS cache를 이용하고, fsync()를 통해 OS cache에서 디스크로 데이터를 이동한다. O_DSYNC: 로그 버퍼에서 write를 할 때(2번 단계) 자동적으로 데이터 파일에 fsync()까지 한 번에 ..