2009년 5월 20일 수요일

InnoDB flush 2

innodb_flush_method

데이터 파일과 로그파일의 flush방법을 지정한다. 
이 지정은 Unix계열의 운영체제에서만 동작한다. 

Windows에서는 항상 무효로 async_unbuffered고정이다. 

innodb_flush_method={fdatasync|O_DSYNC|O_DIRECT}

지정가능한 값은 다음과 같다. 

fdatasync 표준값.  데이터 파일과 로그 파일을 fsync()를 사용해서 flush.

O_DSYNC O_SYNC로 로그 파일을 flush. 데이터 파일을 fsync()를 사용.

O_DIRECT O_DIRECT(Linux에서 사용가능)로 데이터 파일을 오픈.
                      fsync()로 데이터 파일과 로그 파일을 flush.

현재, SAN상에 데이터 파일과 로그 파일이 있으면 O_DIRECT인 경우에 퍼포먼스가 
나빠진다는 보고가 있다.