如何查询及限制连接数-凯发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:当前可用的连接数。
查询当前连接来源
- 使用mongo shell连接副本集主节点后,切换至admin数据库。
replica:primary> use admin
- 执行命令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"
关于如何限制连接池的数量,请参考mongodbk8凯发官网各语言客户端的api文档。
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨
more