2011-02-02 25 views
4

從版本1.7.5開始,MongoDB支持所謂的「單服務器耐久性」。根據documentation,這是通過使用預寫日誌來實現的,該日誌可以在發生服務器崩潰時進行回覆。什麼時候MongoDB(啓用日誌功能)調用fsync()?

我聽不太懂的MongoDB文檔中的「Journaling」頁面的「提交確認」部分:

可以等待組提交確認與GetLastError函數命令。與--dur一起運行時,fsync:true選項返回後數據被物理寫入日誌(而不是實際fsync'ing)。請注意,組提交間隔(see above)相當可觀:您可能更願意在不使用fsync的情況下調用getLastError,而使用w:參數調用getLastError而不使用複製。在1.8.0之後的版本中,提交確認的延遲將更短。

這是否意味着日誌依賴操作系統刷新對磁盤的更改?或者這是否意味着無論用戶是否要求fsync'ed,write-ahead-log都是每隔100ms fsync?

回答

1

write-ahead-log每隔100ms進行一次fsync操作。

相關問題