3

ラップトップ (i7、SSD、16GB RAM) で実行されている 3 つの mongod プロセスのレプリケーション セットがあります。空のデータベースを作成し、7MB のレコードを 1 つ追加します。次に、コマンド ラインからそのレコードをクエリします。

echo "db.items.find({_id:'.......'})" | mongo mydb >tmp/junk

クライアント アプリケーション「mongo」(mongod や mongos ではない) は、応答を吐き出す前に数秒間 100% の CPU を使用します。MongoDB の Java クライアントを使用してレコードを読み取ると、JVM プロセスは応答を返す前に数秒間 100% の CPU を使用します。

ここで何が起こっているのでしょうか?これをトラブルシューティングするにはどうすればよいですか?

更新: 複製セットは無関係のようです。mongo をマスター mongod に直接接続すると、パフォーマンスは同じになります。

更新: PHP クライアントは、ほんの一瞬でデータを取得できます。なに…?

4

2 に答える 2