Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Ajustando as configurações do pool de conexões

Nesta página

  • Calcular número máximo de conexões
Problema
várias plataformas
Tempo de operação lateral do aplicativo lento que não são refletidos nosregistros do servidor do banco de dados de dados ou no painel de tempo real.

Utilize o connectTimeoutMS para garantir que o driver não espere indefinidamente durante a fase de ligação.

Defina connectTimeoutMS como um valor maior do que a maior latência de rede que você tem para um membro do conjunto.

Por exemplo: se um membro tiver uma latência de 10000 milésimos de segundo, a configuração de connectTimeoutMS para 5000 (milésimos de segundo) impedirá que o driver se conecte a esse membro.

Um firewall configurado incorretamente fecha uma conexão de soquete incorretamente e o driver não consegue detectar que a conexão foi encerrada incorretamente.

Utilize o socketTimeoutMS para garantir que as tomadas estejam sempre fechadas.

Configure o socketTimeoutMS para duas ou três vezes o comprimento da operação mais lenta que o driver executa.

Os registros do servidor ou o painel de tempo real mostram que o aplicativo gasta muito tempo criando novas conexões.

Não há conexões suficientes disponíveis na inicialização. Aloque conexões no pool definindo minPoolSize.

Defina minPoolSize para o número de conexões que você deseja que estejam disponíveis na inicialização.

A instância do MongoClient garante que o número de conexões exista o tempo todo.

A carga no banco de dados está baixa e há um pequeno número de conexões ativas a qualquer momento. O aplicativo executa menos operações em qualquer momento do que o esperado.
Aumente o maxPoolSize ou aumente o número de threads ativos em seu aplicativo ou a estrutura que você está usando.
O uso da CPU do banco de dados é maior do que o esperado. Os registros do servidor ou o painel de tempo real mostram mais tentativas de conexão do que o esperado.
Diminua o maxPoolSize ou reduza o número de threads em seu aplicativo. Isso pode reduzir o tempo de carregamento e resposta.

Aviso

Não utilize o socketTimeoutMS para evitar operações de servidor de longa duração. Em vez disso, use maxTimeMS() com query para que o servidor possa cancelar operações de longa execução.

Calcule o uso para localizar o número de operações em execução para cada conexão.

Considere quatro servidores de aplicativos se conectando a um conjunto de réplicas com três membros. Nesse cenário, cada um dos quatro servidores de aplicativos cria um pool de conexões para cada membro do conjunto de réplicas.

Calcule o número máximo de conexões abertas por cada servidor de aplicativos multiplicando maxPoolSize pelo número de membros.

Calcule as conexões de saída de um aplicativo para um conjunto de réplicas de três membros:

100 (maxPoolSize padrão 100) x 3 (membros do conjunto de réplicas) = 300 (conexões de saída do aplicativo).

Calcule as conexões recebidas de quatro servidores de aplicativos para um conjunto de réplicas:

100 (maxPoolSize padrão 100) x 4 (servidores de aplicativos) = 400 (conexões de entrada para cada mongod).

Voltar

Pool de Conexões