0

プロジェクトの 1 つに流星を使用しています。1 つまたは 2 つのクエリに非常に長い時間がかかることがある散発的な問題があります。たとえば、次のログは MongoDB ログから取得したもので、各ブロックの最後の部分には、クエリにかかったミリ秒単位の時間が記載されています。

4 番目と 5 番目のログはそれぞれ 14774 ミリ秒と 17163 ミリ秒を示し、その他はこれらの値のほぼ 14 ~ 17 分の 1 であることがわかります。時間がかかるクエリの値が からにIXSCAN変化することしかわかりません。少しグーグルで調べたところ、スキャンするインデックスが選択されていることがわかりました。以下の質問があります。{ value: 1 }{ r.lid: 1 }IXSCAN

  • すべてのクエリが同じコードによって発生し、クエリするプロパティが同じであるにもかかわらず、一部のクエリで間違ったインデックスが選択されるのはなぜですか?
  • このクエリのインデックスを強制する方法はありますか (できれば流星から)
  • これとは関係ありませんが、多数の接続が作成されるのはなぜですか (各行 conn2XX の先頭に表示されます)。ノード ファイバーを使用して、並列バックグラウンド リクエストをクエリしています。これらの接続を強制終了する方法はありますか?

[conn252] query cdk.WLCV query: { $query: { cid: "C1", uid: "W1", r.lid: "L12", value: { $gte: 1031, $lte: 1107 } }, orderby : { 値: 1 } } planSummary: IXSCAN { 値: 1 } ntoreturn:0 ntoskip:0 nscanned:59754 nscannedObjects:59754 keyUpdates:0 numYields:0 ロック (マイクロ) r:155165 nreturned:77 reslen:48530 155ms

[conn251] query cdk.WLCV query: { $query: { cid: "C2", uid: "W1", r.lid: "L12", value: { $gte: 1031, $lte: 1107 } }, orderby : { 値: 1 } } planSummary: IXSCAN { 値: 1 } ntoreturn:0 ntoskip:0 nscanned:59754 nscannedObjects:59754 keyUpdates:0 numYields:0 ロック (マイクロ) r:172445 nreturned:78 reslen:49160 172ms

[conn248] query cdk.WLCV query: { $query: { cid: "C3", uid: "W1", r.lid: "L12", value: { $gte: 1031, $lte: 1107 } }, orderby : { 値: 1 } } planSummary: IXSCAN { 値: 1 } ntoreturn:0 ntoskip:0 nscanned:59754 nscannedObjects:59754 keyUpdates:0 numYields:0 ロック (マイクロ) r:161176 nreturned:77 reslen:48222 161ms

[conn249] query cdk.WLCV query: { $query: { cid: "C4", uid: "W1", r.lid: "L12", value: { $gte: 1031, $lte: 1107 } }, orderby : { 値: 1 } } planSummary: IXSCAN { r.lid: 1 } ntoreturn:0 ntoskip:0 nscanned:46147 nscannedObjects:46147 scanAndOrder:1 keyUpdates:0 numYields:11037 ロック (マイクロ) r:1384301 nreturned:77 reslen: 48684 14774ms`

[conn250] query cdk.WLCV query: { $query: { cid: "C5", uid: "W1", r.lid: "L12", value: { $gte: 1031, $lte: 1107 } }, orderby : { 値: 1 } } planSummary: IXSCAN { r.lid: 1 } ntoreturn:0 ntoskip:0 nscanned:46147 nscannedObjects:46147 scanAndOrder:1 keyUpdates:0 numYields:9464 ロック (マイクロ) r:1904782 nreturned:77 reslen: 48761 17163ms

[conn249] query cdk.WLCV query: { $query: { cid: "C6", uid: "W1", r.lid: "L12", value: { $gte: 790, $lte: 940 } }, orderby : { 値: 1 } } planSummary: IXSCAN { r.lid: 1 } cursorid:305719783659 ntoreturn:0 ntoskip:0 nscanned:46147 nscannedObjects:46147 scanAndOrder:1 keyUpdates:0 numYields:0 locks(micros) r:114383 nreturned: 101 reslen:63650 114ms`

[conn250] query cdk.WLCV query: { $query: { cid: "C7", uid: "W1", r.lid: "L12", value: { $gte: 790, $lte: 940 } }, orderby : { 値: 1 } } planSummary: IXSCAN { r.lid: 1 } cursorid:305713399194 ntoreturn:0 ntoskip:0 nscanned:46147 nscannedObjects:46147 scanAndOrder:1 keyUpdates:0 numYields:0 locks(micros) r:105275 nreturned: 101 レスレン:63246 105ms

[conn251] query cdk.WLCV query: { $query: { cid: "C8", uid: "W1", r.lid: "L12", value: { $gte: 790, $lte: 940 } }, orderby : { 値: 1 } } planSummary: IXSCAN { r.lid: 1 } cursorid:306335307165 ntoreturn:0 ntoskip:0 nscanned:46147 nscannedObjects:46147 scanAndOrder:1 keyUpdates:0 numYields:0 locks(micros) r:134425 nreturned: 101 レスレン:63650 134ms

[conn252] query cdk.WLCV query: { $query: { cid: "C9", uid: "W1", r.lid: "L12", value: { $gte: 790, $lte: 940 } }, orderby : { 値: 1 } } planSummary: IXSCAN { r.lid: 1 } cursorid:306643211432 ntoreturn:0 ntoskip:0 nscanned:46147 nscannedObjects:46147 scanAndOrder:1 keyUpdates:0 numYields:0 locks(micros) r:143227 nreturned: 101 レスレン:63650 143ms

以下は、mongo コンソールから取得した db 統計です。

{
    "ns" : "cdk.WLCV",
    "count" : 8891054,
    "size" : 8962182432,
    "avgObjSize" : 1008,
    "storageSize" : 9305935856,
    "numExtents" : 25,
    "nindexes" : 8,
    "lastExtentSize" : 2146426864,
    "paddingFactor" : 1,
    "systemFlags" : 1,
    "userFlags" : 1,
    "totalIndexSize" : 3600456944,
    "indexSizes" : {
        "_id_" : 544161856,
        "uid_1" : 612635856,
        "cid_1" : 357135856,
        "r.lid_1" : 484370768,
        "r.m" : 366898000,
        "value_1" : 318700480,
        "mvalue_1" : 359400608,
        "r.did_1" : 557153520
    },
    "ok" : 1
}
4

0 に答える 0