全部產品
Search
文件中心

ApsaraDB for MongoDB:如何查詢及限制串連數

更新時間:Jun 19, 2024

您可以通過DMS或Mongo Shell登入MongoDB資料庫,本文介紹如何查詢串連使用方式以及設定串連池的串連數。

查詢當前串連數

根據您購買的MongoDB執行個體規格不同,最大串連數也不同,詳情請參見執行個體規格
說明 最大串連數是指執行個體中每個節點的最大串連數,例如您購買了1核2G規格的三節點複本集執行個體,那麼該執行個體的Primary節點和Secondary節點的最大串連數均為500,Hidden節點由於其架構特殊性,不對外提供服務。
通過Mongo Shell串連執行個體,詳情請參見串連執行個體,然後執行命令db.serverStatus().connections
mgset-123456:PRIMARY> db.serverStatus().connections
{
        "current" : 1,
        "available" : 999,
        "internal_current" : 10,
        "internal_available" : 990,
        "totalCreated" : 632
}             
說明 您需要關注以下參數及對應的值。
  • "current" :當前已經建立的串連數。
  • "available" :當前可用的串連數。

查詢當前串連來源

  1. 通過Mongo Shell串連執行個體,詳情請參見串連執行個體,然後切換至admin資料庫。
    use admin
  2. 執行命令db.runCommand({currentOp: 1, $all: true})
    mgset-123456:PRIMARY> db.runCommand({currentOp: 1, $all:[{"active" : true}]})                    

通過分析命令的輸出結果,您可以查詢每個串連對應的來源IP地址,從而得出各終端與MongoDB執行個體分別建立了多少串連。更多詳情請參見官方文檔

如何限制終端的串連數

ApsaraDB for MongoDB支援通過Connection String URI串連資料庫。通過Connection String URI串連資料庫時,在URI末尾加上&maxPoolSize=<integer>即可設定串連池的串連數。

Mongo Shell串連樣本(設定串連數為10),資料庫帳號為test,所屬資料庫為admin:
mongo "mongodb://test:****@dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-6108****&maxPoolSize=10"
說明 關於不同語言的用戶端如何限制串連池的數量,請參見MongoDB官網的API文檔