バージョン1.7.5以降、MongoDBはいわゆるシングルサーバ耐性をサポートしています。 documentationによれば、これは、サーバークラッシュのイベントで応答可能なwrite-ahead-logを使用することによって実現されます。MongoDBは(ジャーナリングを有効にして)いつfsync()を呼び出しますか?
私はトラブルにMongoDBのドキュメントで「Journaling」ページの「謝辞をコミット」セクションを理解することがあります。
あなたがグループを待つことができますがGetLastErrorをコマンドで確認をコミットします。
--dur
で実行している場合、fsync:true
オプションは、データが物理的にジャーナルに書き込まれた後にを返します(実際にfsyncしているのではなく)です。グループコミット間隔(see above)はかなりのものであることに注意してください。fsyncを使用せずにgetLastErrorを呼び出すか、レプリケーションでw:パラメータを使用して呼び出すことをお勧めします。 1.8.0以降のリリースでは、コミット確認の遅延が短くなります。
これは、ジャーナリングがディスクへの変更をフラッシュするためにオペレーティングシステムに依存していることを意味しますか?または、ユーザーがfsyncされているかどうかに関係なく、write-ahead-logが100msごとにfsyncされていることを意味しますか?