3
votes

I'm fairly new to mongodb and atlas and am confused by the following alert

Query Targeting: Scanned Objects / Returned has gone above 1000

I expect there to be more data to aid in debugging such as the query or at least the collection. The query wasn't slow because the performance advisor didn't catch anything.

The only info given in the alert is
- time created
- the replica set
- a link to the shard
- the type of shard (primary/secondary)

how am I supposed to debug the supposed alerted issue?

1

1 Answers

2
votes

A future alert had info on how to solve the issue - which in short is to download the mongodb logs and search for the inefficient query.

To download the logs

1. Navigate to the Cluster page

If you do not see the cluster you want on the page, ensure you have selected the > proper Project

2. Select the cluster

a. Click the ellipsis icon (...) next to the cluster containing the mongod instance whose logs you want to download.
b. Select Download Logs.

3. In the Download Logs modal, edit the following fields

Select process: Select the process for which you want logs. Valid options are mongod and mongod-audit-log.
Select server: Select the server in the cluster whose logs you want to retrieve.
Start Time: Specify the date and time in your group’s time zone defining the inclusive lower bound of log activity to return. The start time must be less than 30 days ago.
End Time: Specify the date and time in your group’s time zone defining the inclusive upper bound of log activity to return.

4. Click Download Logs

An inefficient query is explained here

The following mongod log entry shows statistics generated from an inefficient query:

planSummary: COLLSCAN keysExamined:0
docsExamined: 10000 cursorExhausted:1 numYields:234
nreturned:4  protocol:op_query 358ms<Timestamp> COMMAND  <query>

This query scanned 10,000 documents and returned only 4 for a ratio of 2500, which is highly inefficient.