mongodb3.0中更新操作的查询条件中出现 $lt 时存在大量的写冲突

zouzou_os 发布于 2016/10/20 16:21
阅读 204
收藏 0

在 mongodb3.0.12 中,慢查询日志记录到了多次这样的慢操作:

其中,在 key 这个字段上是建立了索引的,而对于timestamp 字段基本上每一个 key 只有一个 timestamp。这个问题只出现在查询条件中包含包对 timestamp 字段的  $lt.. 或者 $lte.. 的更新中,这是什么原因?(慢查询日志如下:)

{
    "op": "update",
    "ns": "monitor.clients",
    "query": {
        "timestamp": {
            "$lt": 3741539684
        },
        "key": "210231A1USB161000018c09f-05e7-3b02"
    },
    "updateobj": {
        "$set": {
            "acSN": "210231A1USB161000018",
            "updateTime": {
                "$date": "2016-10-14T09:28:21.784Z"
            },
            "update": true,
            "key": "210231A1USB161000018c09f-05e7-3b02",
            "portalAuthType": "N/A","portalOnlineTime": "N/A",
            "portalUserName": "N/A","clientVendor": "",
            "upLineTime": {
                "$date": "2016-10-14T09:28:21.780Z"
            },
            "timestamp": 3741539684, "clientRadioMode": 64,
            "clientRxPackets": 23,"clientTxPackets": 18,
            "clientRxBytes": 0,"clientTxBytes": 0,
            "NegoMaxRate": 150,"ApName": "zdgd0012",
            "clientChannel": 52,
            "clientRxRate": 0,
            "clientTxRate": 0,
            "clientSTName": "2",
            "clientSSID": "i-zhengding",
            "signalStrength": 9,
            "onlineTime": 0,
            "clientName": "",
            "clientIP": "10.0.232.243",
            "clientMode": "802.11an",
            "clientMAC": "c09f-05e7-3b02",
            "apSN": "219801A0REM165002244"
        }
    },
    "nscanned": 1,
    "nscannedObjects": 1,
    "nMatched": 1,
    "nModified": 1,
    "upsert": true,
    "keyUpdates": 0,
    "writeConflicts": 404,
    "numYield": 1,
    "locks": {
        "Global": {
            "acquireCount": {
                "r": {
                    "$numberLong": "3"
                },
                "w": {
                    "$numberLong": "3"
                }
            }
        },
        "Database": {
            "acquireCount": {
                "w": {
                    "$numberLong": "3"
                }
            }
        },
        "Collection": {
            "acquireCount": {
                "w": {
                    "$numberLong": "2"
                }
            }
        },
        "oplog": {
            "acquireCount": {
                "w": {
                    "$numberLong": "1"
                }
            }
        }
    },
    "millis": 4320,
    "execStats": {},
    "ts": {
        "$date": "2016-10-14T09:28:25.629Z"
    },
    "client": "172.16.4.83",
    "allUsers": [
        {
            "user": "__system",
            "db": "local"
        }
    ],
    "user": "__system@local"
}

加载中
返回顶部
顶部