3
私はmap/reduceをコレクションに書き込むので、グローバル書き込みロックを取得する必要があることは知っていますが、出力をインラインに設定してもメモリに書き込まれませんか?それはまだロックをつかんでいるようだ。これはおそらくMongo 2.0では正常ですか?Mongoブロックのインラインマップ/縮小はありますか?
私はmap/reduceをコレクションに書き込むので、グローバル書き込みロックを取得する必要があることは知っていますが、出力をインラインに設定してもメモリに書き込まれませんか?それはまだロックをつかんでいるようだ。これはおそらくMongo 2.0では正常ですか?Mongoブロックのインラインマップ/縮小はありますか?
インラインモードでは、出力は単一のドキュメントとして返され、最大ドキュメントサイズに制限されるため、返される結果が大きいため動作や応答時間が異なることがありますか?
ロックに関して、Map/Reduceジョブは、(書き込みを含む)より多くの小さな操作と考えることができます。
最初に、ある時点で1つのスレッドのみがJSコードを実行できるようにJavaScriptロックが存在するため、少なくとも今のところシングルスレッド化されています。しかし、MRのほとんどのJSステップ(例えば、単一のマップ())は非常に短く、その結果、ロックは非常に頻繁に生じる。
いくつかの非JavaScriptの操作は、MapReduceのは、それがロックを取る行っていることもあります。
ああ、参考までに、この情報のほとんどはここにあります:http://www.mongodb.org/display/DOCS/How+does+concurrency+work#Howdoesconcurrencywork –
ありがとうございます - 私のマップにはいくつかの文字列比較がありますおそらくかなり遅いのでおそらく遅くなるでしょう。その2.2がその単一のJS制限を除去することを望む。 –
https://jira.mongodb.org/browse/SERVER-4258はあなたが見たいものです。これはdev 2.1ブランチにありますが、spidermonkeyをv8スイッチで動作させる必要があります。 devブランチをv8でビルドして試すことができます:http://www.mongodb.org/display/DOCS/Building+with+V8 –