2011-02-02 3 views
4

버전 1.7.5부터 MongoDB는 소위 "단일 서버 내구성"을 지원합니다. documentation에 따르면 서버 충돌시 응답 할 수있는 미리 쓰기 로그를 사용하여이를 수행 할 수 있습니다.MongoDB (저널링이 활성화 된 상태)는 언제 fsync()를 호출합니까?

당신은 그룹에 대한 기다릴 수

은을 GetLastError 명령으로 승인을 커밋 :

나는 MongoDB의 설명서의 "Journaling"페이지의 "승인을 커밋"섹션을 이해하는 문제가있다. --dur을 사용하여 실행하는 경우 fsync:true 옵션은 실제로 데이터가 저널에 실제로 쓰여지면 을 반환합니다 (실제로 fsync하는 것이 아니라)입니다. 그룹 커밋 간격 (see above)은 상당합니다. fsync없이 getLastError를 호출하거나 복제를 사용하는 대신 w : 매개 변수를 사용하는 것이 좋습니다. 1.8.0 이후 릴리스에서는 커밋 승인 지연이 더 짧아집니다.

저널링이 운영 체제를 사용하여 디스크 변경 내용을 플러시한다는 의미입니까? 또는 write-ahead-log는 사용자가 fsync를 수행하도록 요청했는지 여부에 관계없이 100ms마다 fsync됩니다.

답변

1

write-ahead-log는 100ms마다 fsync됩니다.