更新时间:2023-01-18 gmt 08:00

如何查询及限制连接数-凯发k8国际娱乐官网入口

下面以副本集实例为例,介绍如何查询实例的连接使用情况,以及设置连接池的连接数。

查询当前连接数

根据您购买的文档数据库实例规格不同,最大连接数也不同。

最大连接数是指实例中每个节点的最大连接数。

示例:您购买了2核4gb规格的三节点副本集实例,那么该实例的primary节点和secondary节点的最大连接数均为1000,hidden节点由于其架构特殊性,不对外提供服务。

使用mongo shell连接副本集主节点后,执行命令db.serverstatus().connections查询节点当前连接数。

replica:primary> db.serverstatus().connections
{ "current" : 7, "available" : 398, "totalcreated" : 818364 }

您需要关注以下参数及对应的值:

  • current:当前已经建立的连接数。
  • available:当前可用的连接数。

查询当前连接来源

  1. 使用mongo shell连接副本集主节点后,切换至admin数据库。
    replica:primary> use admin
  2. 执行命令db.runcommand({currentop: 1, $all: true}),查询连接来源。

    通过分析命令的输出结果,您可以查询每个连接对应的来源ip地址。从而得出各个终端和dds实例分别建立了多少连接。

    图1 输出结果

如何限制终端的连接数

文档数据库k8凯发的服务支持通过connection string uri登录数据库。通过connection string uri登录数据库时,在uri末尾加上“&maxpoolsize=<integer>”,即可设置连接池的连接数。

示例:使用mongo shell连接副本集实例时,限制连接池的连接数为10。

mongo "mongodb://rwuser:xxxxxxxxxx@192.168.168.116:8635,192.168.200.147:8635/test?authsource=admin&replicaset=replica&maxpoolsize=10"

图2 限制连接数

关于如何限制连接池的数量,请参考mongodbk8凯发官网各语言客户端的api文档。

分享:

more

网站地图