私は、いくつかのmongodb質問が遅いクエリを受け入れることがあります。以下は私のmongodbログからの2つのエントリを示しています。私はmongodbバージョン2.4.12を使用しています。この場合、これらのクエリは高い応答時間を要しています。 (2354msおよび1173ms)。私は1番目がREADクエリで、2番目がUPDATEクエリであることを知っています。mongodbログの読み方は?
1クエリ
月9月1日11:00:01.171 [conn11431867]クエリmyapp.Userクエリ:{のclientId:40000} ntoreturn:0 ntoskip:0 nscanned:278045 keyUpdates:0 numYields:2ロック(マイクロ単位)R:4187970 nreturned:18 reslen:14091 2354ms
2クエリ
月9月1日22:10:00.394 [conn11374746] myapp.Userクエリを更新:{_id:のObjectId( 'ユーザーID:10001000、loginId: "amilai"、 "amilai"、com://www.myapp.domain.User、firstName: "Amila"、lastName: "Iddamalgoda"、userId:10001000、メールアドレス: "[email protected]"、クライアントID:40000} idhack:1 nupdated:1 keyUpdates:0ロック(マイクロ)w:189 1592ms
誰でも次の質問に回答してください。ありがとう。たくさんありがとう。
1.)シャーディングも使用しています。そしてこのユーザーコレクションのインデックスは 'userId'に設定されています。この遅い応答時間の根本原因は何でしょうか? {のclientId:40000}手段最初のクエリーログにおいて(2354msと1173ms)
2)、クエリは何ですか? mongoはclientIdキーを使用してユーザーを検索していますか? nscannedObjects ==>スキャンした文書の数。しかし、「r」と「nreturned」と「reslen」はどういう意味ですか?
3.)私はmongoがマルチ粒度ロックを使用していることを知っています。しかし、この場合、この応答時間は書き込みロックの結果ですか?
4.)2番目のクエリ(更新クエリ)に表示されているものを分解する必要があります。 ObjectIdから読み込んで個々のフィールドを更新していますか?そこには何が起こっているの?
可能性があります。dste http://stackoverflow.com/questions/28762135/meaning-of-variables-in-mongodb-logs – chridam
ありがとうございました。しかし、私は高い応答時間の理由を見つける必要があります –