Ajustando as configurações do pool de conexões
Nesta página
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 Defina Por exemplo: se um membro tiver uma latência de 10000 milésimos de segundo, a configuração de |
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 Configure o |
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 Defina minPoolSize para o número de conexões que você deseja que estejam disponíveis na inicialização. A instância do |
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.
Calcular número máximo de conexões
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).