Como consultar e limitar o número de conexões?
O seguinte utiliza uma instância de conjunto de réplicas como exemplo para descrever como consultar o estado da conexão e definir o número de conexões no conjunto de conexões.
Consultar o número de conexões
O número máximo de conexões varia de acordo com as especificações da instância.
![](https://support.huaweicloud.com/intl/pt-br/dds_faq/public_sys-resources/note_3.0-pt-br.png)
O número máximo de conexões refere-se ao número máximo de conexões de cada nó em uma instância.
Exemplo: se uma instância do conjunto de réplicas tiver duas vCPUs e 4 GB de memória para cada nó, o número máximo de conexões dos nós primário e secundário será de 1000, respectivamente. O nó oculto não fornece serviços por causa de seus recursos de arquitetura.
Use Mongo Shell para conectar-se ao nó primário e execute o comando db.serverStatus().connections para consultar o número de conexões no nó.
replica:PRIMARY> db.serverStatus().connections { "current" : 7, "available" : 398, "totalCreated" : 818364 }
Preste atenção aos seguintes parâmetros e seus valores:
- current: conexões existentes
- available: número de conexões disponíveis.
Consultar a origem das conexões
- Use Mongo Shell para se conectar ao nó primário e alternar para o banco de dados admin.
replica:PRIMARY> use admin
- Execute o comando db.runCommand({currentOp: 1, $all: true}) para consultar a origem da conexão.
Analisando a saída do comando, você pode consultar o endereço IP de origem de cada conexão. Desta forma, o número de conexões entre cada cliente e instância de banco de dados do DDS é obtido.
Figura 1 Saída do comando
Limitar o número de conexões
O DDS permite que você faça logon no banco de dados usando a Cadeia de conexão URI. Ao efetuar logon no banco de dados usando o URI da Cadeia de Conexão, você pode adicionar &maxPoolSize=<integer> ao final do URI para definir o número de conexões no pool de conexões.
Exemplo: quando Mongo Shell for usado para conectar instâncias do conjunto de réplicas, execute o seguinte comando para definir o número de conexões no pool de conexões como 10:
mongo "mongodb://rwuser:xxxxxxxxxx@192.168.168.116:8635,192.168.200.147:8635/test?authSource=admin&replicaSet=replica&maxPoolSize=10"
![](https://support.huaweicloud.com/intl/pt-br/dds_faq/pt-br_image_0000001136117170.png)
![](https://support.huaweicloud.com/intl/pt-br/dds_faq/public_sys-resources/note_3.0-pt-br.png)
Para obter detalhes sobre como limitar o número de pools de conexões em clientes em diferentes idiomas, consulte os documentos da API de clientes em diferentes idiomas no site oficial do MongoDB.
Conexão de base de dados Perguntas frequentes
- O que fazer se não conseguir se conectar a uma instância de BD do RDS?
- O que fazer se o número de conexões de uma instância atingir seu máximo?
- Como consultar e limitar o número de conexões?
- O que fazer se o ECS e o DDS forem implementados em VPCs diferentes e não puderem se comunicar entre si?
- As aplicações precisam dar suporte à reconexão automática ao banco de dados do DDS?
- Como criar e fazer logon em um ECS?
Feedback
Esta página foi útil?
Deixar um comentáriomore