概述
本文主要介紹MongoDB中如何強制終止正在處理中的請求。
詳細信息
阿里云提醒您:
- 如果您對實例或數據有修改、變更等風險操作,務必注意實例的容災、容錯能力,確保數據安全。
- 如果您對實例(包括但不限于ECS、RDS)等進行配置與數據修改,建議提前創建快照或開啟RDS日志備份等功能。
- 如果您在阿里云平臺授權或者提交過登錄賬號、密碼等安全信息,建議您及時修改。
MongoDB中某個請求正在被處理中且未結束,是可以強制終止該請求的,但在終止該請求前,需要分析該請求,具體信息請參考以下內容。
- 通過Mongo Shell連接實例。
說明:關于如何連接實例,詳情請參見Mongo Shell連接單節點實例、Mongo Shell連接副本集實例、Mongo Shell連接分片集群實例。
- 執行
db.currentOp()
命令,查看數據庫當前正在執行的操作。說明:執行該命令后,關于輸出各參數的說明請參考如下:
- client:該請求是由哪個客戶端發起的。
- opid:操作的唯一標識符。
- secs_running:表示該操作已經執行的時間,單位為秒。
- microsecs_running:表示該操作已經執行的時間,單位為微秒。
- ns:該操作目標集合。
- op:表示操作的類型。通常是查詢、插入、更新、刪除中的一種。
- locks:跟鎖相關的信息。
- 針對上一步獲取的各操作信息,確認異常請求的
opid
。說明:一般由于業務需要,導致實例CPU使用率上升,業務響應緩慢,此時建議重點關注secs_running和microsecs_running兩個參數,如果該字段返回的值特別大,需要查看請求是否合理。
- 執行以下命令,終止異常請求。
db.killOp([$OPID])
說明:[$OPID]為需要終止請求的opid。
適用于
- 云數據庫MongoDB版
文檔內容是否對您有幫助?