5

ジャーナリングの有無にかかわらず、mongodb の書き込みパフォーマンスをチェックするテスト プログラムを作成しました: 挿入する項目: 10000

case1: 挿入(w = 1, j = 1)結果: 340,620 ミリ秒で 10000 ドキュメントが挿入されました(1 秒あたり約29ドキュメント)

case2: insert with result: 360ms(w = 0, j = 1)で 10000 ドキュメントが挿入されました(1 秒あたり約27700ドキュメント)

とは(w = 0, j = 1)どういう意味ですか?

case2 に耐久性はありますか?

4

1 に答える 1

4

ジャーナリングの動作が最後のバージョンで変更されていないという条件で、あなたが見ているのは の速度だと思いますw=0w=0( http://docs.mongodb.org/manual/core/write-concern/#unacknowledged )があるので、コマンドがMongoDBインスタンスに送信されたことを確認しているだけです。

の動作はw=0、以前のバージョンの MongoDB で承認されたソケットから変更されたため、ネットワーク エラーを軽減できませんでした。

したがって、 の値は の値をw=0オーバーライドし、j=1未確認の書き込みを引き起こしますが、持続性は理論的には同じである必要がありますj=1

http://docs.mongodb.org/manual/core/write-concern/#journaled

MongoDB は、操作をジャーナルにコミットする頻度も高めます。

しかし:

未確認は無視されたエラーに似ています。ただし、可能な場合、ドライバはネットワーク エラーの受信と処理を試みます。

「エラーは無視される」ことに注意してください。それらの更新/挿入中にエラーが発生した場合、それについては通知されませんが、エラーのあるドキュメントを無視すると、耐久性は比較的同じになるはずです。

もちろん、実際に a を実行するほどではありませんが、大量の書き込みを失う可能性があるw=1ソケット認識 (古い) ほど悪くはありません。w=0

したがって、w=0すべてのジャーナルが承認されているかのように、短い間隔でジャーナルする速度が得られます。

于 2014-11-14T09:54:03.133 に答える