Observação
A partir do MongoDB 8.0, A autenticação e autorização LDAP estão obsoletas. O LDAP está disponível e continuará a operar sem alterações durante a vida útil do MongoDB 8. O LDAP será removido em uma futura versão principal.
Para obter detalhes, consulte Descontinuação do LDAP.
Synopsis
O MongoDB fornece uma série de opções de configuração que você pode definir usando:
o comando
setParameter:db.adminCommand( { setParameter: 1, <parameter>: <value> } ) A definição de configuração
setParameter:setParameter: <parameter1>: <value1> ... a opção de linha de comando
--setParameterparamongodemongos:mongod --setParameter <parameter>=<value> mongos --setParameter <parameter>=<value>
Para opções de configuração adicionais, consulte Opções do Arquivo de Configuração Autogerenciado, mongod e mongos.
Parâmetros
Parâmetros de autenticação
allowRolesFromX509CertificatesDisponível para
mongodemongos.Padrão: true
Um sinalizador booleano que permite ou não a recuperação de funções de autorização de certificados X.509 do cliente.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
authenticationMechanismsDisponível para
mongodemongos.Especifica a lista de mecanismos de autenticação que o servidor aceita. Defina isso como um ou mais dos valores a seguir. Se você especificar vários valores, use uma lista separada por vírgulas e sem espaços. Para obter descrições dos mecanismos de autenticação, consulte Autenticação em implantações autogerenciadas.
ValorDescriçãoRFC 5802 mecanismo de autenticação de resposta de desafio salgado padrão usando a função de hash SHA-1.
RFC 7677 mecanismo de autenticação de resposta de desafio salgado padrão usando a função de hash SHA-256.
Autenticação de certificado TLS/SSL do MongoDB.
GSSAPI (Kerberos)
Autenticação externa usando Kerberos. Esse mecanismo está disponível somente no MongoDB Enterprise.
PLAIN (LDAP SASL)
Autenticação externa usando LDAP. Você também pode utilizar o
PLAINpara autenticar usuários do banco de dados.PLAINtransmite senhas em texto simples. Esse mecanismo está disponível apenas no MongoDB Enterprise.OpenID Connect é uma camada de autenticação construída sobre OAuth2.2 Esse mecanismo está disponível somente no MongoDB Enterprise.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, para especificar ambos
PLAINeSCRAM-SHA-256como os mecanismos de autenticação, utilize o seguinte comando:mongod --setParameter authenticationMechanisms=PLAIN,SCRAM-SHA-256 --auth
authFailedDelayMsDisponível para
mongodemongos.Padrão: 0
Observação
Funcionalidade de empresas
Disponível apenas no MongoDB Enterprise.
O número de milissegundos para aguardar antes de informar aos clientes que a tentativa de autenticação deles falhou. Este parâmetro pode estar no intervalo de
0a5000, inclusive.A configuração deste parâmetro torna os ataques de login da força bruta em um banco de dados mais demorados. No entanto, os clientes que aguardam uma resposta do servidor MongoDB ainda consomem recursos do servidor, e isso pode afetar negativamente as tentativas de login benignas se o servidor estiver negando acesso a muitos outros clientes simultaneamente.
awsSTSRetryCountAlterado na versão 7.0: (Também a partir de 6.0.7 e 5.0.18)
Em versões anteriores, a autenticação AWS IAM tentou novamente somente quando o servidor retornou um erro HTTP 500.
Disponível para
mongodemongos.Tipo: inteiro
Padrão: 2
Para sistema MongoDB usando credenciais AWS IAM ou variáveis de ambiente AWS IAM.
Número máximo de tentativas de autenticação AWS IAM após uma falha de conexão.
O exemplo a seguir define
awsSTSRetryCountpara15tentativas:mongod --setParameter awsSTSRetryCount=15 Como alternativa, os exemplos a seguir usam o comando
setParameternomongosh::db.adminCommand( { setParameter: 1, awsSTSRetryCount: 15 } )
clusterAuthModeDisponível para
mongodemongos.Configure o
clusterAuthModeparasendX509oux509. Útil durante a atualização contínua para usar o x509 para autenticação de associação a fim de minimizar o tempo de inatividade.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar instâncias do MongoDB para TLS/SSL em implementações autogerenciadas e Configuração TLS/SSL para clientes.
Esse parâmetro só está disponível em tempo de execução. Para definir o parâmetro, use o comando
setParameter.db.adminCommand( { setParameter: 1, clusterAuthMode: "sendX509" } )
enableLocalhostAuthBypassDisponível para
mongodemongos.Padrão:
trueEspecifique
0oufalsepara desabilitar o desvio de autenticação localhost. Habilitado por padrão.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Consulte Exceção de localhost em implantações autogerenciadas para obter mais informações.
enforceUserClusterSeparationDisponível para
mongodemongos.Configure para
falsepara desabilitar a verificação doO/OU/DCquandoclusterAuthModeforkeyFileem seu arquivo de configuração. Isto permite que clientes que possuem certificados de membro se autentiquem como usuários armazenados no banco de dados$external. O servidor não iniciará seclusterAuthModenão estiverkeyFileem seu arquivo de configuração.Para configurar o parâmetro
enforceUserClusterSeparationparafalse, execute o seguinte comando durante a inicialização:mongod --setParameter enforceUserClusterSeparation=false
KeysRotationIntervalSecDisponível para
mongodemongos.Padrão: 7776000 segundos (90 dias)
Especifica o número de segundos para os quais uma chave de assinatura HMAC é válida antes de girar para a próxima. Esse parâmetro tem como objetivo principal facilitar o teste de autenticação.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
ldapConnectionPoolHostRefreshIntervalMillisDisponível apenas para
mongod.Padrão: 60000
O número de milissegundos entre verificações de integridade das conexões LDAP agrupadas.
Você só pode definir
ldapConnectionPoolHostRefreshIntervalMillisdurante a inicialização e não pode alterar essa configuração com o comando banco de dadossetParameter.
ldapConnectionPoolIdleHostTimeoutSecsDisponível apenas para
mongod.Padrão: 300
O número máximo de segundos que as conexões agrupadas a um servidor LDAP podem permanecer ociosas antes de serem fechadas.
Você só pode definir
ldapConnectionPoolIdleHostTimeoutSecsdurante a inicialização e não pode alterar essa configuração com o comando banco de dadossetParameter.
ldapConnectionPoolMaximumConnectionsInProgressPerHostDisponível apenas para
mongod.Alterado a partir das versões do MongoDB 5.0.9 e 6.0.0 do MongoDB O valor padrão foi alterado para
2. Nas versões anteriores, o padrão não estava definido.Padrão: 2
O número máximo de operações de conexão em andamento para cada servidor LDAP.
Você só pode definir
ldapConnectionPoolMaximumConnectionsInProgressPerHostdurante a inicialização e não pode alterar essa configuração com o comando banco de dadossetParameter.
ldapConnectionPoolMaximumConnectionsPerHostDisponível apenas para
mongod.Alterado a partir das versões do MongoDB 5.0.9 e 6.0.0 do MongoDB O valor padrão foi alterado para
2147483647. Nas versões anteriores, o padrão não estava definido.Padrão: 2147483647
O número máximo de conexões para manter aberto a cada servidor LDAP.
Você só pode definir
ldapConnectionPoolMaximumConnectionsPerHostdurante a inicialização e não pode alterar essa configuração durante o tempo de execução com o comandosetParameterdo banco de dados.
ldapConnectionPoolMinimumConnectionsPerHostDisponível apenas para
mongod.Padrão: 1
O número mínimo de conexões para manter aberto a cada servidor LDAP.
Você só pode definir
ldapConnectionPoolMinimumConnectionsPerHostdurante a inicialização e não pode alterar essa configuração durante o tempo de execução com o comandosetParameterdo banco de dados.
ldapConnectionPoolUseLatencyForHostPriorityDisponível apenas para
mongod.Padrão: true
Um booleano que determina se o pool de conexões LDAP (consulte a página
ldapUseConnectionPool) deve usar a latência dos servidores LDAP para determinar a ordem de conexão (da menor latência para a mais alta).Você só pode definir
ldapConnectionPoolUseLatencyForHostPrioritydurante a inicialização e não pode alterar essa configuração durante o tempo de execução com o comandosetParameterdo banco de dados.
ldapForceMultiThreadModeDisponível para
mongodemongos.Padrão: false
Permite o desempenho de operações LDAP simultâneas.
Observação
Somente se você tiver certeza de que sua instância do
libldapé segura para utilizar neste modo, habilite este sinalizador. Você pode enfrentar falhas no processo do MongoDB se a versãolibldapque você estiver usando não for segura para threads.Você deve utilizar o
ldapForceMultiThreadModepara usar o pool de conexão LDAP. Para habilitar o pool de conexões LDAP, definaldapForceMultiThreadModeeldapUseConnectionPoolcomotrue.Dica
Se tiver alguma dúvida sobre a versão do MongoDB, a versão do sistema operacional ou a versão da libldap, entre em contato com o Suporte do MongoDB.
ldapQueryPasswordDisponível apenas para
mongod.Tipo: string
A senha era vinculada a um servidor LDAP. Você deve usar
ldapQueryUsercom este parâmetro.Se não estiver definido, o mongod ou o mongos não tentará se vincular ao servidor LDAP.
ldapQueryUserDisponível apenas para
mongod.Tipo: string
O usuário que se liga a um servidor LDAP. Você deve usar
ldapQueryPasswordcom esse parâmetro.Se não estiver definido, o mongod ou o mongos não tentará se vincular ao servidor LDAP.
ldapRetryCountNovidades na versão 6.1.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 0
Para implantações do MongoDB usando autorização LDAP em implantações autogerenciadas.
Número de tentativas de operação pelo gerenciador LDAP do servidor após um erro de rede.
Por exemplo, o seguinte define
ldapRetryCountpara3segundos:mongod --ldapRetryCount=3 Ou, se estiver usando o comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, ldapRetryCount: 3 } )
ldapShouldRefreshUserCacheEntriesNovidades na versão 5.2.
Disponível apenas para
mongod.Tipo: booleano
Padrão: true
Para implantações do MongoDB usando autorização LDAP em implantações autogerenciadas.
A partir do MongoDB 5.2, o intervalo de atualização das informações do usuário em cache recuperadas de um servidor LDAP depende de
ldapShouldRefreshUserCacheEntries:Se verdadeiro, utilize
ldapUserCacheRefreshInterval.Se for falso, use
ldapUserCacheInvalidationInterval.
Você só pode definir
ldapShouldRefreshUserCacheEntriesdurante a inicialização noconfiguration fileou com a opção--setParameterna linha de comando. Por exemplo, o seguinte desabilitaldapShouldRefreshUserCacheEntries:mongod --setParameter ldapShouldRefreshUserCacheEntries=false
ldapUseConnectionPoolDisponível para
mongodemongos.Especifica se o MongoDB deve usar o pooling de conexões ao se conectar ao servidor LDAP para autenticação/autorização.
O MongoDB utiliza os seguintes valores padrão:
verdadeiro no Windows.
verdadeiro no Linux onde os binários MongoDB Enterprise estão ligados ao
libldap_r.false no Linux onde os binários do MongoDB Enterprise estão vinculados a
libldap.
Você só pode definir
ldapUseConnectionPooldurante a inicialização e não pode alterar essa configuração com o comando banco de dadossetParameter.
ldapUserCacheInvalidationIntervalAlterado na versão 5.2.
Disponível apenas para
mongod.Padrão: 30 segundos
Observação
A partir do MongoDB 5.2, o intervalo de atualização das informações do usuário em cache recuperadas de um servidor LDAP depende de
ldapShouldRefreshUserCacheEntries:Se verdadeiro, utilize
ldapUserCacheRefreshInterval.Se for falso, use
ldapUserCacheInvalidationInterval.
Para uso com implantações do MongoDB usando autorização LDAP em implantações autogerenciadas.
O intervalo (em segundos) que a instância do
mongodaguarda entre as liberações de cache do usuário externo. Depois que o MongoDB libera o cache do usuário externo, o MongoDB readquire os dados de autorização do servidor LDAP na próxima vez que um usuário autorizado pelo LDAP emitir uma operação.Aumentar o valor especificado aumenta a quantidade de tempo MongoDB e o servidor LDAP pode estar fora de sincronia, mas reduz a carga no servidor LDAP. Por outro lado, diminuir o valor especificado diminui o tempo que MongoDB e o servidor LDAP podem estar fora de sincronia enquanto aumenta o volume no servidor LDAP.
ldapUserCacheRefreshIntervalNovidades na versão 5.2.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 30 segundos
Observação
A partir do MongoDB 5.2, o intervalo de atualização das informações do usuário em cache recuperadas de um servidor LDAP depende de
ldapShouldRefreshUserCacheEntries:Se verdadeiro, utilize
ldapUserCacheRefreshInterval.Se for falso, use
ldapUserCacheInvalidationInterval.
Para implantações do MongoDB usando autorização LDAP em implantações autogerenciadas.
O intervalo em segundos que
mongodespera antes de atualizar as informações do usuário em cache do servidor LDAP.O intervalo máximo é de 86.400 segundos (24 horas).
Por exemplo, o seguinte define
ldapUserCacheRefreshIntervalpara4000segundos:mongod --setParameter ldapUserCacheRefreshInterval=4000 Ou, se estiver usando o comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, ldapUserCacheRefreshInterval: 4000 } )
ldapUserCacheStalenessIntervalNovidades na versão 5.2.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 90 segundos
Para implantações do MongoDB usando autorização LDAP em implantações autogerenciadas.
O intervalo em segundos em que
mongodretém as informações do usuário LDAP em cache após a última atualização do cache.Se mais de
ldapUserCacheStalenessIntervalsegundos se passarem sem uma atualização bem-sucedida das informações do usuário do servidor LDAP, entãomongod:Invalida as informações do usuário LDAP em cache.
Não é possível autenticar novas sessões para usuários LDAP até que o
mongodse conecte ao servidor LDAP e autorize o usuário LDAP.Autoriza todas as sessões existentes que usam usuários LDAP previamente autenticados se
mongodnão conseguir se conectar ao servidor LDAP. Quandomongodse reconecta ao servidor LDAP,mongodgarante que os usuários LDAP estão autorizados corretamente.
O intervalo máximo é de 86.400 segundos (24 horas).
Por exemplo, o seguinte define
ldapUserCacheStalenessIntervalpara4000segundos:mongod --setParameter ldapUserCacheStalenessInterval=4000 Ou, se estiver usando o comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, ldapUserCacheStalenessInterval: 4000 } )
maxValidateMemoryUsageMBDisponível apenas para
mongod.Novidades na versão 5.0.
Padrão: 200
O limite máximo de uso de memória em megabytes para o comando
validate. Se o limite for excedido,validateretornará tantos resultados quanto possível e avisará que nem todos os danos poderão ser relatados devido ao limite.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
ocspEnabledDisponível para
mongodemongos.Disponível no Linux e macOS.
Padrão: true
O sinalizador que habilita ou desabilita OCSP.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, o seguinte desativa o OCSP:
mongod --setParameter ocspEnabled=false ... A partir do MongoDB 6.0, se
ocspEnabledfor definido comotruedurante a sincronização inicial, todos os nós deverão ser capazes de acessar o respondedor OCSP.Se um membro falhar no estado
STARTUP2, configuretlsOCSPVerifyTimeoutSecspara um valor menor que5.
ocspStaplingRefreshPeriodSecsDisponível para
mongodemongos.Disponível no Linux.
O número de segundos de espera antes de atualizar a resposta de status do OCSP grampeada. Especifique um número maior ou igual a 1.
Você só pode definir
ocspStaplingRefreshPeriodSecsdurante a inicialização noconfiguration fileou com a opção--setParameterna linha de comando. Por exemplo, o seguinte define o parâmetro com 3600 segundos:mongod --setParameter ocspStaplingRefreshPeriodSecs=3600 ... A partir do MongoDB 5.0, o comando
rotateCertificatese o métododb.rotateCertificates()também atualizarão todas as respostas OCSP grampeadas.
oidcIdentityProvidersDisponível apenas para
mongod.Alterado na versão 8.0: (Também disponível em 7.3 e 7.0)
Use esse parâmetro para especificar as configurações do provedor de identidade (IDP) ao usar a autenticação do OpenID Connect.
oidcIdentityProvidersaceita uma array de configurações de provedor de identidade (IDP) zero ou mais. Uma array vazia (padrão) indica que o suporte ao OpenID Connect não está habilitado.Quando mais de um IDP é definido, o
oidcIdentityProvidersutiliza o campomatchPatternpara selecionar um IDP. A ordem da array determina a prioridade e o primeiro IDP está sempre selecionado.A partir do MongoDB 8.0, quando vários provedores de identidade (IDP) são definidos, o parâmetro
oidcIdentityProvidersaceita valoresissuerduplicados, desde que o valoraudienceseja exclusivo para cada emitir. Isso também está disponível nas versões 7.3 e 7.0.CamposoidcIdentityProviders
CamponecessidadeTipoDescriçãoissuerObrigatório
string
O URI do emissor do IdP do qual o servidor deve aceitar tokens. Isso deve corresponder ao campo
issem qualquer JWT usado para autenticação.A partir do MongoDB 8.0, quando vários fornecedores de identidade (IDP) são definidos, o parâmetro
oidcIdentityProvidersaceita valoresissuerduplicados, desde que o valoraudienceseja exclusivo para cada emissor. Isso também está disponível nas versões 7.3 e 7.0.Se você especificar um URI de emissor inacessível, o MongoDB:
Registra um aviso.
Continua a inicialização do servidor, o que permite atualizar o URI do emissor.
Tenta novamente fazer contato com o emissor. Se o MongoDB contatar o URI do emissor e validar o token de acesso, a autenticação será bem-sucedida. Se o URI do emissor permanecer inacessível, a autenticação falhará.
Alterado na versão 8.0: (Também disponível em 7.3 e 7.0)
authNamePrefixObrigatório
string
Prefixo único aplicado para cada
UserNameeRoleNamegerado utilizado na autorização.authNamePrefixsó pode conter os seguintes caracteres:caracteres alfanuméricos (combinação de
aaze0a9)hifens (
-)sublinhados (
_)
matchPatternCondicional
string
Padrão regex usado para determinar qual IdP deve ser usado.
matchPatterncorresponde a nomes de usuários. A ordem da bandeja determina a prioridade e o primeiro IdP está sempre selecionado.matchPatterné necessário em algumas configurações, dependendo de como o usuário define osupportsHumanFlows:Quando somente um IdP tem
supportsHumanFlowsconfigurado paratrue(o padrão),matchPatternsé opcional.Quando múltiplos IdPs têm
supportsHumanFlowsconfigurado paratrue(o padrão), cada um destes exigematchPatterns.matchPatternsé opcional para qualquer IdP em quesupportsHumanFlowsestá definido comofalse.
Este não é um mecanismo de segurança.
matchPatternserve apenas como aconselhamento aos clientes. O MongoDB aceita tokens emitidos pelo IdP cujos nomes principais não correspondem a esse padrão.clientIdCondicional
string
ID fornecida pelo IdP para identificar o cliente que recebe os tokens de acesso.
Obrigatório quando
supportsHumanFlowsestá definido comotrue(o padrão).audienceObrigatório
string
Especifica o aplicativo ou serviço para o qual o token de acesso é destinado.
A partir do MongoDB 7.0, somente um campo
audienceoidcIdentityProviders pode ser especificado para tokens de acesso do OIDC. Os camposaudiencecom arrays vazios ou arrays de múltiplas strings são inválidos.Quando mais de um IdP for definido, deve ser um valor exclusivo para cada configuração que compartilha um
issuer.requestScopesOpcional
array[ string ]
Permissões e níveis de acesso que o MongoDB solicita do IdP.
IMPORTANTE: por padrão, clientes como Compass e solicitam
mongoshosoidcoffline_accessescopos e do IdP. Se o IdP não suportaroidcnemoffline_accessnem, o cliente não os solicitará. Se o IdP suportar,oidcmasoffline_accessnão, você deverá autenticar novamente com frequência.principalNameOpcional
string
A reivindicação a ser extraída do token de acesso contendo identificadores de usuário MongoDB.
O valor padrão é
sub(significasubject).useAuthorizationClaimOpcional
booleano
Determina se o
authorizationClaimé necessário. O valor padrão étrue.Se o campo
useAuthorizationClaimestiver configurado paratrue, o servidor exigirá umauthorizationClaimpara a configuração do provedor de identidade. Este é o comportamento padrão.Se o campo
useAuthorizationClaimestiver configurado parafalse, o campoauthorizationClaimserá opcional (e ignorado se fornecido). Em vez disso, o servidor faz o seguinte:Pesquisa no token uma reivindicação cujo nome esteja listado no campo
principalNameClaim. Normalmente, esse nome ésub. Por exemplo:sub: "spencer.jackson@example.com"Constrói o nome de usuário interno concatenando o
authNamePrefix, uma barra (/) e o conteúdo da reivindicação identificada porprincipalNameClaimno token de acesso. Por exemplo, com um valor de campoauthNamePrefixde "mdbinc", o nome de usuário interno é:mdbinc/spencer.jackson@example.comProcura o usuário com este nome de usuário e autoriza o cliente com os roles:
{ user: "mdbinc/spencer.jackson@example.com", db: "$external" }
Novidade na versão 7.2: (também disponível na versão 7.0.5)
authorizationClaimCondicional
string
Necessário, a menos que
useAuthorizationClaimesteja definido comofalse.Reclamação extraída do token de acesso que contém nomes de função MongoDB.
logClaimsOpcional
array[ string ]
Lista de reivindicações de token de acesso a serem incluídas em mensagens de registro e auditoria após a conclusão da autenticação.
JWKSPollSecsOpcional
inteiro
Frequência, em segundos, para solicitar um JSON Web Key Set (JWKS) atualizado do IdP. Uma configuração de 0 desabilita a pesquisa.
Quando mais de um IdP é definido, este deve ser o mesmo valor para cada configuração que compartilha um
issuer.supportsHumanFlowsOpcional
bool
Se o provedor OIDC oferece suporte a fluxos de trabalho humanos ou de máquina. Isso afeta os campos
clientIdematchPattern.Pode ser útil definir esse campo como
falsecom IdPs de carga de trabalho de máquina para permitir que eles omitam oclientIdquando ele não for necessário.Padrão:
true.Novidade na versão 7.2.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
opensslCipherConfigDisponível para
mongodemongos.Disponível apenas no Linux
Com o uso de bibliotecas TLS/SSL nativas, o parâmetro
opensslCipherConfigé suportado para Linux/BSD e não é mais suportado no Windows e macOS.Especifique a string de cifra para OpenSSL ao usar criptografia TLS/SSL. Para obter uma lista de strings de cifra, consulte https://www.openssl.org/docs/man1.1.1/man1/ciphers.html. Várias strings de cifra podem ser fornecidas como uma lista separada por dois pontos.
Observação
Este parâmetro deve ser usado somente com TLS 1.2 ou anterior. Para especificar conjuntos de codificação para uso com TLS 1.3, use o parâmetro
opensslCipherSuiteConfig.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.O uso de opções
TLSé preferível a opçõesSSL. As opções TLS têm a mesma funcionalidade que as opçõesSSL. O exemplo a seguir configura ummongodcom uma string de cifraopensslCipherConfigde'HIGH:!EXPORT:!aNULL@STRENGTH':mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL@STRENGTH' --tlsMode requireTLS --tlsCertificateKeyFile Certs/server.pem
opensslCipherSuiteConfigDisponível para
mongodemongos.Novidades na versão 5.0.
Disponível apenas no Linux
Especifique a lista de pacotes de criptografia suportados que o OpenSSL deve permitir ao usar a criptografia TLS 1.3.
Para obter uma lista de conjuntos de codificação para uso com TLS 1.3, consulte https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_cipher_list.html. Vários conjuntos de cifras podem ser fornecidos como uma lista separada por dois pontos.
Observação
Este parâmetro deve ser usado somente com TLS 1.3. Para especificar strings de caracteres de codificação para uso com TLS 1.2 ou anterior, use o parâmetro
opensslCipherConfig.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, o seguinte configura um
mongodcom um conjunto de cifrasopensslCipherSuiteConfigde'TLS_AES_256_GCM_SHA384'para uso com TLS 1.3:mongod --setParameter opensslCipherSuiteConfig='TLS_AES_256_GCM_SHA384' --tlsMode requireTLS --tlsCertificateKeyFile Certs/server.pem
opensslDiffieHellmanParametersDisponível para
mongodemongos.Disponível apenas no Linux
Especifique o caminho para o arquivo PEM que contém os parâmetros OpenSSL Diffie-Hellman ao usar TLS 1.2 ou versão anterior. A especificação dos parâmetros OpenSSL Diffie-Hellman permite o suporte para conjuntos de cifras Ephemeral Diffie-Hellman (DHE) durante a criptografia TLS/SSL.
Este parâmetro não é suportado para uso com TLS 1.3.
Os conjuntos de cifras Diffie-Hellman (DHE) efêmero (e os conjuntos de cifras ECDHE (curva elíptica efêmera Diffie-Hellman)) fornecem sigilo de encaminhamento. os conjuntos de cifras com sigilo de encaminhamento criam uma chave de sessão efêmera que é protegida pela chave privada do servidor, mas nunca é transmitida. Isso garante que, mesmo que a chave privada de um servidor seja comprometida, você não poderá descriptografar sessões anteriores com a chave comprometida.
Observação
Se não
opensslDiffieHellmanParametersestiver definido, mas o ECDHE estiver ativado, o MongoDB ativará o DHE usando offdhe3072parâmetro Diffie-Hellman, conforme definido em RFC-7919#appendix-A.2. Offdhe3072é um parâmetro forte (especificamente, o tamanho é maior que 1024). Os parâmetros fortes não são compatíveis com o Java 6 e 7, a menos que o suporte estendido tenha sido adquirido da Oracle.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Se, para melhorar o desempenho, você precisar desabilitar o suporte para conjuntos de codificação DHE, use o parâmetro
opensslCipherConfig:mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL:!DHE:!kDHE@STRENGTH' ...
pessimisticConnectivityCheckForAcceptedConnectionsDisponível apenas no Linux
Tipo: booleano
Padrão: false
Quando configurado como
true, instrui o servidor a verificar a conectividade das conexões aceitas antes de processá-las e a descartar imediatamente as conexões que o cliente encerra.Considere habilitar este parâmetro em tipos de instância menores. Você pode utilizá-lo quando quiser trocar uma pequena quantidade de latência no estabelecimento de novas conexões por uma redução no trabalho do servidor ao processar novas conexões que já foram encerradas no lado do cliente.
saslauthdPathDisponível para
mongodemongos.Observação
Disponível apenas no MongoDB Enterprise (exceto MongoDB Enterprise para Windows).
Especifique o caminho para o Soquete de Domínio Unix da instância do
saslauthdpara utilizar para autenticação proxy.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
saslHostNameDisponível para
mongodemongos.saslHostNamesubstitui a detecção de nome de host padrão do MongoDB com o objetivo de configurar a autenticação SASL e Kerberos.saslHostNamenão afeta o nome do host da instânciamongodoumongospara nenhuma finalidade além da configuração do SASL e do Kerberos.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Observação
saslHostNamesuporta a autenticação Kerberos e está incluída apenas no MongoDB Enterprise. Para obter mais informações, consulte o seguinte:
saslServiceNameDisponível para
mongodemongos.Permite que os usuários substituam o componente de nome de serviço Kerberos padrão do nome principal do Kerberos, por instância. Se não for especificado, o valor padrão será
mongodb.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.saslServiceNameestá disponível apenas no MongoDB Enterprise.Importante
Certifique-se de que seu driver ofereça suporte a nomes de serviço alternativos.
scramIterationCountDisponível para
mongodemongos.Padrão:
10000Altera o número de iterações de hash usadas para todas as novas senhas do
SCRAM-SHA-1. Mais iterações aumentam o tempo necessário para que os clientes autentiquem no MongoDB, mas tornam as senhas menos suscetíveis a tentativas de força bruta. O valor padrão é ideal para casos de uso e requisitos mais comuns.Se você modificar este valor, ele não alterará a contagem de iteração para senhas existentes. O valor
scramIterationCountdeve ser5000ou maior.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, o comando seguinte define o
scramIterationCountcomo12000.mongod --setParameter scramIterationCount=12000 Ou, se estiver usando o comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, scramIterationCount: 12000 } )
scramSHA256IterationCountDisponível para
mongodemongos.Padrão:
15000Altera o número de iterações de hash usadas para todas as novas senhas do
SCRAM-SHA-256. Mais iterações aumentam o tempo necessário para que os clientes autentiquem no MongoDB, mas tornam as senhas menos suscetíveis a tentativas de força bruta. O valor padrão é ideal para casos de uso e requisitos mais comuns.Se você modificar esse valor, isso não alterará a contagem de iterações para senhas existentes. O valor
scramSHA256IterationCountdeve ser5000ou maior.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, o comando seguinte define o
scramSHA256IterationCountcomo20000.mongod --setParameter scramSHA256IterationCount=20000 Ou, se estiver usando o comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, scramSHA256IterationCount: 20000 } )
sslModeDisponível para
mongodemongos.Configure o
net.ssl.modeparapreferSSLourequireSSL. Útil durante a atualização de rolagem para TLS/SSL para minimizar o tempo de inatividade.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar instâncias do MongoDB para TLS/SSL em implementações autogerenciadas e Configuração TLS/SSL para clientes.
Esse parâmetro só está disponível em tempo de execução. Para definir o parâmetro, use o comando
setParameter.db.adminCommand( { setParameter: 1, sslMode: "preferSSL" } ) Dica
tlsClusterAuthX509OverrideDisponível para
mongodemongos.Novidades na versão 7.0.
Substitui as opções de configuração do
clusterAuthX509.setParameter: tlsClusterAuthX509Override: "{ attributes: 'O=MongoDB, OU=MongoDB Server' }" O parâmetro suporta substituições
attributeseextensionValue.Quando o servidor autentica conexões de nós, ele analisa o certificado X.509 para determinar se ele pertence a um nó do cluster. Se o servidor usar a configuração
attributesou o campoattributesno parâmetrotlsClusterAuthX509Override, ele verificará os valores de DN (nome diferenciado) do certificado. Se a configuraçãoextensionValueou o campoextensionValuedo parâmetrotlsClusterAuthX509Overrideestiverem definidos, ela verificará os valores da extensão do certificado. Se encontrar uma correspondência, autoriza a conexão como par.Use este parâmetro para girar certificados quando os novos certificados tiverem atributos diferentes ou valores de extensão.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
tlsModeDisponível para
mongodemongos.Definir como:
preferTLSrequireTLS
O parâmetro
tlsModeé útil durante a atualização contínua a TLS/SSL para minimizar o tempo de inatividade.Esse parâmetro só está disponível em tempo de execução. Para definir o parâmetro, use o comando
setParameter.db.adminCommand( { setParameter: 1, tlsMode: "preferTLS" } ) Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar instâncias do MongoDB para TLS/SSL em implementações autogerenciadas e Configuração TLS/SSL para clientes.
Dica
tlsOCSPStaplingTimeoutSecsDisponível para
mongodemongos.Disponível para Linux.
O número máximo de segundos que a instância
mongod/mongosdeve esperar para receber a resposta de status do OCSP para seus certificados.Especifique um número inteiro maior ou igual a (
>=) 1. Se não for definido,tlsOCSPStaplingTimeoutSecsusa o valortlsOCSPVerifyTimeoutSecs.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, o seguinte define o
tlsOCSPStaplingTimeoutSecspara 20 segundos:mongod --setParameter tlsOCSPStaplingTimeoutSecs=20 ...
tlsOCSPVerifyTimeoutSecsDisponível para
mongodemongos.Disponível para Linux e Windows.
Padrão: 5
O número máximo de segundos que o
mongod/mongosdeve aguardar a resposta OCSP ao verificar os certificados do servidor.Especifique um número inteiro maior ou igual a (
>=) 1.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, o seguinte define o
tlsOCSPVerifyTimeoutSecspara 20 segundos:mongod --setParameter tlsOCSPVerifyTimeoutSecs=20 ...
tlsUseSystemCADisponível apenas para
mongod.Tipo: booleano
Padrão: false
Especifica se o MongoDB carrega certificados TLS que já estão disponíveis para a autoridade de certificação do sistema operacional.
Importante
Ao iniciar uma instância
mongodcom TLS/SSL habilitado, especifique um valor para o sinalizador--tlsCAFile, a opção de configuraçãonet.tls.CAFileou o parâmetrotlsUseSystemCA.--tlsCAFile,tls.CAFileetlsUseSystemCAsão mutuamente exclusivos.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, para definir
tlsUseSystemCAcomotrue:mongod --setParameter tlsUseSystemCA=true Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar instâncias do MongoDB para TLS/SSL em implementações autogerenciadas e Configuração TLS/SSL para clientes.
tlsWithholdClientCertificateDisponível para
mongodemongos.Padrão: false
Um certificado TLS é definido para
mongodoumongospela opção--tlsClusterFileou pela opção--tlsCertificateKeyFilequando--tlsClusterFilenão está definido. Se o certificado TLS estiver definido, por padrão, a instância enviará o certificado ao iniciar as comunicações dentro do cluster com outras instânciasmongodoumongosna implantação. DefinatlsWithholdClientCertificatecomo1outruepara direcionar a instância a reter o envio do certificado TLS durante essas comunicações. Utilize esta opção com--tlsAllowConnectionsWithoutCertificates(para permitir conexões de entrada sem certificados) em todos os membros da implantação.tlsWithholdClientCertificateé mutuamente exclusivo com--clusterAuthMode x509.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
tlsX509ClusterAuthDNOverrideDisponível para
mongodemongos.Um Nome Distinto (DN) alternativo que a instância também pode utilizar para identificar membros da implantação.
Para uma implantação do MongoDB que usa certificados X.509 para
clusterAuthMode, os membros do sistema se identificam usando certificados X.509 (net.tls.clusterFile, se especificado enet.tls.certificateKeyFile) durante as comunicações intra-cluster. Para membros da mesma implantação, oDNde seus certificados deve ter os mesmos atributos da Organização (deO), os atributos da Unidade organizacional (deOU) e os componentes de domínio (deDC).Se
tlsX509ClusterAuthDNOverrideestiver configurado para um membro, o membro também poderá utilizar o valor de substituição ao comparar os componentesDN(O,OUeDC) dos certificados apresentados. Ou seja, o membro compara os certificados apresentados com seunet.tls.clusterFile/net.tls.certificateKeyFile. Se o DN não corresponder, o membro verificará o certificado apresentado em relação ao valortlsX509ClusterAuthDNOverride.Observação
Se definido, você deve configurar este parâmetro em todos os membros da implantação.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Você pode usar esse parâmetro para uma atualização contínua de certificados para novos certificados que contenham um novo
DNvalor.Consulte Rotacionar certificados em clusters autogerenciados sem clusterAuthX.509Para obter mais informações sobre os requisitos de certificado de membro, consulte Requisitos de certificado de membro para obter detalhes.
tlsX509ExpirationWarningThresholdDaysDisponível para
mongodemongos.Padrão : 30
mongod/ registra um aviso na conexão semongoso509 certificado X. apresentado expirar dentro de30dias a partir do relógio domongod/mongossistema. Utilize otlsX509ExpirationWarningThresholdDaysparâmetro para controlar o limite de aviso de expiração do certificado:Aumente o valor do parâmetro para acionar avisos mais à frente da data de expiração do certificado.
Diminuir o valor do parâmetro para acionar avisos mais próximos da data de expiração do certificado.
Defina o parâmetro para
0para desativar o aviso.
Este parâmetro tem um valor mínimo de
0.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Para obter mais informações sobre a validade do certificado X.509, consulte RFC 5280 4.1.2.5.
userCacheInvalidationIntervalSecsDisponível apenas para
mongos.Padrão: 30
Em uma instância
mongos, especifica o intervalo (em segundos) no qual a instânciamongosverifica se o cache na memória de objetos de usuário tem dados obsoletos e, em caso afirmativo, limpa o cache. Se não houver alterações nos objetos de usuário,mongosnão limpará o cache.Este parâmetro tem um valor mínimo de
1segundo e um valor máximo de86400segundos (24 horas).Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Parâmetros gerais
allowDiskUseByDefaultDisponível apenas para
mongod.Padrão: Verdadeiro
A partir do MongoDB 6.0, os estágios do pipeline que exigem mais de 100 megabytes de memória para execução gravam arquivos temporários no disco por padrão. Esses arquivos temporários duram durante a execução do pipeline e podem influenciar o espaço de armazenamento na sua instância. Em versões anteriores do MongoDB, você deve passar
{ allowDiskUse: true }parafindindividuais e comandosaggregatepara habilitar esse comportamento.Comandos individuais
findeaggregatepodem substituir o parâmetroallowDiskUseByDefaultpor:Usando
{ allowDiskUse: true }para permitir a gravação de arquivos temporários no disco quandoallowDiskUseByDefaultestiver definido comofalseUsando
{ allowDiskUse: false }para proibir a gravação de arquivos temporários no disco quandoallowDiskUseByDefaultestiver definido comotrue
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
mongod --setParameter allowDiskUseByDefault=false allowDiskUseByDefaultsó funciona emmongode nãomongos.mongosnunca grava arquivos temporários em disco. Use o comandosetParameterem uma sessãomongoshque esteja conectada a ummongodem execução para alterar o valor do parâmetro enquanto o servidor estiver em execução:db.adminCommand( { setParameter: 1, allowDiskUseByDefault: false } )
connPoolMaxConnsPerHostDisponível para
mongodemongos.Padrão: 200
Define o tamanho máximo dos pools de conexão legados para conexões de saída com outras instâncias
mongodno pool de conexão global. O tamanho de um pool não impede a criação de conexões adicionais, mas impede que um pool de conexões retenha conexões que excedam o valor deconnPoolMaxConnsPerHost.Observação
O parâmetro é separado das conexões em pools do TaskExecutor. Consulte
ShardingTaskExecutorPoolMaxSize.Só ajuste essa configuração se o driver não agrupar conexões e você estiver usando a autenticação no contexto de um cluster fragmentado.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.mongod --setParameter connPoolMaxConnsPerHost=250
connPoolMaxInUseConnsPerHostDisponível para
mongodemongos.Define o número máximo de conexões em uso a qualquer momento para conexões de saída para outras instâncias
mongodno pool de conexões globais herdado.Por padrão, o parâmetro não está definido.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.mongod --setParameter connPoolMaxInUseConnsPerHost=100
cursorTimeoutMillisDisponível para
mongodemongos.Padrão: 600000 (10 minutos)
Define o limite de expiração em milissegundos para cursores ociosos antes que o MongoDB os remova; especificamente, o MongoDB remove cursores que ficaram ociosos para o
cursorTimeoutMillisespecificado.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, o comando seguinte define
cursorTimeoutMilliscomo300000milissegundos (5 minutos).mongod --setParameter cursorTimeoutMillis=300000 Ou, se estiver usando o comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, cursorTimeoutMillis: 300000 } ) Definir
cursorTimeoutMilliscomo menor ou igual a0faz com que todos os cursores se qualifiquem imediatamente para o tempo limite. Geralmente, o valor de tempo limite deve ser maior que o tempo médio para uma consulta retornar resultados. Use ferramentas como o modificador de cursorcursor.explain()para analisar o tempo médio de query e selecionar um período de tempo limite apropriado.Aviso
O MongoDB limpa cursores órfãos após o limite de
cursorTimeoutMillissomente se não estiverem associados a sessões.O MongoDB limpa cursores vinculados a sessões com o ciclo de vida
localLogicalSessionTimeoutMinutes, independentemente do valorcursorTimeoutMillis. Para lidar com longos períodos de inatividade, useMongo.startSession()e atualize a sessão usando o comandorefreshSessions. Para detalhes, consulte Atualizar um cursor comrefreshSessions.
fassertOnLockTimeoutForStepUpDownNovidades na versão 5.3.
Disponível para
mongodemongos.Padrão: 15 segundos
Permite que um servidor que receba uma solicitação de aumento ou redução seja encerrado se não conseguir atender (por exemplo, devido a discos defeituosos do servidor) dentro do tempo limite. Isso permite que um cluster eleja com êxito um novo nó primário e, assim, continue disponível.
fassertOnLockTimeoutForStepUpDowno padrão é 15 segundos. Para desativar o fasterting dos nós, definafassertOnLockTimeoutForStepUpDown=0.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir desabilita o fasserting dos nós:
mongod --setParameter fassertOnLockTimeoutForStepUpDown=0
globalConnPoolIdleTimeoutMinutesDisponível para
mongodemongos.Define o limite de tempo que a conexão no pool de conexões global herdado pode permanecer ociosa antes de ser fechada.
Por padrão, o parâmetro não está definido.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.mongos --setParameter globalConnPoolIdleTimeoutMinutes=10
httpVerboseLoggingDisponível para
mongodemongos.Adiciona rastreamento mais detalhado para curl no Linux e macOS. Não afeta o Windows.
Por padrão, o parâmetro não está definido.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
mongos --setParameter httpVerboseLogging=true
indexBuildMinAvailableDiskSpaceMBNovidade na versão 7.1.
Disponível apenas para
mongod.Padrão: 500 MB
Define o espaço mínimo em disco disponível em megabytes necessários para compilações de índice.
Deve ser maior ou igual a 0 MB e menor ou igual a 8 TB. 0 desabilita o requisito mínimo de espaço em disco.
Uma nova compilação de índice não pode ser iniciada e uma compilação de índice atual é cancelada se o espaço disponível em disco estiver abaixo de
indexBuildMinAvailableDiskSpaceMB.Aviso
Se você aumentar o
indexBuildMinAvailableDiskSpaceMB, certifique-se de que seu servidor tenha espaço em disco suficiente disponível. Além disso, se você definirindexBuildMinAvailableDiskSpaceMBmuito alto, poderá impedir desnecessariamente as compilações de índices quando houver espaço em disco suficiente disponível eindexBuildMinAvailableDiskSpaceMBpuder ser definido como mais baixo.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo seguinte define
indexBuildMinAvailableDiskSpaceMBpara 650 MB:db.adminCommand( { setParameter: 1, indexBuildMinAvailableDiskSpaceMB: 650 } ) Você também pode definir
indexBuildMinAvailableDiskSpaceMBna inicialização. Por exemplo:mongod --setParameter indexBuildMinAvailableDiskSpaceMB=650
indexMaxNumGeneratedKeysPerDocumentDisponível para
mongodemongos.Novidades na versão 5.3.
Padrão: 100000
Limita o número máximo de chaves geradas para um documento para evitar erros de memória. É possível aumentar o limite, mas se uma operação exigir mais chaves do que o parâmetro
indexMaxNumGeneratedKeysPerDocumentespecifica, a operação falhará.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
ingressAdmissionControllerTicketPoolSizeDisponível apenas para
mongod.Padrão:
1000000Controla o número máximo de operações admitidas simultaneamente na fila de entrada. O valor padrão de
1000000representa o equivalente numérico de ilimitados, que admite todas as operações de entrada até o máximo de conexões padrão que o MongoDB permite.Aumentar esse valor enquanto há operações aguardando na fila desbloqueia quantas operações o novo tamanho do pool permitir. Diminuir esse valor não bloqueia nenhuma operação em execução no momento, mas as operações controláveis de entrada são bloqueadas até que haja tickets disponíveis.
mongod --setParameter ingressAdmissionControllerTicketPoolSize=100000 Aviso
Evite modificar
ingressAdmissionControllerTicketPoolSizea menos que seja orientado pelos engenheiros do MongoDB. Essa configuração tem implicações importantes tanto no WiredTiger quanto no MongoDB.
ingressConnectionEstablishmentRateLimiterEnabledNovidade na versão 8.2: (também disponível nas versões 8.1.1 e 8.0.12)
Disponível para
mongodemongos.Tipo: booleano
Padrão:
falseDetermina se a limitação de taxa para o estabelecimento de novas conexões está habilitada. Quando habilitado, o MongoDB aplica limitação de taxa para controlar o número de novas conexões que podem ser estabelecidas por segundo.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
ingressConnectionEstablishmentRatePerSecNovidade na versão 8.2: (também disponível nas versões 8.1.1 e 8.0.12)
Disponível para
mongodemongos.Tipo : int32
Padrão: desabilitado
Mínimo: 1
Especifica o número máximo de novas conexões que podem ser estabelecidas por segundo quando a limitação de taxa está habilitada.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
ingressConnectionEstablishmentBurstCapacitySecsNovidade na versão 8.2: (também disponível nas versões 8.1.1 e 8.0.12)
Disponível para
mongodemongos.Tipo: double
Padrão: desabilitado
Mínimo: 1
Descreve quantos segundos de tentativas de estabelecimento de conexão o servidor pode admitir antes que a limitação de taxa comece. Isso permite que o servidor lide com picos temporários de solicitações de conexão que ultrapassam o limite de taxa especificado por
ingressConnectionEstablishmentRatePerSec.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
ingressConnectionEstablishmentMaxQueueDepthNovidade na versão 8.2: (também disponível nas versões 8.1.1 e 8.0.12)
Disponível para
mongodemongos.Tipo : int32
Padrão:
0(desabilitado)Especifica o número máximo de tentativas de conexão na fila de estabelecimento de conexão. Após a fila atingir esse número de tentativas de conexão, o servidor rejeita novas tentativas.
O valor padrão de
0indica que o servidor rejeita todas as conexões que ficarão na fila de estabelecimento.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
ingressConnectionEstablishmentRateLimiterBypassNovidade na versão 8.2: (também disponível nas versões 8.1.1 e 8.0.12)
Disponível para
mongodemongos.Tipo: array de string
Padrão:
[]Fornece uma lista de endereços IP e faixas CIDR que o servidor deve isentar dos limites de taxa de estabelecimento da conexão. Isso permite que clientes específicos e confiáveis contornem as restrições de limitação de taxa.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
maxIndexBuildMemoryUsageMegabytesDisponível apenas para
mongod.Padrão: 200
Limita a quantidade de memória que as compilações simultâneas de índices em uma coleção podem consumir durante a duração das compilações. A quantidade especificada de memória é compartilhada entre todos os índices construídos utilizando um único comando
createIndexesou seu auxiliar de shelldb.collection.createIndexes().Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
A memória consumida por uma construção de índice é separada da memória de cache do WiredTiger (consulte
cacheSizeGB).maxIndexBuildMemoryUsageMegabytesdefine um limite para a quantidade de memória que a construção de índice usa de uma só vez. Isso pode afetar o desempenho quando o processo de construção de índice gera e classifica chaves para o índice. O aumento do limite de memória melhora o desempenho da classificação durante a construção de índice.O limite
maxIndexBuildMemoryUsageMegabytesaplica-se a todas as compilações de índice iniciadas por comandos de usuário comocreateIndexesou processos administrativos como sincronização inicial.Uma sincronização inicial preenche apenas uma coleção de cada vez e não tem risco de exceder o limite de memória. No entanto, é possível para um usuário iniciar construções de índice em várias collections em vários bancos de dados simultaneamente.
Alterar
maxIndexBuildMemoryUsageMegabytesnão afeta uma construção de índice em andamento se ela já tiver iniciado uma verificação de coleção. No entanto, uma reconfiguração forçada do conjunto de réplicas reinicia a verificação da coleção e usa omaxIndexBuildMemoryUsageMegabytesmais atual fornecido.Para
"4.2"e posteriores da versão de compatibilidade de recursos (fcv), o limite de memória de compilação de índice se aplica a todas as compilações de índice.
maxNumActiveUserIndexBuildsDisponível apenas para
mongod.Tipo: inteiro
Padrão: 3
Define o número máximo de construções de índice simultâneas permitidas no primary. Este é um limite global que se aplica a todas as collections.
Aumentar o valor de
maxNumActiveUserIndexBuildspermite a criação de índices simultâneos adicionais ao custo de maior pressão sobre o cache do WiredTiger.Os índices do sistema não estão limitados a
maxNumActiveUserIndexBuilds, no entanto, uma compilação de índice do sistema conta em relação ao limite para compilações de índice do usuário.Depois que o servidor atinge
maxNumActiveUserIndexBuilds, ele bloqueia as compilações de índices adicionais do usuário até que o número de compilações de índices simultâneas caia abaixo do limitemaxNumActiveUserIndexBuilds. Se uma construção de índice estiver bloqueada, o servidor registrará esta mensagem:Too many index builds running simultaneously, waiting until the number of active index builds is below the threshold. Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O seguinte comando define um limite de 4 construções de índice simultâneas:
db.adminCommand( { setParameter: 1, maxNumActiveUserIndexBuilds: 4 } ) Veja também:
notablescanDisponível apenas para
mongod.Impede a execução de algumas varreduras de coleção quando um índice poderia ser usado, esteja ele presente ou não. Se
true, o MongoDB não executará queries que exijam uma varredura de coleção e retornará um erro. As exclusões incluem queries sem filtros e queries contra coleções limitadas, como o oplog.Considere o seguinte exemplo que define
notablescancomotrueou verdadeiro:db.adminCommand( { setParameter: 1, notablescan: true } ) Definir
notablescancomotruepode ser útil para testar consultas de aplicativos, por exemplo, para identificar consultas que examinam uma coleção inteira e não podem usar um índice.Para detectar queries não indexadas sem
notablescan, considere ler a seção Analisar Desempenho da Query e utilizar o parâmetrologLevel,mongostate profiling.Não execute instâncias
mongodde produção comnotablescanporque impedir verificações de collections pode afetar potencialmente as queries em todos os bancos de dados, incluindo queries administrativas.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Observação
notablescannão permite queries ilimitadas que usam um índice clusterizado porque as queries exigem uma verificação completa da coleção. Para obter mais informações, consulte Verificações de coleção.
reportOpWriteConcernCountersInServerStatusDisponível apenas para
mongod.Padrão: false
Um sinalizador booleano que determina se o método
db.serverStatus()eserverStatuscomando retornam informaçõesopWriteConcernCounters. [1]mongod --setParameter reportOpWriteConcernCountersInServerStatus=true [1] Habilitar o reportOpWriteConcernCountersInServerStatuspode ter um impacto de desempenho negativo; especificamente, ao executar sem TLS.
slowConnectionThresholdMillisNovidades na versão 6.3.
Disponível para
mongodemongos.Padrão: 100
Define o limite de tempo em milissegundos para registrar o estabelecimento de conexões de servidor lentas.
Se uma conexão demorar mais para ser estabelecida do que o parâmetro
slowConnectionThresholdMillis, um evento será adicionado ao log com o campo de mensagemmsgdefinido como"Slow connection establishment".Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
slowConnectionThresholdMilliscomo250milissegundos.mongod --setParameter slowConnectionThresholdMillis=250 Ou, se estiver usando o comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, slowConnectionThresholdMillis: 250 } )
Aviso
tcmallocAggressiveMemoryDecommit está descontinuado em 8.0. O MongoDB 8.0 usa uma versão atualizada do tcmalloc que melhora a fragmentação e o gerenciamento da memória. Consulte tcmalloc upgrade para obter mais informações. Para liberar memória de volta para o sistema operacional, considere usar tcmallocEnableBackgroundThread .
tcmallocEnableBackgroundThreadDisponível para
mongodemongos.Novidades na versão 8.0.
Tipo: booleano
Padrão: true
Se definido como
true,tcmallocEnableBackgroundThreadcria um thread em segundo plano que libera memória periodicamente de volta para o sistema operacional. O valor detcmallocReleaseRatedetermina a taxa, em bytes por segundo, na qual o thread em segundo plano libera memória.Observação
Se
tcmallocEnableBackgroundThreadfortrueetcmallocReleaseRatefor0, o MongoDB ainda liberará memória.Para melhorar o uso da memória, recomendamos usar o valor padrão de
true. Para saber mais sobre melhorias no desempenho e no gerenciamento de memória, consulte Upgraded TCMalloc.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.A seguinte operação define
tcmallocEnableBackgroundThreadparafalse:mongod --setParameter "tcmallocEnableBackgroundThread=false"
tcmallocReleaseRateDisponível para
mongodemongos.Alterado na versão 8.0.
Padrão: 0
Especifica a taxa de liberação do TCMalloc em bytes por segundo. "Taxa de liberação" refere-se à taxa mínima na qual o MongoDB libera memória não utilizada para o sistema. Para devolver a memória ao sistema mais rapidamente, aumente a taxa de liberação; para devolver a memória mais lentamente, diminua a taxa de liberação.
Observação
Se
tcmallocEnableBackgroundThreadfortrueetcmallocReleaseRatefor0, o MongoDB ainda liberará memória.A partir do MongoDB 8.0, o valor padrão de
tcmallocReleaseRateé reduzido para0devido a uma atualização do tcmalloc que prioriza o desempenho da CPU em relação à liberação de memória. Mesmo quetcmallocReleaseRateseja configurado como0,tcmallocpode liberar memória de volta para o sistema, especialmente se estiver próximo do limite de heap. SetcmallocEnableBackgroundThreadestiver habilitado,tcmallocpoderá também liberar memória de seus caches intermediários.Em versões anteriores, o MongoDB usou uma versão mais antiga do
tcmallocque:Defina o
tcmallocReleaseRatepadrão como1.Valores aceitos para
tcmallocReleaseRateentre0e10, inclusive.
Importante
Se você executar o MongoDB em uma plataforma que usa
tcmalloc-gperfcomo Windows, PPC ou s390x,tcmallocReleaseRateterá o mesmo comportamento das versões anteriores do MongoDB .Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Para modificar a taxa de liberação durante o tempo de execução, você pode utilizar o
setParametercomando. Por exemplo:db.adminCommand( { setParameter: 1, tcmallocReleaseRate: 2097152 } ) Também é possível definir
tcmallocReleaseRateno momento da inicialização; por exemplo:mongod --setParameter "tcmallocReleaseRate=2097152"
tcpFastOpenClientDisponível para
mongodemongos.Padrão:
trueSomente sistema operacional Linux
Habilita o suporte para conexões TCP Fast Open (TFO) de saída do
mongod/mongospara um cliente. O TFO exige tanto o cliente quanto o suporte da máquina host domongod/mongose habilita o TFO.Sistemas operacionais Linux que executam o Linux Kernel 4.11 ou posterior podem suportar TFO de saída.
Defina o valor de
/proc/sys/net/ipv4/tcp_fastopenpara habilitar conexões TFO de saída:1para habilitar somente conexões TFO de saída.3para habilitar conexões TFO de entrada e saída.
Este parâmetro não terá efeito se o sistema operacional do host não suportar ou não estiver configurado para suportar conexões TFO.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Dica
tcpFastOpenQueueSizeDisponível para
mongodemongos.Padrão:
1024Como parte do estabelecimento de uma conexão TCP Fast Open (TFO), o cliente envia um cookie TFO válido para o
mongod/mongosantes da conclusão do handshake tridirecional TCP padrão. Omongod/mongosmantém uma fila de todas essas conexões TFO pendentes.O parâmetro
tcpFastOpenQueueSizedefine o tamanho da fila de conexões TFO pendentes. Enquanto a fila estiver cheia, omongod/mongosretorna ao handshake normal de três vias para solicitações de clientes de entrada e ignora a presença de cookies TFO. Quando o tamanho da fila estiver abaixo do limite, omongod/mongoscomeçará a aceitar novos cookies TFO.Aumentar o tamanho da fila padrão pode melhorar o efeito do TFO no desempenho da rede. No entanto, grandes tamanhos de fila também aumentam o risco de esgotamento de recursos do servidor devido ao excesso de solicitações de TFO de entrada.
Diminuir o tamanho padrão da fila pode reduzir o risco de esgotamento dos recursos do servidor de recursos devido ao excesso de solicitações de TFO recebidas. No entanto, os tamanhos de fila pequenos também podem reduzir o efeito do TFO no desempenho da rede.
O tamanho mínimo da fila é
0. Uma fila de0desabilita efetivamente o TFO.
Este parâmetro não tem efeito sobre os sistemas operacionais do host que não suportam ou não estão configurados para conexões TFO.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
tcpFastOpenServerDisponível para
mongodemongos.Padrão:
truePermite o suporte para aceitar conexões TCP Fast Open (TFO) de entrada para o
mongod/mongosa partir de um cliente. O TFO requer suporte do cliente e da máquina hostmongod/mongose habilita o TFO:- Windows
Os seguintes sistemas operacionais Windows são compatíveis com TFO:
Microsoft Windows Server 2016 e versões mais recentes.
Microsoft Windows 10 Update 1607 e versões mais recentes.
- macOS
- O macOS 10.11 (El Capitan) e versões mais recentes suportam TFO.
- Linux
Sistemas operacionais Linux que executam o Linux Kernel 3.7 ou posterior podem suportar TFO de entrada.
Configure o valor de
/proc/sys/net/ipv4/tcp_fastopenpara ativar conexões TFO de entrada:Defina como
2para ativar somente conexões TFO de entrada.Defina como
3para ativar conexões TFO de entrada e saída.
Este parâmetro não terá efeito se o sistema operacional do host não suportar ou não estiver configurado para suportar conexões TFO.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Dica
ttlMonitorEnabledDisponível apenas para
mongod.Padrão:
truePara oferecer suporte a índices TTL, as instâncias
mongodtêm um thread em segundo plano que é responsável por excluir documentos de coleções com índices TTL.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Para desabilitar esse thread de trabalho para um
mongod, definattlMonitorEnabledcomofalse, como nas seguintes operações:db.adminCommand( { setParameter: 1, ttlMonitorEnabled: false } ) Como alternativa, você pode desativar o thread no momento da inicialização iniciando a instância
mongodcom a seguinte opção:mongod --setParameter ttlMonitorEnabled=false Importante
Não execute instâncias
mongodde produção comttlMonitorEnableddesativado, exceto sob orientação do suporte do MongoDB. Impedir a remoção de documentos TTL pode impactar negativamente as operações internas do sistema MongoDB que dependem dos índices TTL.
watchdogPeriodSecondsDisponível apenas para
mongod.Tipo: inteiro
Padrão: -1 (desativado)
Determina com que frequência o Storage Node Watchdog verifica o status dos sistemas de arquivos monitorados:
O diretório
--dbpathO diretório
journaldentro do diretório--dbpathO diretório do arquivo
--logpathO diretório do arquivo
--auditPath
Os valores válidos de
watchdogPeriodSecondssão:-1(o padrão), para desabilitar/pausar o Storage Node Watchdog, ouUm número inteiro maior ou igual a 60.
Observação
Se um sistema de arquivos em um diretório monitorado deixar de responder, pode ser necessário um máximo de quase duas vezes o valor de
watchdogPeriodSecondspara encerrar omongod.Se algum de seu diretório monitorado for um symlink para outros volumes, o Storage Node Watchdog não monitorará o destino do symlink. Por exemplo, se o
mongodusastorage.directoryPerDB: true(ou--directoryperdb) e vincula um diretório de banco de dados a outro volume, o Storage Node Watchdog não segue o link simbólico para monitorar o destino.
Para habilitar o Storage Node Watchdog,
watchdogPeriodSecondsdeve ser definido durante a inicialização.mongod --setParameter watchdogPeriodSeconds=60 Você só pode habilitar o Storage Node Watchdog na inicialização. No entanto, uma vez habilitado, você pode pausar o Storage Node Watchdog ou alterar o
watchdogPeriodSecondsdurante o tempo de execução.Uma vez habilitado,
Para pausar o Watchdog do nó de armazenamento durante o tempo de execução, defina
watchdogPeriodSecondscomo -1.db.adminCommand( { setParameter: 1, watchdogPeriodSeconds: -1 } ) Para retomar ou alterar o período durante o tempo de execução, configure
watchdogPeriodSecondspara um número maior ou igual a 60.db.adminCommand( { setParameter: 1, watchdogPeriodSeconds: 120 } )
Observação
É um erro definir
watchdogPeriodSecondsem tempo de execução se o Storage Node Watchdog não tiver sido ativado no momento da inicialização.
Parâmetros de registro
enableDetailedConnectionHealthMetricLogLinesNovidades na versão 7.0.
Disponível para
mongodemongos.Tipo: booleano
Padrão: true
Determina se devem ser habilitadas as mensagens de log específicas relacionadas às métricas de integridade da conexão do cluster. Se
enableDetailedConnectionHealthMetricLogLinesestiver definido comofalse, as seguintes mensagens de log serão desativadas, mas o MongoDB ainda coletará dados sobre as métricas de integridade da conexão do cluster:Mensagem de registoDescriçãoConexão TLS aceita do par
Indica que o servidor analisou com sucesso o certificado de par durante o handshake TLS com uma conexão de ingresso aceita.
Handshake TLS de entrada concluído
Indica que o aperto de mão TLS com uma conexão de ingresso está completo.
Olá, concluído
Indica que a conexão inicial da negociação foi concluída em uma conexão de cliente de entrada.
O MongoDB exibe a mensagem de log somente com o primeiro comando
hello.Relatório de métricas de autenticação
Especifica a conclusão de uma etapa na conversa de autenticação.
Recebeu o primeiro comando na conexão de entrada desde o início da sessão ou a negociação de autenticação
Indica que uma conexão de entrada recebeu o primeiro comando que não faz parte da negociação.
Tempo de envio de resposta de rede lento
Indica que o tempo gasto, em milissegundos, para enviar a resposta de volta ao cliente por meio de uma conexão de entrada leva mais tempo do que a duração definida pelo parâmetro
slowMSserver.Verificação concluída do lado do cliente da solicitação OCSP
Se o par não incluir uma resposta OCSP ao handshake TLS quando uma conexão TLS de saída for estabelecida, o servidor deverá enviar uma solicitação OCSP à autoridade de certificação. O MongoDB grava essa mensagem de log quando a autoridade de certificação recebe a resposta do OCSP.
Estabelecimento de conexão lenta
Indica que o tempo necessário para enviar uma resposta de volta ao cliente em uma conexão de entrada leva mais tempo do que o limite especificado com o
slowConnectionThresholdMillisparâmetro. O MongoDB também emite essa mensagem de registro quando o estabelecimento da conexão expira.A operação atingiu o tempo limite enquanto aguardava a aquisição da conexão
Indica que uma operação atingiu o tempo-limite enquanto aguardava a aquisição de uma conexão de saída.
Conexão adquirida para operação remota e escrita concluída no fio
Indica que o servidor levou um milissegundo ou mais para gravar uma solicitação de saída em uma conexão de saída, contando a partir do instante em que a conexão é estabelecida.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
logComponentVerbosityDisponível para
mongodemongos.Padrão: 0
Define os níveis de detalhamento de vários componentes para mensagens de log. O nível de detalhamento determina a quantidade de mensagens informativas e de depuração que o MongoDB emite. [2]
O nível de verbosidade pode variar de
0a5:0é o nível de detalhamento de log padrão do MongoDB, para incluir mensagens informativas.1para5aumenta o nível de verbosidade para incluir mensagens de Depuração.
Para um componente, você também pode especificar
-1para herdar o nível de verbosidade dos pais.Para especificar o nível de verbosidade, use um documento semelhante ao seguinte:
{ verbosity: <int>, <component1>: { verbosity: <int> }, <component2>: { verbosity: <int>, <component3>: { verbosity: <int> } }, ... } Para os componentes, você pode especificar apenas o
<component>: <int>no documento, a menos que esteja definindo o nível de detalhamento pai e o do(s) componente(s) filho(s) também:{ verbosity: <int>, <component1>: <int> , <component2>: { verbosity: <int>, <component3>: <int> } ... } O campo
verbosityde nível superior corresponde asystemLog.verbosityque define o nível padrão para todos os componentes. O valor padrão desystemLog.verbosityé0.Os componentes correspondem às seguintes configurações:
A menos que explicitamente definido, o componente tem o nível de verbosidade de seu pai. Por exemplo,
storageé o pai destorage.journal. Isto é, se você especificar um nível de verbosidade dostorage, este nível também se aplicará a:storage.journalcomponentes a menos que você especifique o nível de verbosidade parastorage.journal.storage.recoverycomponentes a menos que você especifique o nível de verbosidade parastorage.recovery.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, o seguinte define o
default verbosity levelcomo1, oquerycomo2, ostoragepara2e ostorage.journalpara1.db.adminCommand( { setParameter: 1, logComponentVerbosity: { verbosity: 1, query: { verbosity: 2 }, storage: { verbosity: 2, journal: { verbosity: 1 } } } } ) Você também pode definir o parâmetro
logComponentVerbosityno momento da inicialização, passando o documento de nível de verbosidade como uma string.mongod --setParameter "logComponentVerbosity={command: 3}" mongoshtambém fornece odb.setLogLevel()para definir o nível de log de um único componente. Para ver várias maneiras de definir o nível de verbosidade do log, consulte Configurar níveis de verbosidade do log.[2] A partir da versão 4.2, o MongoDB inclui o nível de verbosidade de depuração (1-5) nas mensagens de registro. Por exemplo, se o nível de verbosidade for 2, o MongoDB registrará D2. Em versões anteriores, as mensagens de registro do MongoDB especificavam somenteDpara o nível de depuração.
logLevelDisponível para
mongodemongos.Padrão: 0 (informacional)
Especifique um número inteiro entre
0e5, significando o detalhamento do registro, em que5é o mais detalhado. [3]Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define o
logLevelpara2:db.adminCommand( { setParameter: 1, logLevel: 2 } ) [3] A partir da versão 4.2, o MongoDB inclui o nível de verbosidade de depuração (1-5) nas mensagens de registro. Por exemplo, se o nível de verbosidade for 2, o MongoDB registrará D2. Em versões anteriores, as mensagens de registro do MongoDB especificavam somenteDpara o nível de depuração.
maxLogSizeKBDisponível para
mongodemongos.Tipo: número inteiro não negativo
Padrão: 10
Especifica o tamanho máximo, em kilobytes, para um campo de atributo individual em uma entrada de log; os atributos que excedem esse limite são truncados.
Os campos de atributo truncados imprimem o conteúdo do campo até o limite de
maxLogSizeKBe imprimem o conteúdo do campo de impostos específicos ultrapassa esse limite, mantendo a formatação JSON válida. As entradas de log que contêm atributos truncados anexam um objetotruncatedao final da entrada de log.Consulte truncamento de mensagem de log para obter mais informações.
Um valor
0desativa totalmente o truncamento. Os valores negativos para este parâmetro não são válidos.Aviso
Usar um valor grande ou desativar o truncamento com um valor
0pode afetar negativamente o desempenho do sistema e afetar negativamente as operações do banco de dados.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define o tamanho máximo da linha de log para
20kilobytes:mongod --setParameter maxLogSizeKB=20
profileOperationResourceConsumptionMetricsDisponível apenas para
mongod.Tipo: booleano
Padrão: false
Sinalizador que determina se as operações coletam métricas de consumo de recursos e as relatam nos logs de consulta lenta. Se você ativar a criação de perfil, essas métricas também serão incluídas.
Se configurado para
true, executando o comandoexplainretornará operationMetrics quando o verbosidade forexecutionStatsou superior.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
quietDisponível para
mongodemongos.Define o modo de registro silencioso. Se
1,mongodentrará em um modo de registro silencioso que não registrará os seguintes eventos/atividades:eventos de conexão;
o comando
drop, o comandodropIndexes, o comandovalidate; eatividades de sincronização de replicação.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Considere o seguinte exemplo que define o parâmetro
quietcomo1:db.adminCommand( { setParameter: 1, quiet: 1 } ) Dica
redactClientLogDataDisponível para
mongodemongos.Tipo: booleano
Observação
Funcionalidade de empresas
Disponível apenas no MongoDB Enterprise.
Configure o
mongodoumongospara redigir qualquer mensagem que acompanhe um determinado evento de log antes do log. Isso impede que o programa grave dados potencialmente confidenciais armazenados no banco de dados no registro de diagnóstico. Metadados como códigos de erro ou operação, números de linha e nomes de arquivos de origem ainda são visíveis nos registros.Use
redactClientLogDataem conjunto com criptografia em descanso e TLS/SSL (criptografia de transporte) para auxiliar a conformidade com os requisitos normativos.Para habilitar a redação de registro na inicialização, você pode:
Inicie o
mongodcom a opção--redactClientLogData:mongod --redactClientLogData Configure a opção
security.redactClientLogDatano arquivo de configuração:security: redactClientLogData: true ...
Não é possível usar a opção
--setParameterpara definirredactClientLogDatana inicialização.Para habilitar a supressão de log em um
mongodoumongosem execução, utilize o seguinte comando:db.adminCommand( { setParameter: 1, redactClientLogData : true } )
redactEncryptedFieldsNovidades na versão 6.1.0.
Disponível para
mongodemongos.Tipo: booleano
Padrão:
trueConfigura
mongodemongospara editar valores de campo de dadosBinarycriptografados de todas as mensagens de log.Se o parâmetro
redactClientLogDataou a configuraçãosecurity.redactClientLogDatafor definido comofalseeredactEncryptedFieldsfor definido comotrue(o padrão), os campos criptografados serão suprimidos de todas as mensagens de log.Se o parâmetro
redactClientLogDataou a configuraçãosecurity.redactClientLogDataestiver configurado paratrue, todos os campos serão suprimidos, independentemente da configuraçãoredactEncryptedFields.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
suppressNoTLSPeerCertificateWarningDisponível para
mongodemongos.Tipo: booleano
Padrão: false
Por padrão, um
mongodoumongoscom TLS/SSL habilitado enet.ssl.allowConnectionsWithoutCertificates:truepermite que os clientes se conectem sem fornecer um certificado para validação enquanto registram um aviso. DefinasuppressNoTLSPeerCertificateWarningcomo1outruepara suprimir esses avisos.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.A seguinte operação define
suppressNoTLSPeerCertificateWarningparatrue:db.adminCommand( { setParameter: 1, suppressNoTLSPeerCertificateWarning: true} )
traceExceptionsDisponível para
mongodemongos.Configura
mongodpara registrar rastreamentos de pilha de código-fonte completo para cada exceção de banco de dados e soquete C++, para uso com depuração. Setrue,mongodregistrará rastreamentos completos de pilha.Esse parâmetro só está disponível em tempo de execução. Para definir o parâmetro, use o comando
setParameter.Considere o exemplo a seguir que define
traceExceptionscomotrue:db.adminCommand( { setParameter: 1, traceExceptions: true } )
Parâmetros de diagnóstico
Para facilitar a análise do comportamento do servidor MongoDB pelos engenheiros do MongoDB, o MongoDB registra as estatísticas do servidor em arquivos de diagnóstico em intervalos periódicos.
Para mongod os arquivos de dados de diagnóstico são armazenados no diagnostic.data diretório sob o mongod --dbpath ou da storage.dbPath instância.
Para mongos os arquivos de dados de diagnóstico, por padrão, são armazenados em um diretório sob o mongos --logpath diretório ou systemLog.path da instância. O diretório de dados de diagnóstico é calculado truncando a(s) extensão(ões) de arquivo do caminho de registro e concatenando diagnostic.data ao nome restante.
Por exemplo, se mongos tiver --logpath
/var/log/mongodb/mongos.log.201708015, o diretório de dados de diagnóstico será /var/log/mongodb/mongos.diagnostic.data/ diretório. Para especificar um diretório de dados de diagnóstico diferente para mongos, configure o parâmetro diagnosticDataCollectionDirectoryPath.
Os parâmetros a seguir suportam captura de dados de diagnóstico (FTDC):
Observação
Os valores padrão para o intervalo de captura de dados de diagnóstico e os tamanhos máximos são escolhidos para fornecer dados úteis aos engenheiros do MongoDB com impacto mínimo no desempenho e no tamanho do armazenamento. Normalmente, esses valores só precisarão de modificações conforme solicitado pelos engenheiros do MongoDB para fins de diagnóstico específicos.
diagnosticDataCollectionDirectoryPathDisponível apenas para
mongos.Tipo: string
Aviso
Se a captura de dados de diagnóstico em tempo integral (FTDC) estiver desativada com
diagnosticDataCollectionEnabledou sesystemLog.destinationestiver definido comosyslog, será necessário reiniciarmongosapós definirdiagnosticDataCollectionDirectoryPath.Especifique o diretório para o diretório de diagnóstico para
mongos. Se o diretório não existir, omongoscriará o diretório.Se não for especificado, o diretório de dados de diagnóstico será calculado truncando as extensões de
mongosarquivo--logpathou dasystemLog.pathinstância e concatenandodiagnostic.data.Por exemplo, se
mongostiver--logpath /var/log/mongodb/mongos.log.201708015, então o diretório de dados de diagnóstico será/var/log/mongodb/mongos.diagnostic.data/.Se o
mongosnão puder criar o diretório especificado, a captura de dados de diagnóstico será desabilitada para esta instância.mongostalvez não seja possível criar o diretório especificado se um arquivo com o mesmo nome já existir no caminho ou se o processo não tiver permissões para criar o diretório.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
diagnosticDataCollectionDirectorySizeMBDisponível para
mongodemongos.Tipo: inteiro
Padrão:
250(500em clusters fragmentados)Especifica o tamanho máximo, em megabytes, do diretório
diagnostic.data. Se o tamanho do diretório exceder esse número, os arquivos de diagnóstico mais antigos do diretório serão excluídos automaticamente com base no carimbo de data/hora no nome do arquivo.Alterado na versão 8.0:
diagnosticDataCollectionDirectorySizeMBtem um valor padrão de 400 MB para instânciasmongosemongodusadas em clusters fragmentados.mongodinstâncias usadas no conjunto de réplicas ou como servidores autônomos têm um valor padrão de 200 MB.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, o seguinte define o tamanho máximo do diretório para
250megabytes:mongod --setParameter diagnosticDataCollectionDirectorySizeMB=250 O valor mínimo para
diagnosticDataCollectionDirectorySizeMBé de10megabytes.diagnosticDataCollectionDirectorySizeMBdeve ser maior que o tamanho máximo do arquivo de diagnósticodiagnosticDataCollectionFileSizeMB.
diagnosticDataCollectionEnabledDisponível para
mongodemongos.Tipo: booleano
Padrão: true
Determina se deseja habilitar a coleta e o registro de dados para fins de diagnóstico. O registro de diagnóstico está habilitado por padrão.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, o seguinte desabilita a collection de diagnóstico:
mongod --setParameter diagnosticDataCollectionEnabled=false
diagnosticDataCollectionFileSizeMBDisponível para
mongodemongos.Tipo: inteiro
Padrão: 10
Especifica o tamanho máximo, em megabytes, de cada arquivo de diagnóstico. Se o arquivo exceder o tamanho máximo permitido, o MongoDB criará um novo arquivo.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, o seguinte define o tamanho máximo de cada arquivo de diagnóstico para
20megabytes:mongod --setParameter diagnosticDataCollectionFileSizeMB=20 O valor mínimo para
diagnosticDataCollectionFileSizeMBé de1megabytes.
diagnosticDataCollectionPeriodMillisDisponível para
mongodemongos.Tipo: inteiro
Padrão: 1000
Especifica o intervalo, em milissegundos, no qual coletar dados de diagnóstico.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, o seguinte define o intervalo para
5000milissegundos ou 5 segundos:mongod --setParameter diagnosticDataCollectionPeriodMillis=5000 O valor mínimo para
diagnosticDataCollectionPeriodMillisé de100milissegundos.
Replicação e consistência
allowMultipleArbitersNovidades na versão 5.3.
Disponível apenas para
mongod.Tipo: booleano
Padrão: false
Especifica se o conjunto de réplicas permite o uso de vários arbiters.
O uso de vários arbiters não é recomendado:
Vários árbitros impedem o uso confiável da preocupação com gravação da maioria. O MongoDB conta árbitros no cálculo da maioria de membros, mas os árbitros não armazenam dados. Com a inclusão de vários árbitros, é possível que uma operação de gravação majoritária retorne com êxito antes que a gravação seja replicada para a maioria dos nós com dados portadores.
Vários árbitros permitem que conjuntos de réplicas aceitem gravações mesmo quando o conjunto de réplicas não tem segundários suficientes para a replicação de dados.
Para obter mais informações, consulte Preocupações com vários arbiters.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.mongod --setParameter allowMultipleArbiters=true
connectTimeoutMsDisponível para
mongodemongos.Tipo: inteiro
Padrão: 10000
Define o tempo limite de conexão, em milissegundos, para o monitor do conjunto de réplicas.
Este parâmetro está disponível apenas na inicialização. Se você definir este parâmetro, ele deve ser maior ou igual a 500.
O exemplo a seguir define
connectTimeoutMspara uma instânciamongodem 700 milissegundos:mongod --setParameter connectTimeoutMs=700
createRollbackDataFilesDisponível apenas para
mongod.Tipo: booleano
Padrão: true
Sinalizador que determina se o MongoDB cria arquivos de rollback que contêm documentos afetados durante um rollback.
Por padrão, o
createRollbackDataFilesétruee o MongoDB cria os arquivos de rollback.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
createRollbackDataFilescomo falso para que os arquivos de rollback não sejam criados:mongod --setParameter createRollbackDataFiles=false Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, createRollbackDataFiles: false } ) Para obter mais informações, consulte Coletar dados de rollback.
disableSplitHorizonIPCheckNovidades na versão 5.0.0.
Disponível para
mongodemongos.Tipo: booleano
Padrão: false
Para configurar nós de cluster para DNS de horizonte dividido, use nomes de host em vez de endereços IP.
Começando no MongoDB v5,0,
replSetInitiateereplSetReconfigrejeitam configurações que usam endereços IP em vez de nomes de host.Utilize o
disableSplitHorizonIPCheckpara modificar nós que não podem ser atualizados para utilizar nomes de host. O parâmetro se aplica somente aos comandos de configuração.O
mongodemongosnão dependem dedisableSplitHorizonIPCheckpara a validação na inicialização. As instâncias legadas domongodemongosque usam endereços IP em vez de nomes de host podem ser iniciadas após a atualização.As instâncias configuradas com endereços IP registram um aviso para usar nomes de host em vez de endereços IP.
Para permitir alterações de configuração utilizando endereços IP, defina
disableSplitHorizonIPCheck=trueutilizando a linha de comando:/usr/local/bin/mongod --setParameter disableSplitHorizonIPCheck=true -f /etc/mongod.conf Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.setParameter: disableSplitHorizonIPCheck: true
enableFlowControlDisponível para
mongodemongos.Tipo: booleano
Padrão: true
Habilita ou desabilita o mecanismo que controla a taxa na qual o primário aplica suas gravações com o objetivo de manter o atraso de
majority committeddos membros secundários sob um valor máximo configurável.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
enableOverrideClusterChainingSettingNovidades na versão 5.0.2.
Disponível para
mongodemongos.Tipo: booleano
Padrão: false
Se
enableOverrideClusterChainingSettingfortrue, os membros secundários do conjunto de réplicas poderão replicar dados de outros membros secundários, mesmo quesettings.chainingAllowedsejafalse.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, para configurar o
enableOverrideClusterChainingSettingde uma instânciamongodcomotrue:mongod --setParameter enableOverrideClusterChainingSetting=true
flowControlTargetLagSecondsDisponível para
mongodemongos.Tipo: inteiro
Padrão: 10
O alvo máximo
majority committeddefasagem ao executar com controle de fluxo. Quando o controle de fluxo está habilitado, o mecanismo tenta manter o atrasomajority committedsob os segundos especificados. O parâmetro não terá efeito se o controle de fluxo estiver desabilitado.O valor especificado deve ser maior que 0.
Em geral, as configurações padrão devem ser suficientes; no entanto, se modificar a partir do valor padrão, diminuindo, em vez de aumentar, o valor pode revelar-se mais útil.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
flowControlWarnThresholdSecondsDisponível para
mongodemongos.Tipo: inteiro
Padrão: 10
A quantidade de tempo que deve aguardar para registrar um aviso depois que o mecanismo de controle de fluxo detecta o ponto de confirmação da maioria não foi movida.
O valor especificado deve ser maior ou igual a 0, com 0 para desabilitar os avisos.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
heartBeatFrequencyMsDisponível para
mongodemongos.Tipo: inteiro
Padrão: 10000
Quando
replicaSetMonitorProtocolé configurado para'sdam',heartBeatFrequencyMsdetermina quanto tempo, em milissegundos, esperar entre as solicitações dehello.Quando
replicaSetMonitorProtocolé configurado para'streamable',heartBeatFrequencyMsdetermina quanto tempo, em milissegundos, esperar entre as medições de tempo de ida e volta (RTT) dehello. As medições de RTT são usadas na seleção de servidores.Este parâmetro está disponível apenas na inicialização. Se você definir este parâmetro, ele deve ser maior ou igual a 500.
O exemplo a seguir define
heartBeatFrequencyMsem uma instânciamongodpara 700 milissegundos:mongod --setParameter heartBeatFrequencyMs=700
initialSyncIndexBuildMemoryPercentageNew in version 8.0.13: (and 7.0.26)
Disponível apenas para
mongod.Tipo: double
Padrão: 10.0
A porcentagem de memória do sistema que o MongoDB aloca para compilações de índice durante a sincronização inicial. A quantidade de memória do sistema utilizada é limitada pelos valores de
initialSyncIndexBuildMemoryMinMBeinitialSyncIndexBuildMemoryMaxMB.Você pode especificar um valor entre
0.0e80.0, inclusive.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, para definir o
initialSyncIndexBuildMemoryPercentagede uma instânciamongodcomo 40%:mongod --setParameter initialSyncIndexBuildMemoryPercentage=40
initialSyncIndexBuildMemoryMaxMBNew in version 8.0.13: (and 7.0.26)
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 16384
A quantidade máxima de memória do sistema, em megabytes, que o MongoDB pode usar para compilações de índice durante a sincronização inicial.
Você pode especificar um valor entre
50e10000000.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, para configurar o
initialSyncIndexBuildMemoryMaxMBpara uma instância domongodpara 20000 MB:mongod --setParameter initialSyncIndexBuildMemoryMaxMB=20000
initialSyncIndexBuildMemoryMinMBNew in version 8.0.13: (and 7.0.26)
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 200
A quantidade mínima de memória do sistema, em megabytes, que o MongoDB pode usar para compilações de índice durante a sincronização inicial.
Você pode especificar um valor entre
50e10000000.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, para configurar o
initialSyncIndexBuildMemoryMinMBpara uma instância domongodpara 60 MB:mongod --setParameter initialSyncIndexBuildMemoryMinMB=60
initialSyncMethodNovidades na versão 5.2.
Disponível apenas para
mongod.Tipo: string
Padrão:
logicalDisponível apenas no MongoDB Enterprise.
Método usado para initial sync.
Configure para
logicalpara utilizar a sincronização inicial lógica. Configure parafileCopyBasedpara utilizar a sincronização inicial baseada em cópia de arquivo.Este parâmetro afeta somente o método de sincronização do membro no qual ele é especificado. A definição desse parâmetro em um único membro do conjunto de réplicas não afeta o método de sincronização de nenhum outro membro do conjunto de réplicas.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
initialSyncSourceReadPreferenceDisponível apenas para
mongod.Tipo: string
A fonte preferencial para executar a initial sync. Especifique um dos seguintes modos de read preference:
primaryPreferred(Padrão para membros do conjunto de réplicas votantes)nearest(Padrão para membros do conjunto de réplicas recém-adicionados ou sem direito a voto)
Se o conjunto de réplicas tiver desabilitado
chaining, o modo de preferência de leiturainitialSyncSourceReadPreferencepadrão seráprimary.Você não pode especificar um conjunto de tags ou
maxStalenessSecondsparainitialSyncSourceReadPreference.Se o
mongodnão conseguir localizar uma fonte de sincronização com base na preferência de leitura especificada, ele registrará um erro e reiniciará o processo de sincronização inicial. Omongodsai com um erro se não conseguir concluir o processo de sincronização inicial após10tentativas. Para obter mais informações sobre a seleção da fonte de sincronização, consulte Seleção inicial da fonte de sincronização.initialSyncSourceReadPreferencetem precedência sobre a configuraçãosettings.chainingAlloweddo conjunto de réplicas ao selecionar uma fonte de sincronização inicial. Depois que um conjunto de réplicas conclui com êxito a sincronização inicial, ele adia o valor dechainingAllowedao selecionar uma fonte de sincronização de replicação.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
initialSyncTransientErrorRetryPeriodSecondsDisponível para
mongodemongos.Tipo: inteiro
Padrão: 86400
A quantidade de tempo em segundos que um secundário executando a sincronização inicial tenta retomar o processo se for interrompido por um erro de rede transitório. O valor padrão é equivalente a 24 horas.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
localLogicalSessionTimeoutMinutesDisponível para
mongodemongos.Tipo: inteiro
Padrão: 30
Aviso
Apenas para fins de teste
Este parâmetro destina-se apenas a fins de teste e não para uso de produção.
O tempo em minutos em que uma sessão permanece ativa após seu uso mais recente. As sessões que não receberam uma nova operação de leitura/gravação do cliente ou foram atualizadas com
refreshSessionsdentro desse limite são apagadas do cache. O estado associado a uma sessão expirada pode ser limpo pelo servidor a qualquer momento.Este parâmetro se aplica somente à instância na qual está definido. Para definir esse parâmetro em conjuntos de réplicas e clusters fragmentados, você deve especificar o mesmo valor em cada membro; caso contrário, as sessões não funcionarão corretamente.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, para configurar o
localLogicalSessionTimeoutMinutesde uma instânciamongodde teste como 20 minutos:mongod --setParameter localLogicalSessionTimeoutMinutes=20
localThresholdMsDisponível para
mongodemongos.Tipo: inteiro
Padrão: 15
Define o tamanho da janela de latência usada na seleção do servidor em milissegundos.
Este parâmetro está disponível apenas na inicialização. Se você definir este parâmetro, ele deve ser maior ou igual a 0.
O exemplo a seguir define
localThresholdMspara uma instânciamongodem 20 milissegundos:mongod --setParameter localThresholdMs=20
logicalSessionRefreshMillisDisponível para
mongodemongos.Tipo: inteiro
Padrão: 300000 (5 minutos)
O intervalo (em milissegundos) no qual o cache atualiza seus registros de sessão lógica no armazenamento de sessão principal.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, para definir o
logicalSessionRefreshMillisde uma instânciamongodcomo 10 minutos:mongod --setParameter logicalSessionRefreshMillis=600000
maxAcceptableLogicalClockDriftSecsDisponível para
mongodemongos.Tipo: inteiro
Padrão: 31536000 (1 ano)
O valor máximo pelo qual o tempo atual do cluster pode ser avançado; especificamente,
maxAcceptableLogicalClockDriftSecsé a diferença máxima entre o novo valor do tempo do cluster e o tempo atual do cluster. O tempo do cluster é um tempo lógico usado para ordenar operações.Não é possível avançar a hora do cluster para um novo valor se a nova hora do cluster for diferente da hora do cluster atual em mais de
maxAcceptableLogicalClockDriftSecs.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, para definir o
maxAcceptableLogicalClockDriftSecsde uma instânciamongodcomo 15 minutos:mongod --setParameter maxAcceptableLogicalClockDriftSecs=900
maxNumSyncSourceChangesPerHourDisponível para
mongodemongos.Novidades na versão 5.0.
Tipo: inteiro
Padrão: 3
Fontes de sincronização são avaliadas toda vez que uma fonte de sincronização é atualizada e toda vez que um nó obtém um lote de entradas de oplog. Se houver mais de
maxNumSyncSourceChangesPerHouralterações de origem em uma hora, o nó interromperá temporariamente a reavaliação dessa origem de sincronização. Se este parâmetro for configurado com um valor alto, o nó poderá fazer alterações de origem desnecessárias.Esse parâmetro não impedirá que um nó comece a sincronizar de outro nó se ele não tiver uma origem de sincronização. O nó reavaliará se uma origem de sincronização se tornar inválida. Da mesma forma, se as alterações primárias e o encadeamento estiverem desabilitados, o nó será atualizado para sincronização a partir do novo primário.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
maxSessionsDisponível para
mongodemongos.Tipo: inteiro
Padrão: 1000000
O número máximo de sessões que podem ser armazenadas em cache.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, para configurar o
maxSessionsde uma instânciamongodcomo 1000:mongod --setParameter maxSessions=1000
mirrorReadsDisponível apenas para
mongod.Tipo: documento
Padrão:
{ samplingRate: 0.01, maxTimeMS: 1000 }Especifica as configurações para leituras espelhadas para a instância do
mongod. As configurações só entram em vigor quando o membro é primário.O parâmetro
mirrorReadsutiliza um documento JSON com os seguintes campos:CampoDescriçãosamplingRateA taxa de amostragem usada para espelhar um subconjunto de operações que suportam o espelhamento para um subconjunto de secundários selecionáveis (especificamente,
priority greater than 0). Ou seja, os espelhos primários lêem cada secundário elegível na taxa de amostragem especificada.Os valores válidos são:
0.0Desativa o espelhamento.
1.0O primary espelha todas as operações que suportam espelhamento para cada secundário elegível.
Número entre
0.0e1.0(exclusivo)O primary coleta amostras aleatórias de cada secundário elegível na taxa especificada para o envio de leituras espelhadas.
Por exemplo, dado um conjunto de réplicas com um primário e dois secundários elegíveis e uma taxa de amostragem de
0.10, os espelhos primários lêem para cada secundário elegível à taxa de amostragem de 10 por cento, de modo que uma leitura pode ser espelhada para um secundário e não para o outro ou para ambos ou para nenhum dos dois. Ou seja, se o primário recebe100operações que podem ser espelhadas, a taxa de amostragem de0.10pode resultar em leituras8sendo espelhadas para um secundário e13leituras para o outro ou10para cada um, etc.O valor padrão é
0.01.maxTimeMSO tempo máximo em milissegundos para as leituras espelhadas. O valor padrão é
1000.O
maxTimeMSpara as leituras espelhadas é separado domaxTimeMSda leitura original sendo espelhada.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Se você especificar a partir do arquivo de configuração ou na linha de comando, coloque o documento
mirrorReadsentre aspas.Por exemplo, o seguinte define a taxa de amostragem de leitura do espelho como
0.10na linha de comando:mongod --setParameter mirrorReads='{ samplingRate: 0.10 }' Ou para especificar em um arquivo de configuração:
setParameter: mirrorReads: '{samplingRate: 0.10}' Ou, se estiver usando o comando
setParameterem uma sessãomongoshconectada a ummongodem execução, não coloque o documento entre aspas:db.adminCommand( { setParameter: 1, mirrorReads: { samplingRate: 0.10 } } )
oplogBatchDelayMillisNovidades na versão 6.0.
Disponível para
mongodemongos.Tipo: inteiro
Padrão: 0
O número de milissegundos para atrasar a aplicação de lotes de operações de oplog em nós secundários. Por padrão,
oplogBatchDelayMillisé0, o que significa que os lotes de oplog são aplicados sem atraso. Quando não há atraso, o MongoDB pode aplicar lotes de oplog pequenos e frequentes a secundários.O aumento do
oplogBatchDelayMillisfaz com que o MongoDB aplique lotes de oplog com menos frequência em secundários, com cada lote contendo maiores quantidades de dados. Isso reduz a IOPS em secundários, mas adiciona latência para gravações com write concern"majority".Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, execute o seguinte comando para configurar o
oplogBatchDelayMillispara uma instânciamongodpara 20 milissegundos:mongod --setParameter oplogBatchDelayMillis=20
oplogFetcherUsesExhaustDisponível apenas para
mongod.Tipo: booleano
Padrão: true
Habilita ou desabilita a replicação de streaming. Configure o valor para
truepara habilitar a replicação de streaming.Defina o valor como
falsepara desativar a replicação de streaming. Se estiver desativado, os secundários obtêm lotes de entradas do oplog emitindo uma solicitação para sua sincronização a partir da origem e aguardando uma resposta. Isso requer uma viagem de ida e volta da rede para cada lote de entradas de oplog.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
oplogInitialFindMaxSecondsDisponível apenas para
mongod.Tipo: inteiro
Padrão: 60
Tempo máximo, em segundos, para que um membro de um conjunto de réplicas aguarde a conclusão do comando
finddurante a sincronização de dados.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
periodicNoopIntervalSecsDisponível apenas para
mongod.Tipo: inteiro
Padrão: 10
A duração em segundos entre noop escreve em cada nó individual.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Observação
Para modificar este valor para um cluster do MongoDB Atlas, você deve entrar em contato com o suporte do Atlas.
O exemplo a seguir define o
periodicNoopIntervalSecscomo 1 segundo na inicialização:mongod --setParameter periodicNoopIntervalSecs=1
replBatchLimitBytesDisponível para
mongodemongos.Default: 104857600 (100MB)
Define o tamanho máximo do lote do aplicativo oplog em bytes.
Os valores podem variar de 16777216 (16MB) a 104857600 (100MB), inclusive.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
replBatchLimitBytescomo 64 MB para limitar o tamanho do lote do aplicativo oplog:mongod --setParameter replBatchLimitBytes=67108864 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, replBatchLimitBytes: 64 * 1024 * 1024 } )
replicaSetMonitorProtocolDisponível para
mongodemongos.Tipo: string
Padrão: "transmissível"
Determina qual protocolo de monitoramento do conjunto de réplicas deve ser usado. Você pode definir este parâmetro para
"streamable", que está em conformidade com a especificação Server Discovery and Monitoring (SDAM) e permite solicitações constantes dehello. Você também pode definir este parâmetro como"sdam", que está em conformidade com a especificação do SDAM.Este parâmetro está disponível apenas na inicialização.
O exemplo a seguir define
replicaSetMonitorProtocolcomo"sdam"em uma instânciamongod:mongod --setParameter replicaSetMonitorProtocol='sdam'
replWriterMinThreadCountNovidades na versão 5.0.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 0
Número mínimo de threads utilizadas para aplicar operações replicadas em paralelo. Os valores podem variar de 0 a 256. Você só pode definir
replWriterMinThreadCountna inicialização e não pode alterar essa configuração com o comandosetParameter.O aplicativo paralelo de operações de replicação usa até
replWriterThreadCountthreads. SereplWriterMinThreadCountestiver configurado com um valor menor quereplWriterThreadCount, o pool de threads atingirá o timeout de threads ociosos até que a contagem total de threads no pool de threads seja igual areplWriterMinThreadCount.replWriterMinThreadCountdeve ser configurado com um valor menor ou igual areplWriterThreadCount.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
replWriterThreadCountDisponível apenas para
mongod.Tipo: inteiro
Padrão: 16
Número máximo de threads a utilizar para aplicar operações replicadas em paralelo. Os valores podem variar de 1 a 256 inclusive. No entanto, o número máximo de threads usados é limitado a duas vezes o número de núcleos disponíveis.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
rollbackTimeLimitSecsDisponível apenas para
mongod.Tipo: número inteiro de 64 bits
Padrão: 86400 (1 dias)
Idade máxima dos dados que podem ser revertidos. Os valores negativos para este parâmetro não são válidos.
Se o tempo entre o fim do oplog da instância a ser revertida e a primeira operação após o ponto comum (o último ponto em que o nó de origem e o nó a ser revertido tinham os mesmos dados) exceder esse valor, a reversão falhará.
Para efetivamente ter um período de rollback ilimitado, defina o valor como
2147483647, que é o valor máximo permitido e equivalente a aproximadamente 68 anos.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
TransactionRecordMinimumLifetimeMinutesDisponível apenas para
mongod.Tipo: inteiro
Padrão: 30
O tempo mínimo de permanência de um registro de transação na coleção
transactionsantes que o registro se torne elegível para limpeza.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, para definir o
TransactionRecordMinimumLifetimeMinutesde uma instânciamongodcomo 20 minutos:mongod --setParameter TransactionRecordMinimumLifetimeMinutes=20
waitForSecondaryBeforeNoopWriteMSDisponível apenas para
mongod.Tipo: inteiro
Padrão: 10
O período de tempo (em milissegundos) que um secundário deve esperar se
afterClusterTimefor maior que o último tempo aplicado do oplog. Após a passagem dowaitForSecondaryBeforeNoopWriteMS, se oafterClusterTimeainda for maior que o último tempo aplicado, o secundário faz uma gravação no-op para avançar o último tempo aplicado.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
waitForSecondaryBeforeNoopWriteMSpara 20 milissegundos:mongod --setParameter waitForSecondaryBeforeNoopWriteMS=20 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, waitForSecondaryBeforeNoopWriteMS: 20 } )
Parâmetros de fragmentação
analyzeShardKeyCharacteristicsDefaultSampleSizeNovidades na versão 7.0.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 10000000
Se
sampleRateesampleSizenão estiverem definidos quando você executaranalyzeShardKey, especifica o número de documentos a serem amostrados ao calcular as métricas de características-chave do fragmento. Deve ser maior que0.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Este exemplo define
analyzeShardKeyCharacteristicsDefaultSampleSizecomo10000na inicialização:mongod --setParameter analyzeShardKeyCharacteristicsDefaultSampleSize=10000 Durante o tempo de execução, você pode configurar ou modificar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, analyzeShardKeyCharacteristicsDefaultSampleSize: 10000 } )
analyzeShardKeyMonotonicityCorrelationCoefficientThresholdNovidades na versão 7.0.
Disponível apenas para
mongod.Tipo: double
Padrão: 0.7
Especifica o limite de coeficiente de correlação do
RecordIdutilizado para determinar se uma chave de shard está mudando monotonicamente na ordem de inserção. Deve ser maior que0e menor ou igual a1.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Este exemplo define
analyzeShardKeyMonotonicityCorrelationCoefficientThresholdcomo1na inicialização:mongod --setParameter analyzeShardKeyMonotonicityCorrelationCoefficientThreshold=1 Durante o tempo de execução, você pode configurar ou modificar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, analyzeShardKeyMonotonicityCorrelationCoefficientThreshold: 1 } )
analyzeShardKeyNumMostCommonValuesNovidades na versão 7.0.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 5
Especifica o número de valores da chave de shard mais comuns a serem retornados. Se a collection contiver menos chaves de shard exclusivas do que esse valor,
analyzeShardKeyNumMostCommonValuesretornará esse número de valores mais comuns. Deve ser maior que0e menor ou igual a1000.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Este exemplo define
analyzeShardKeyNumMostCommonValuescomo3na inicialização:mongod --setParameter analyzeShardKeyNumMostCommonValues=3 Durante o tempo de execução, você pode configurar ou modificar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, analyzeShardKeyNumMostCommonValues: 3 } )
analyzeShardKeyNumRangesNovidades na versão 7.0.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 100
Especifica o número de intervalos em que o espaço de chave de fragmento deve ser particionado ao calcular o hotness dos intervalos de chave de fragmento. Deve ser maior que
0e menor ou igual a10000.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Este exemplo define
analyzeShardKeyNumRangescomo50na inicialização:mongod --setParameter analyzeShardKeyNumRanges=50 Durante o tempo de execução, você pode configurar ou modificar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, analyzeShardKeyNumRanges: 50 } )
analyzeShardKeyNumSamplesPerRangeNovidades na versão 7.0.
Disponível apenas para
mongod.Tipo: número inteiro não negativo
Padrão: 10
O número de documentos a serem amostrados por faixa de chave de shard. Deve ser um valor maior que zero e menor ou igual
10000a.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Este exemplo define
analyzeShardKeyNumSamplesPerRangecomo50na inicialização:mongod --setParameter analyzeShardKeyNumSamplesPerRange=50 Durante o tempo de execução, você pode configurar ou modificar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, analyzeShardKeyNumSamplesPerRange: 50 } )
autoMergerIntervalSecsNovidades na versão 7.0.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 3600
Quando AutoMerger está habilitado, especifica o tempo entre as rodadas de mesclagem automática, em segundos. O valor padrão é 3600 segundos ou uma hora.
autoMergerIntervalSecssó pode ser definido em servidores de configuração.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Este exemplo define
autoMergerIntervalSecsa 7200 segundos, ou duas horas, na inicialização:mongod --setParameter autoMergerIntervalSecs=7200 Durante o tempo de execução, você pode configurar ou modificar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, autoMergerIntervalSecs: 7200 } )
autoMergerThrottlingMSNovidades na versão 7.0.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 15000
Quando o AutoMerger está habilitado, especifica o tempo mínimo entre as fusões iniciadas pelo AutoMerger na mesma coleção, em milissegundos.
autoMergerThrottlingMSsó pode ser definido em servidores de configuração.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Este exemplo define
autoMergerThrottlingMSa 60000 milissegundos, ou um minuto, na inicialização:mongod --setParameter autoMergerThrottlingMS=60000 Durante o tempo de execução, você pode configurar ou modificar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, autoMergerThrottlingMS: 60000 } )
balancerMigrationsThrottlingMsNovidade na versão 7.0: (Disponível também a partir de 6.3.1, 6.0.6, 5.0.18)
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 1000
Especifica a quantidade mínima de tempo entre duas rodadas de equilíbrio consecutivas. Isso permite que você reduza a taxa de balanceamento. Este parâmetro só entra em vigor nos nós do servidor de configuração.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Este exemplo define de
balancerMigrationsThrottlingMsa 2000 milissegundos na inicialização:mongod --setParameter balancerMigrationsThrottlingMs=2000 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, balancerMigrationsThrottlingMs: 2000 } )
catalogCacheCollectionMaxEntriesNovidade na versão 8.0.10: (também disponível a partir de 7.0.22)
Tipo: inteiro
Padrão: 10000
Disponível para
mongodemongos.Número máximo de entradas permitidas no cache do catálogo para collections.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
catalogCacheDatabaseMaxEntriesNovidade na versão 8.0.10: (também disponível a partir de 7.0.22)
Tipo: inteiro
Padrão: 10000
Disponível para
mongodemongos.Número máximo de entradas permitidas no cache do catálogo para bancos de dados.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
catalogCacheIndexMaxEntriesNovidade na versão 8.0.10: (também disponível a partir de 7.0.22)
Tipo: inteiro
Padrão: 10000
Disponível para
mongodemongos.Número máximo de entradas permitidas no cache do catálogo para índices.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
chunkDefragmentationThrottlingMSNovidades na versão 5.3.
Disponível para
mongodemongos.Tipo: inteiro
Padrão: 0
Especifica o período de tempo mínimo (em milissegundos) entre comandos consecutivos de divisão e mesclagem executados pelo balanceador quando as partes em uma coleção fragmentada são desfragmentadas.
chunkDefragmentationThrottlingMSlimita a taxa de comandos de divisão e mesclagem.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
chunkDefragmentationThrottlingMScomo10milissegundos:mongod --setParameter chunkDefragmentationThrottlingMS=10 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, chunkDefragmentationThrottlingMS: 10 } )
disableResumableRangeDeleterDisponível apenas para
mongod.Tipo: booleano
Padrão: false
Se definido no primário de um fragmento, especifica se a exclusão do intervalo está pausada no fragmento. Se definido como
true, a limpeza de intervalos que contêm documentos órfãos é pausada. O fragmento pode continuar a doar pedaços para outros fragmentos, mas os documentos doados não serão removidos desse fragmento até que você defina esse parâmetro comofalse. Esse fragmento pode continuar a receber blocos de outros fragmentos, desde que não tenha uma tarefa de exclusão de intervalo pendente na coleçãoconfig.rangeDeletionsque se sobreponha ao intervalo do bloco de entrada.Quando
disableResumableRangeDeleterfortrue, as migrações das partes falharão se houver documentos órfãos no fragmento primário do destinatário na mesma faixa das partes recebidas.O parâmetro não tem efeito no
mongodse não for o principal do fragmento.Importante
Se você definir o parâmetro
disableResumableRangeDeletercomotrue, certifique-se de aplicá-lo de forma consistente a todos os membros no conjunto de réplicas do fragmento. No caso de um failover, o valor dessa configuração no novo primário dita o comportamento do excludente de intervalo.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.mongod --setParameter disableResumableRangeDeleter=false
enableFinerGrainedCatalogCacheRefreshObservação
Depreciado em 8.0
A partir do MongoDB 8.0, o parâmetro está obsoleto e não causa alterações ou erros.
Disponível para
mongodemongos.Tipo: booleano
Padrão: true
Este parâmetro permite que o cache do catálogo seja atualizado somente se o shard precisar ser atualizado. Se estiver desabilitado, qualquer chunk obsoleto fará com que toda a distribuição de chunk de uma collection seja considerada obsoleta e forçará todos os roteadores que entrarem em contato com o shard a atualizar o cache do catálogo de shards.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.mongod --setParameter enableFinerGrainedCatalogCacheRefresh=true mongos --setParameter enableFinerGrainedCatalogCacheRefresh=true
enableShardedIndexConsistencyCheckDisponível apenas para
mongod.Tipo: booleano
Padrão: true
Se definido no servidor de configuração primário, habilita ou desabilita a verificação de consistência do índice para coleções fragmentadas. O parâmetro não terá efeito sobre o
mongodse ele não for o principal do servidor de configuração.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
enableShardedIndexConsistencyCheckcomofalsepara um servidor de configuração primário:mongod --setParameter enableShardedIndexConsistencyCheck=false Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, enableShardedIndexConsistencyCheck: false } ) Dica
shardedIndexConsistencyCheckIntervalMSparametershardedIndexConsistencymétricas retornadas pelo comandoserverStatus.
findChunksOnConfigTimeoutMSNovidades na versão 5.0.
Disponível para
mongodemongos.Tipo: número inteiro não negativo
Padrão: 900.000
O timeout em milissegundos para localizar operações em
chunks.Se houver um grande número de blocos no cluster e o carregamento de blocos falhar com o erro
ExceededTimeLimit, aumente o valor do parâmetro:mongod --setParameter findChunksOnConfigTimeoutMS=1000000 Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
loadRoutingTableOnStartupDisponível apenas para
mongos.Tipo: booleano
Padrão: true
Configura uma instância
mongospara pré-carregar a tabela de roteamento de um cluster fragmentado na inicialização. Com essa configuração habilitada, omongosarmazena em cache a tabela de roteamento de todo o cluster para cada collection fragmentada como parte de seu procedimento de inicialização, antes de começar a aceitar conexões de clientes.Sem essa configuração habilitada, o
mongoscarrega apenas uma tabela de roteamento conforme necessário para conexões de cliente de entrada e carrega apenas a tabela de roteamento específica para o namespace de uma determinada solicitação.Uma instância
mongoscom o parâmetroloadRoutingTableOnStartupativado pode ter tempos de inicialização mais longos, mas resultará em uma manutenção mais rápida das conexões iniciais do cliente depois de iniciada.loadRoutingTableOnStartupestá habilitado por padrão.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
maxCatchUpPercentageBeforeBlockingWritesNovidades na versão 5.0.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 10
Para operações
moveChunkemoveRange, especifica a porcentagem máxima de dados não transferidos permitida pelo protocolo de migração (expressa em porcentagem do tamanho total do bloco) para a transição da fasecatchuppara a fasecommit.A definição de uma porcentagem de recuperação mais alta pode diminuir o tempo necessário para a conclusão da migração, ao custo de maior latência durante as operações
upsertedeletesimultâneas.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.A partir do MongoDB 7.1 (e 7.0.1), Você pode definir o parâmetro durante o tempo de execução.
Por exemplo, para definir a porcentagem máxima para 20, você pode emitir o seguinte durante a inicialização:
mongod --setParameter maxCatchUpPercentageBeforeBlockingWrites=20 A partir do MongoDB 7.1 (e 7.0.1), você pode definir o parâmetro durante o tempo de execução com o comando
setParameter:db.adminCommand( { setParameter: 1, maxCatchUpPercentageBeforeBlockingWrites: 20} )
maxTimeMSForHedgedReadsImportante
A partir do MongoDB 8.0, as leituras distribuídas estão obsoletas. As queries que especificam a read preference
nearestnão usam mais leituras protegidas por padrão. Se você especificar explicitamente uma leitura com hedge, o MongoDB executará uma leitura com hedge e registrará um aviso.Disponível apenas para
mongos.Tipo: inteiro
Padrão: 150
Especifica o limite de tempo máximo (em milissegundos) para a leitura distribuída. Ou seja, a leitura adicional enviada para proteger a operação de leitura usa o valor
maxTimeMSdemaxTimeMSForHedgedReads, enquanto a operação de leitura que está sendo protegida usa o valormaxTimeMSespecificado para a operação.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, para definir o limite para 200 milissegundos, você pode emitir o seguinte durante a inicialização:
mongos --setParameter maxTimeMSForHedgedReads=200 Ou se estiver usando o comando
setParameterem uma sessãomongoshconectada a ummongos:db.adminCommand( { setParameter: 1, maxTimeMSForHedgedReads: 200 } )
metadataRefreshInTransactionMaxWaitBehindCritSecMSNovidade na versão 5.2: (Disponível também a partir de 5.1.0, 5.0.4)
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 500
Limita o tempo que um fragmento espera por uma seção crítica em uma transação.
Quando uma query acessa um fragmento, uma migração de partes ou uma operação DDL pode já conter a seção crítica da coleção. Se a query encontrar a seção crítica, o fragmento espera até que a seção crítica seja liberada. Quando o fragmento retorna o controle para
mongos,mongostenta novamente a query. No entanto, se uma transação com vários shards interagir com uma operação que usa a seção crítica em vários shards, a interação poderá resultar em um deadlock distribuído.metadataRefreshInTransactionMaxWaitBehindCritSecMSlimita o tempo máximo que um fragmento espera dentro de uma transação para que a seção crítica seja liberada.Para reduzir o tempo máximo de espera para a seção crítica dentro de uma transação, reduza o valor de
metadataRefreshInTransactionMaxWaitBehindCritSecMS.Aviso
Se
metadataRefreshInTransactionMaxWaitBehindCritSecMSfor muito baixo,mongospoderá usar todas as suas tentativas de repetição e retornar um erro.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, para definir
metadataRefreshInTransactionMaxWaitBehindCritSecMSpara 400 milissegundos:db.adminCommand( { setParameter: 1, metadataRefreshInTransactionMaxWaitBehindCritSecMS: 400 } )
migrateCloneInsertionBatchDelayMSDisponível apenas para
mongod.Tipo: número inteiro não negativo
Padrão: 0
Tempo em milissegundos para esperar entre lotes de inserções durante a etapa de clonagem do processo de migração. Essa espera é adicional ao
secondaryThrottle.O valor padrão
0indica nenhuma espera adicional.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O seguinte define o
migrateCloneInsertionBatchDelayMSpara 200 milissegundos:mongod --setParameter migrateCloneInsertionBatchDelayMS=200 O parâmetro também pode ser configurado utilizando o comando
setParameter:db.adminCommand( { setParameter: 1, migrateCloneInsertionBatchDelayMS: 200 } )
migrateCloneInsertionBatchSizeDisponível apenas para
mongod.Tipo: número inteiro não negativo
Padrão: 0
O número máximo de documentos a inserir em um único lote durante a etapa de clonagem do processo de migração.
O valor padrão de
0não indica nenhum número máximo de documentos por lote. No entanto, na prática, isso resulta em lotes que contêm até 16 MB de documentos.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O seguinte define
migrateCloneInsertionBatchSizepara 100 documentos:mongod --setParameter migrateCloneInsertionBatchSize=100 O parâmetro também pode ser configurado utilizando o comando
setParameter:db.adminCommand( { setParameter: 1, migrateCloneInsertionBatchSize: 100 } )
mongosShutdownTimeoutMillisForSignaledShutdownNovidades na versão 5.0.
Disponível apenas para
mongos.Tipo: inteiro
Padrão: 15000
Especifica o tempo (em milissegundos) para aguardar a conclusão de qualquer operação de banco de dados em andamento antes de iniciar um desligamento de
mongosem resposta a um sinal deSIGTERM.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, para definir o tempo para 250 milissegundos, você pode emitir o seguinte durante a inicialização:
mongos --setParameter mongosShutdownTimeoutMillisForSignaledShutdown=250 Ou se estiver usando o comando
setParameterem uma sessãomongoshconectada a ummongos:db.adminCommand( { setParameter: 1, mongosShutdownTimeoutMillisForSignaledShutdown: 250 } )
opportunisticSecondaryTargetingNovidades na versão 6.1.0.
Disponível apenas para
mongos.Tipo: booleano
Padrão:
falseDetermina se o
mongosrealiza leituras oportunistas contra conjuntos de réplicas.Quando esse parâmetro é definido como
true,mongosdireciona as leituras secundárias para secundárias com conexões ativas. Ele envia a solicitação para o primeiro secundário que aceita a conexão. Quando esse parâmetro é definido comofalse,mongosretém leituras secundárias até que possa estabelecer uma conexão com uma secundária específica (exceto no caso de leituras protegidas).Observação
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, para configurar o
opportunisticSecondaryTargetingdurante a inicialização:mongos --setParameter opportunisticSecondaryTargeting=true
orphanCleanupDelaySecsDisponível apenas para
mongod.Padrão: 900 (15 minutos)
Atraso mínimo antes que um chunk migrado seja excluído do shard de origem.
Antes de excluir a parte durante a migração de parte, o MongoDB aguarda que
orphanCleanupDelaySecsou que queries em andamento envolvendo a parte sejam concluídas no fragmento primário, o que for mais demorado.No entanto, como o primário do fragmento não tem conhecimento das queries em andamento nos secundários do fragmento, as queries que usam a parte, mas são executadas em secundários, podem ver os documentos desaparecerem se essas queries demorarem mais do que as queries do primário do fragmento e do
orphanCleanupDelaySecs.Observação
Esse comportamento afeta apenas as queries em andamento que começam antes da migração em partes. As queries que iniciam após o início da migração do bloco não utilizarão o bloco migratório.
Se um fragmento tiver restrições de armazenamento, considere reduzir esse valor temporariamente. Se executar queries que excedam 15 minutos em segundo plano, considere aumentar esse valor.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O seguinte define o
orphanCleanupDelaySecsem 20 minutos:mongod --setParameter orphanCleanupDelaySecs=1200 Isto também pode ser configurado utilizando o comando
setParameter:db.adminCommand( { setParameter: 1, orphanCleanupDelaySecs: 1200 } ) Dica
Em todas as versões, o novo valor de
orphanCleanupDelaySecssó é aplicado às exclusões de intervalo criadas após a alteração do valor. Para aplicar o novo valor às exclusões de intervalo existentes, force uma etapa para baixo.
persistedChunkCacheUpdateMaxBatchSizeNovidade na versão 7.2: (e 7.1.1, 7.0.4, 6.0.13, 5.0.25)
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 1000
Para rotear e atender às operações, os shards devem conhecer as informações de roteamento e propriedade associadas às suas coleções. Essas informações são propagadas do nó primário de um fragmento para seus nós secundários por meio da replicação das coleções de cache internas
config.cache.collectionseconfig.cache.chunks.<collectionName>.Em versões anteriores, as atualizações na collection de cache de chunks eram executadas individualmente (o que significa que uma entrada era excluída e uma nova entrada era inserida). A partir do MongoDB 7.2, estas atualizações são executadas como um lote de exclusões seguido por um lote de inserções. A lógica atualizada melhora o desempenho para collection que contêm um grande número de parte.
O parâmetro
persistedChunkCacheUpdateMaxBatchSizeespecifica o tamanho máximo do lote utilizado para atualizar o cache de chunk persistente.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O seguinte exemplo define
persistedChunkCacheUpdateMaxBatchSizepara 700 na inicialização:mongod --setParameter persistedChunkCacheUpdateMaxBatchSize=700 Você também pode configurar o
persistedChunkCacheUpdateMaxBatchSizedurante o tempo de execução:db.adminCommand( { setParameter: 1, persistedChunkCacheUpdateMaxBatchSize: 700 } )
queryAnalysisSampleExpirationSecsNovidades na versão 7.0.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 7 * 24 * 3600
Quantidade de tempo que um documento de query de amostra existe antes de ser removido pelo monitor TTL, em segundos. Deve ser maior que
0.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Este exemplo define
queryAnalysisSampleExpirationSecspara691200(8 * 24 * 3600) na inicialização em uma instância domongod:mongod --setParameter queryAnalysisSampleExpirationSecs=691200 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, queryAnalysisSampleExpirationSecs: 691200 } )
queryAnalysisSamplerConfigurationRefreshSecsNovidades na versão 7.0.
Alterado na versão 7.0.1.
Disponível para
mongodemongos.Tipo: inteiro
Padrão: 10
Intervalo que um amostrador (
mongosoumongod) atualiza suas taxas de amostragem do analisador de query.A taxa de amostragem configurada pelo comando
configureQueryAnalyzeré dividida entremongosinstâncias no agrupamento fragmentado oumongodinstâncias no conjunto de réplicas baseado no tráfego que passa por elas. Para tornar a atribuição da taxa de amostragem paramongosoumongodmais responsiva ao tráfego que passa por ela, diminua esse valor.Recomendamos usar o valor padrão.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.A partir do MongoDB 7.0.1, você pode configurar o
queryAnalysisSamplerConfigurationRefreshSecsdurante o tempo de execução.Este exemplo define
queryAnalysisSamplerConfigurationRefreshSecspara 60 segundos na inicialização em uma instância domongod:mongod --setParameter queryAnalysisSamplerConfigurationRefreshSecs=60 Este exemplo define
queryAnalysisSamplerConfigurationRefreshSecspara 60 segundos na inicialização em uma instância domongos:mongos --setParameter queryAnalysisSamplerConfigurationRefreshSecs=60 Para definir o valor em 30 segundos, execute o seguinte:
db.adminCommand( { setParameter: 1, queryAnalysisSamplerConfigurationRefreshSecs: 30 } )
queryAnalysisWriterIntervalSecsNovidades na versão 7.0.
Alterado na versão 7.0.1.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 90
Intervalo em que as queries de amostra são gravadas no disco, em segundos.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.A partir do MongoDB 7.0.1, você pode configurar o
queryAnalysisWriterIntervalSecsdurante o tempo de execução.Este exemplo define
queryAnalysisWriterIntervalSecspara 60 segundos na inicialização em uma instância domongod:mongod --setParameter queryAnalysisWriterIntervalSecs=60 Para definir o valor em 60 segundos, execute o seguinte:
db.adminCommand( { setParameter: 1, queryAnalysisWriterIntervalSecs: 60 } )
queryAnalysisWriterMaxBatchSizeNovidades na versão 7.0.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 100000
Número máximo de amostras de queries para gravar em disco de uma só vez. Deve ser maior que
0e menor ou igual a100000.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Este exemplo define
queryAnalysisWriterMaxBatchSizecomo1000na inicialização de uma instânciamongod:mongod --setParameter queryAnalysisWriterMaxBatchSize=1000 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, queryAnalysisWriterMaxBatchSize: 1000 } )
queryAnalysisWriterMaxMemoryUsageBytesNovidades na versão 7.0.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 100 * 1024 * 1024
Quantidade máxima de memória em bytes que o escritor de amostragem de query pode usar. Quando o limite for atingido, todas as novas queries e diffs serão descartados da amostragem até que o buffer seja liberado. Deve ser maior que
0.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Este exemplo define
queryAnalysisWriterMaxMemoryUsageBytescomo10000000na inicialização de uma instânciamongod:mongod --setParameter queryAnalysisWriterMaxMemoryUsageBytes=10000000
rangeDeleterBatchDelayMSDisponível apenas para
mongod.Tipo: número inteiro não negativo
Padrão: 20
A quantidade de tempo, em milissegundos, a aguardar antes do próximo lote de exclusão durante o estágio de limpeza da migração de faixa.
O atraso de replicação _secondaryThrottle ocorre após cada exclusão em lote.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O seguinte define o
rangeDeleterBatchDelayMSpara 200 milissegundos:mongod --setParameter rangeDeleterBatchDelayMS=200 O parâmetro também pode ser configurado utilizando o comando
setParameter:db.adminCommand( { setParameter: 1, rangeDeleterBatchDelayMS: 200 } ) Dica
Em versões anteriores a 6.0.3, o novo valor de
rangeDeleterBatchDelayMSsó é aplicado às exclusões de intervalo criadas depois que o valor é alterado. Para aplicar o novo valor às exclusões de intervalo existentes, force uma etapa para baixo.A partir da versão 6.0.3, o novo valor do parâmetro é aplicado a todas as exclusões de faixa processadas após a atualização, independentemente de quando a exclusão de intervalo foi criada.
rangeDeleterBatchSizeDisponível apenas para
mongod.Tipo: número inteiro não negativo
Padrão: 2147483647 a partir do MongoDB 5.1.2 e 5.0.6
O número máximo de documentos em cada lote a serem excluídos durante o estágio de limpeza da migração de faixa.
Um valor de
0indica que o sistema escolhe o valor padrão.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
rangeDeleterBatchSizepara 32 documentos:mongod --setParameter rangeDeleterBatchSize=32 O parâmetro também pode ser configurado utilizando o comando
setParameter:db.adminCommand( { setParameter: 1, rangeDeleterBatchSize: 32 } ) Dica
Em versões anteriores a 6.0.3, o novo valor de
rangeDeleterBatchSizesó é aplicado às exclusões de intervalo criadas depois que o valor é alterado. Para aplicar o novo valor às exclusões de intervalo existentes, force uma etapa para baixo.A partir da versão 6.0.3, o novo valor do parâmetro é aplicado a todas as exclusões de faixa processadas após a atualização, independentemente de quando a exclusão de intervalo foi criada.
readHedgingModeDisponível apenas para
mongos.Tipo: string
Padrão: ativado
Especifica se o
mongossuporta leituras com hedge para estas operações de leitura cuja preferência de leitura habilitou a opção de leitura com hedge.Os valores disponíveis são:
ValorDescriçãoonA instância do
mongossuporta leituras com hedge para operações de leitura cuja preferência de leitura habilitou a opção de leitura com hedge.offA instância
mongosnão permite leituras protegidas. Ou seja, as leituras distribuídas estão indisponíveis, mesmo para operações de leitura cuja read preference tenha habilitado a opção de leitura distribuída.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, para desativar a compatibilidade de leituras distribuídas para uma instância do
mongos, você pode emitir o seguinte durante a inicialização:mongos --setParameter readHedgingMode=off Ou se estiver usando o comando
setParameterem uma sessãomongoshconectada a ummongos:db.adminCommand( { setParameter: 1, readHedgingMode: "off" } )
routingTableCacheChunkBucketSizeNovidades na versão 7.0.1.
Alterado na versão 7.2.
Disponível para
mongodemongos.Tipo: inteiro
Padrão: 500
Especifica o tamanho dos buckets de cache da tabela de roteamento usados para implementar a otimização de agrupamento de partes. Deve ser maior que
0.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, para configurar o tamanho do bucket de chunk de cache para
250em ummongod, emita o seguinte comando na inicialização:mongod --setParameter routingTableCacheChunkBucketSize=250
shardedIndexConsistencyCheckIntervalMSDisponível apenas para
mongod.Tipo: inteiro
Padrão: 600000
Se definido no primary do servidor de configuração, o intervalo, em milissegundos, no qual o primary do servidor de configuração verifica a consistência do índice das collections fragmentadas. O parâmetro não tem efeito sobre o
mongodse ele não for o primary do servidor de configuração.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, o seguinte define o intervalo em 300000 milissegundos (5 minutos) na inicialização:
mongod --setParameter shardedIndexConsistencyCheckIntervalMS=300000 Dica
enableShardedIndexConsistencyCheckparametershardedIndexConsistencymétricas retornadas pelo comandoserverStatus.
ShardingTaskExecutorPoolHostTimeoutMSDisponível para
mongodemongos.Tipo: número inteiro
Padrão: 300.000 (5 minutos)
Tempo máximo que
mongospassa sem comunicação com um host antes quemongoscancele todas as conexões com o host.Se definido,
ShardingTaskExecutorPoolHostTimeoutMSdeve ser maior que a soma deShardingTaskExecutorPoolRefreshRequirementMSeShardingTaskExecutorPoolRefreshTimeoutMS. Caso contrário,mongosajusta o valor deShardingTaskExecutorPoolHostTimeoutMSpara ser maior que a soma.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
ShardingTaskExecutorPoolHostTimeoutMScomo120000durante a inicialização:mongos --setParameter ShardingTaskExecutorPoolHostTimeoutMS=120000 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolHostTimeoutMS: 120000 } )
ShardingTaskExecutorPoolMaxConnectingDisponível para
mongodemongos.Tipo: número inteiro
Padrão: 2
Número máximo de conexões iniciando simultaneamente (incluindo conexões pendentes no estado de configuração/atualização) que cada pool de conexões TaskExecutor pode ter com uma instância
mongod. Você pode definir esse parâmetro para controlar a taxa na qualmongosadiciona conexões a uma instânciamongod.Se definido,
ShardingTaskExecutorPoolMaxConnectingdeve ser menor ou igual aShardingTaskExecutorPoolMaxSize. Se for maior,mongosignora o valorShardingTaskExecutorPoolMaxConnecting.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
ShardingTaskExecutorPoolMaxConnectingcomo20durante a inicialização:mongos --setParameter ShardingTaskExecutorPoolMaxConnecting=20 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxConnecting: 20 } )
ShardingTaskExecutorPoolMaxSizeDisponível para
mongodemongos.Tipo: número inteiro
Padrão: 2 64 - 1
Número máximo de conexões de saída que cada pool de conexões TaskExecutor pode abrir para qualquer instância
mongodespecífica. O máximo de conexões possíveis a um determinado host em todos os pools do TaskExecutor é:ShardingTaskExecutorPoolMaxSize * taskExecutorPoolSize Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
ShardingTaskExecutorPoolMaxSizecomo20durante a inicialização:mongos --setParameter ShardingTaskExecutorPoolMaxSize=20 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxSize: 20 } ) mongospode ter aténpools de conexão do TaskExecutor, em quené o número de núcleos. Consulte a páginataskExecutorPoolSize.
ShardingTaskExecutorPoolMaxSizeForConfigServersNovidades na versão 6.0.
Disponível para
mongodemongos.Tipo: número inteiro
Padrão: -1
Substituição opcional de
ShardingTaskExecutorPoolMaxSizepara definir o número máximo de conexões de saída que cada pool de conexões do TaskExecutor pode abrir para um servidor de configuração.Quando definido como:
-1,ShardingTaskExecutorPoolMaxSizeé usado. Este é o padrão.um valor inteiro maior que
-1, substitui o número máximo de conexões de saída que cada pool de conexões do TaskExecutor pode abrir para um servidor de configuração.
O parâmetro só se aplica a sistemas fragmentados.
O exemplo a seguir define
ShardingTaskExecutorPoolMaxSizecomo2durante a inicialização, o que define o número máximo de conexões de saída que cada pool de conexões do TaskExecutor pode abrir para um servidor de configuração como2:Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
mongos --setParameter ShardingTaskExecutorPoolMaxSizeForConfigServers=2 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxSizeForConfigServers: 2 } )
ShardingTaskExecutorPoolMinSizeDisponível para
mongodemongos.Tipo: número inteiro
Padrão: 1
Número mínimo de conexões de saída que cada pool de conexões TaskExecutor pode abrir para qualquer instância
mongodespecífica.ShardingTaskExecutorPoolMinSizeas conexões são criadas na primeira vez que uma conexão com um novo host é solicitada do pool. Enquanto o pool estiver ocioso, ele manterá esse número de conexões até que passemShardingTaskExecutorPoolHostTimeoutMSmilissegundos sem que nenhum aplicativo use esse pool.No caso de um
mongosusando o parâmetrowarmMinConnectionsInShardingTaskExecutorPoolOnStartup, o parâmetroShardingTaskExecutorPoolMinSizetambém controla quantas conexões para cada host de fragmento são estabelecidas na inicialização da instânciamongosantes de começar a aceitar conexões de cliente de entrada.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
ShardingTaskExecutorPoolMinSizecomo2durante a inicialização:mongos --setParameter ShardingTaskExecutorPoolMinSize=2 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMinSize: 2 } ) mongospode ter aténpools de conexão do TaskExecutor, em quené o número de núcleos. Consulte a páginataskExecutorPoolSize.
ShardingTaskExecutorPoolMinSizeForConfigServersNovidades na versão 6.0.
Disponível para
mongodemongos.Tipo: número inteiro
Padrão: -1
Substituição opcional de
ShardingTaskExecutorPoolMinSizepara definir o número mínimo de conexões de saída que cada pool de conexões do TaskExecutor pode abrir para um servidor de configuração.Quando definido como:
-1,ShardingTaskExecutorPoolMinSizeé usado. Este é o padrão.um valor inteiro maior que
-1, substitui o número mínimo de conexões de saída que cada pool de conexão do TaskExecutor pode abrir para um servidor de configuração.
O parâmetro só se aplica a sistemas fragmentados.
O exemplo a seguir define
ShardingTaskExecutorPoolMinSizecomo2durante a inicialização, o que define o número mínimo de conexões de saída que cada pool de conexões do TaskExecutor pode abrir para um servidor de configuração como2:Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
mongos --setParameter ShardingTaskExecutorPoolMinSizeForConfigServers=2 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMinSizeForConfigServers: 2 } )
ShardingTaskExecutorPoolRefreshRequirementMSDisponível para
mongodemongos.Tipo: número inteiro
Padrão: 60.000 (1 minuto)
Tempo máximo que o
mongosaguarda antes de tentar fazer o heartbeat de uma conexão no pool. Uma conexão ociosa poderá ser descartada durante a atualização se o pool estiver acima do seu tamanho mínimo.Se definido,
ShardingTaskExecutorPoolRefreshRequirementMSdeve ser maior queShardingTaskExecutorPoolRefreshTimeoutMS. Caso contrário,mongosajusta o valor deShardingTaskExecutorPoolRefreshTimeoutMSpara ser menor queShardingTaskExecutorPoolRefreshRequirementMS.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
ShardingTaskExecutorPoolRefreshRequirementMScomo90000durante a inicialização:mongos --setParameter ShardingTaskExecutorPoolRefreshRequirementMS=90000 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolRefreshRequirementMS: 90000 } )
ShardingTaskExecutorPoolRefreshTimeoutMSDisponível para
mongodemongos.Tipo: número inteiro
Padrão: 20.000 (20 segundos)
Tempo máximo que o
mongosespera por um batimento cardíaco antes de cronometrar o batimento cardíaco.Se definido,
ShardingTaskExecutorPoolRefreshTimeoutMSdeve ser menor queShardingTaskExecutorPoolRefreshRequirementMS. Caso contrário,mongosajusta o valor deShardingTaskExecutorPoolRefreshTimeoutMScomo inferior aShardingTaskExecutorPoolRefreshRequirementMS.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
ShardingTaskExecutorPoolRefreshTimeoutMScomo30000durante a inicialização:mongos --setParameter ShardingTaskExecutorPoolRefreshTimeoutMS=30000 Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolRefreshTimeoutMS: 30000 } )
ShardingTaskExecutorPoolReplicaSetMatchingAlterado na versão 5.0.
Disponível para
mongodemongos.Tipo: string
Padrão: "automático"
Em uma instância do
mongos, esse parâmetro define a política que determina o limite de tamanho mínimo de seus pools de conexão para nós dentro dos conjuntos de réplicas.Em uma instância
mongod, esse parâmetro define a diretiva que determina o limite de tamanho mínimo de seus pools de conexões para nós dentro de outros conjuntos de réplicas.Observe que esse parâmetro gerencia apenas conexões para operações diretamente relacionadas a solicitações de usuários e operações CRUD.
Os valores disponíveis são:
Política de correspondênciaDescrição"automatic"(Padrão)A partir de 5.0,
"automatic"é o novo valor padrão.Quando configurado para um
mongos, a instância segue o comportamento especificado para a opção"matchPrimaryNode".Quando configurado para um
mongod, a instância segue o comportamento especificado para a opção"disabled".AVISO: se o estiver
ShardingTaskExecutorPoolReplicaSetMatchingdefinido"automatic"como, o ainda descreverá a política real que está sendoreplicaSetMatchingStrategyusada,"automatic"não. Para localizar o valor doShardingTaskExecutorPoolReplicaSetMatching, utilize que retorna o valor do parâmetro do servidorgetParameter."matchPrimaryNode"Quando definido para um
mongos, o limite de tamanho mínimo do pool de conexões da instância para cada secundário de um conjunto de réplicas no cluster fragmentado (especificamente, conjunto de réplicas de estilhaços e servidores de configuração) é igual ao tamanho de seu pool de conexões para o primário desse conjunto de réplicas.Quando definido para
mongod, o limite mínimo de tamanho do pool de conexões da instância para cada secundário de outro conjunto de réplicas no cluster fragmentado (especificamente, conjunto de réplicas fragmentadas e servidores de configuração) é igual ao tamanho do pool de conexões para o primário desse conjunto de réplicas.AVISO: se vários servidores de fragmentos em sua topologia puderem sofrer um rápido influxo de operações entre fragmentos, não defina essa opção em suas
mongodinstâncias.No caso de uma redução primária,
matchPrimaryNodegarante que qualquer secundário que se torne o primário possa lidar com o nível atual de leituras e gravações primárias."matchBusiestNode"Quando definido para um
mongos, o limite de tamanho mínimo da instância do pool de conexões para cada membro de um conjunto de réplicas no cluster fragmentado (especificamente, conjunto de réplicas de estilhaços e servidores de configuração) é igual ao maior entre as contagens de conexão ativas para o primário e cada membro secundário desse conjunto de réplicas.Quando definido para um
mongod, o limite de tamanho mínimo da instância do pool de conexões para cada membro de outro conjunto de réplicas no cluster fragmentado (especificamente, conjunto de réplicas shard e servidores de configuração) é igual ao maior entre as contagens de conexão ativas para o primary e cada membro secundário desse conjunto de réplicas.Com
"matchBusiestNode",mongosmantém conexões suficientes com cada secundário para lidar com o nível atual de leituras e gravações primárias e secundárias. O número de conexões a serem mantidas no pool diminui à medida que o número de conexões ativas diminui."disabled"Quando definido para um , o número mínimo de conexões da instância no pool de conexões da instância para cada nó de um conjunto de réplicas no clusterv fragmentado (especificamente, conjunto de réplicas de shard e servidores de configuração) é
mongosigualShardingTaskExecutorPoolMinSizeao.Quando definido para um , o número mínimo de conexões da instância no pool de conexões da instância para cada nó de outro conjunto de réplicas no cluster fragmentado (especificamente, conjunto de réplicas de shard e servidores de configuração) é
mongodigualShardingTaskExecutorPoolMinSizeao.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
ShardingTaskExecutorPoolReplicaSetMatchingcomo"automatic"durante a inicialização:mongod --setParameter ShardingTaskExecutorPoolReplicaSetMatching="automatic" Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolReplicaSetMatching: "automatic" } )
shutdownTimeoutMillisForSignaledShutdownNovidades na versão 5.0.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 15000
Especifica o tempo (em milissegundos) para aguardar a conclusão de qualquer operação de banco de dados em andamento antes de iniciar um desligamento de
mongodem resposta a um sinal deSIGTERM.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, para definir o tempo para 250 milissegundos, você pode emitir o seguinte durante a inicialização:
mongod --setParameter shutdownTimeoutMillisForSignaledShutdown=250 Ou se estiver usando o comando
setParameterem uma sessãomongoshconectada a ummongod:db.adminCommand( { setParameter: 1, shutdownTimeoutMillisForSignaledShutdown: 250 } )
skipShardingConfigurationChecksDisponível apenas para
mongod.Tipo: booleano
Padrão: falso
Quando
true, permite iniciar um membro do estilhaço ou membro do servidor de configuração como autônomo para operações de manutenção. Este parâmetro é mutuamente exclusivo com as opções--configsvrou--shardsvr.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.mongod --setParameter skipShardingConfigurationChecks=true Importante
Após completar a manutenção, remova o parâmetro
skipShardingConfigurationChecksao reiniciar omongod.
taskExecutorPoolSizeDisponível apenas para
mongos.Tipo: número inteiro
Padrão: 1
O número de grupos de conexão do Task Executor para utilizar para um determinado
mongos.Se o valor do parâmetro for
0ou menos, o número de pools de conexão do Executor de tarefas será o número de núcleos, com as seguintes exceções:Se o número de núcleos for menor que 4, o número de grupos de conexão do Executor de Tarefa será 4.
Se o número de núcleos for maior que 64, o número de pools de conexão do Executor de tarefas será 64.
O valor padrão de
taskExecutorPoolSizeé1:Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
mongos --setParameter taskExecutorPoolSize=6
warmMinConnectionsInShardingTaskExecutorPoolOnStartupDisponível apenas para
mongos.Tipo: booleano
Padrão: true
Configura uma instância do
mongospara pré-aquecer seu pool de conexão na inicialização. Com esse parâmetro ativado, omongostenta estabelecerShardingTaskExecutorPoolMinSizeconexões de rede com cada servidor de fragmentos como parte de seu procedimento de inicialização, antes de começar a aceitar conexões de clientes.Um timeout para este comportamento pode ser configurado com o parâmetro
warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMS. Se esse tempo limite for atingido, omongoscomeçará a aceitar conexões de cliente, independentemente do tamanho de seu pool de conexões.Uma instância
mongoscom esse parâmetro ativado pode ter tempos de inicialização mais longos, mas resultará em uma manutenção mais rápida das conexões iniciais do cliente depois de iniciada.warmMinConnectionsInShardingTaskExecutorPoolOnStartupestá habilitado por padrão.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMSDisponível apenas para
mongos.Tipo: número inteiro
Padrão: 2000 (2 segundos)
Define o limite de tempo limite em milissegundos para que um
mongosaguarde o estabelecimento deShardingTaskExecutorPoolMinSizeconexões por host de fragmento ao usar o parâmetrowarmMinConnectionsInShardingTaskExecutorPoolOnStartup. Se esse tempo limite for atingido, omongoscomeçará a aceitar conexões de clientes, independentemente do tamanho de seu pool de conexões.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
Parâmetros do health manager
activeFaultDurationSecsDisponível apenas para
mongos.Tipo: documento
O tempo de espera de uma falha de uma visão geral do health manager até que o mongos seja removido do cluster, em segundos.
Quando uma falha é detectada e um Health Manager é configurado como
critical, o servidor espera pelo intervalo especificado antes de remover omongosdo agrupamento.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Por exemplo, para definir a duração de falha para cinco minutos, emita o seguinte na inicialização:
mongos --setParameter activeFaultDurationSecs=300 Ou se estiver usando o comando
setParameterem uma sessãomongoshconectada a ummongos:db.adminCommand( { setParameter: 1, activeFaultDurationSecs: 300 } ) Os parâmetros configurados com
setParameternão persistem entre reinicializações. Consulte a página setParameter para obter detalhes.Para tornar essa configuração persistente, defina
activeFaultDurationSecsem seu arquivo de configuração do mongos usando a opçãosetParameter, como no exemplo a seguir:setParameter: activeFaultDurationSecs: 300
healthMonitoringIntensitiesDisponível apenas para
mongos.Tipo: array de documentos
Use este parâmetro para definir os níveis de intensidade para health managers.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
healthMonitoringIntensitiesaceita uma série de documentos,values. Cada documento novaluestem dois campos:type, a faceta do Health Managerintensity, o nível de intensidade
Health managers
FacetO que o observador de integridade verificaconfigServerProblemas de integridade do cluster relacionados à conectividade com o servidor de configuração.
dnsProblemas de integridade do cluster relacionados à disponibilidade e funcionalidade de DNS.
ldapProblemas de integridade do cluster relacionados à disponibilidade e funcionalidade do LDAP.
Níveis de intensidade
Nível de intensidadeDescriçãocriticalO gerenciado de integridade nessa faceta está habilitado e tem a capacidade de mover os mongos com falha para fora do cluster se ocorrer um erro. O gerenciador de integridade espera o tempo especificado por
activeFaultDurationSecsantes de parar e mover os mongos para fora do cluster automaticamente.non-criticalO health manager nesta facet está habilitado e registra erros, mas o mongos permanece no cluster se forem encontrados erros.
offO health manager nesta facet está desabilitado. O mongos não realiza nenhuma verificação de integridade nesta facet. Este é o nível de intensidade padrão.
Por exemplo, para definir
dnsHealth Manager facet para o nível de intensidadecritical, emita o seguinte na inicialização:mongos --setParameter 'healthMonitoringIntensities={ values:[ { type:"dns", intensity: "critical"} ] }' Ou se estiver usando o comando
setParameterem uma sessãomongoshconectada a ummongos:db.adminCommand( { setParameter: 1, healthMonitoringIntensities: { values: [ { type: "dns", intensity: "critical" } ] } } ) } ) Os parâmetros configurados com
setParameternão persistem entre reinicializações. Consulte a página setParameter para obter detalhes.Para tornar essa configuração persistente, defina
healthMonitoringIntensitiesem seu arquivo de configuração do mongos usando a opçãosetParameter, como no exemplo a seguir:setParameter: healthMonitoringIntensities: "{ values:[ { type:\"dns\", intensity: \"critical\"} ] }"
healthMonitoringIntervalsDisponível apenas para
mongos.Tipo: array de documentos
A frequência com que este health manager será executado, em milissegundos.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
healthMonitoringIntervalsaceita uma série de documentos,values. Cada documento novaluestem dois campos:type, a faceta do Health Managerinterval, o intervalo de tempo em que ele é executado, em milissegundos
Health managers
FacetO que o observador de integridade verificaconfigServerProblemas de integridade do cluster relacionados à conectividade com o servidor de configuração.
dnsProblemas de integridade do cluster relacionados à disponibilidade e funcionalidade de DNS.
ldapProblemas de integridade do cluster relacionados à disponibilidade e funcionalidade do LDAP.
Por exemplo, para definir a
ldapHealth Manager facet para executar verificações de integridade a cada 30 segundos, execute o seguinte na inicialização:mongos --setParameter 'healthMonitoringIntervals={ values:[ { type:"ldap", interval: "30000"} ] }' Ou se estiver usando o comando
setParameterem uma sessãomongoshconectada a ummongos:db.adminCommand( { setParameter: 1, healthMonitoringIntervals: { values: [ { type: "ldap", interval: "30000" } ] } } ) } ) Os parâmetros configurados com
setParameternão persistem entre reinicializações. Consulte a página setParameter para obter detalhes.Para tornar essa configuração persistente, defina
healthMonitoringIntervalsem seu arquivo de configuração do mongos usando a opçãosetParameter, como no exemplo a seguir:setParameter: healthMonitoringIntervals: "{ values: [{type: \"ldap\", interval: 200}] }"
progressMonitorDisponível apenas para
mongos.Tipo: documento
O Monitor de Progresso executa testes para garantir que as verificações do Gerenciador de Integridade não fiquem presas ou deixem de responder. O Monitor de progresso executa estes testes em intervalos especificados pelo
interval. Se uma verificação de integridade começar, mas não for concluída dentro do tempo limite fornecido pelodeadline, o Monitor de Progresso interromperá os mongos e o removerá do cluster.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
progressMonitorCamposCampoDescriçãoUnidadesintervalCom que frequência os health managers não trancam ou ficam sem resposta.
Milissegundos
deadlineTempo limite antes da falha automática do mongos se uma verificação do health manager não estiver progredindo.
Segundos
Para definir os
intervala 1000 milissegundos e osdeadlinea 300 segundos, emita o seguinte na inicialização:mongos --setParameter 'progressMonitor={"interval": 1000, "deadline": 300}' Ou se estiver usando o comando
setParameterem uma sessãomongoshconectada a ummongos:db.adminCommand( { setParameter: 1, progressMonitor: { interval: 1000, deadline: 300 } ) } ) Os parâmetros configurados com
setParameternão persistem entre reinicializações. Consulte a página setParameter para obter detalhes.Para tornar essa configuração persistente, defina
progressMonitorem seu arquivo de configuração do mongos usando a opçãosetParameter, como no exemplo a seguir:setParameter: progressMonitor: "{ interval: 1000, deadline: 300 }"
Parâmetros de armazenamento
honorSystemUmaskDisponível apenas para
mongod.Padrão:
falseSe
honorSystemUmaskestiver definido comotrue, os novos arquivos criados pelo MongoDB terão permissões de acordo com as configurações deumaskdo usuário. Não é possível definirprocessUmasksehonorSystemUmaskestiver definido comotrue.Se
honorSystemUmaskfor definido comofalse, os novos arquivos criados pelo MongoDB terão as permissões definidas como600, o que concede permissões de leitura e gravação somente ao proprietário. Os novos diretórios têm permissões definidas como700. Você pode usarprocessUmaskpara substituir as permissões padrão dos grupos e outros usuários em todos os novos arquivos criados pelo MongoDB.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.mongod --setParameter honorSystemUmask=true Observação
honorSystemUmasknão está disponível em sistemas Windows.
journalCommitIntervalDisponível apenas para
mongod.Especifique um número inteiro entre
1e500significando o número de milissegundos (ms) entre commits de diários.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Considere o seguinte exemplo que define o
journalCommitIntervalpara200ms:db.adminCommand( { setParameter: 1, journalCommitInterval: 200 } )
minSnapshotHistoryWindowInSecondsNovidades na versão 5.0.
Disponível apenas para
mongod.Padrão:
300A janela de tempo mínimo em segundos para a qual o mecanismo de armazenamento mantém o histórico de snapshots. Se você fizer query dos dados usando a preocupação de leitura
"snapshot"e especificar um valor atClusterTime anterior aominSnapshotHistoryWindowInSecondsespecificado,mongodretornará um erroSnapshotTooOld.Aviso
Em clusters fragmentados, alterar o
minSnapshotHistoryWindowInSecondsvalor padrão nos nós do servidor de configuração pode causar falha nas operações internas.Não configure
minSnapshotHistoryWindowInSecondspara0em nós do servidor de configuração . Definir esse parâmetro como0faz com que as operações internas que realizam leiturassnapshotdestinadas ao servidor de configuração com umatClusterTimeespecificado falhem.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Especifique um número inteiro maior ou igual a (
>=) 0.Considere o exemplo a seguir que define
minSnapshotHistoryWindowInSecondscomo600segundos:db.adminCommand( { setParameter: 1, minSnapshotHistoryWindowInSeconds: 600 } ) Observação
Aumentar o valor de
minSnapshotHistoryWindowInSecondsaumenta o uso de disco. Para obter mais informações, consulte a página Retenção do histórico de snapshots.Para modificar este valor para um cluster do MongoDB Atlas, você deve entrar em contato com o suporte do Atlas.
processUmaskDisponível apenas para
mongod.Substitui as permissões padrão usadas para grupos e outros usuários quando
honorSystemUmaské definido comofalse. Por padrão, quandohonorSystemUmaské definido comofalse, os novos arquivos criados pelo MongoDB têm as permissões definidas com600. Use o parâmetroprocessUmaskpara substituir esse padrão por um valorumaskpersonalizado. O proprietário do arquivo herda as permissões do sistemaumask.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Não é possível definir esse parâmetro se
honorSystemUmaskestiver definido comotrue.Considere o exemplo a seguir, que define as permissões para grupos e outros usuários como somente leitura/gravação e mantém as configurações do sistema
umaskpara o proprietário:mongod --setParameter processUmask=011 Observação
processUmasknão está disponível em sistemas Windows.
storageEngineConcurrentReadTransactionsAlterado na versão 7.0.
Disponível apenas para
mongod.Tipo: inteiro
Especifica o número máximo de transações de leitura simultâneas (tickets de leitura) permitidas no mecanismo de armazenamento.
Observação
A partir da versão 7.0, o MongoDB ajusta dinamicamente o número de tickets para otimizar o desempenho, com um valor mais alto possível de 128.
Modificar esse valor pode causar problemas de desempenho ou erros. Para determinar se a desativação do algoritmo de transações do mecanismo de armazenamento dinâmico simultâneo é ideal para o cluster, entre em contato com o suporte do MongoDB.
A partir do MongoDB 7.0, este parâmetro está disponível para todos os mecanismos de armazenamento. Em versões anteriores, este parâmetro está disponível apenas para o mecanismo de armazenamento WiredTiger.
Dica
storageEngineConcurrentWriteTransactionsAlterado na versão 7.0.
Disponível apenas para
mongod.Tipo: inteiro
Especifica o número máximo de transações de gravação simultâneas permitidas no mecanismo de armazenamento WiredTiger.
Observação
A partir da versão 7.0, o MongoDB ajusta dinamicamente o número de tickets para otimizar o desempenho, com um valor mais alto possível de 128.
Modificar esse valor pode causar problemas de desempenho ou erros. Para determinar se a desativação do algoritmo de transações do mecanismo de armazenamento dinâmico simultâneo é ideal para o cluster, entre em contato com o suporte do MongoDB.
A partir do MongoDB 7.0, este parâmetro está disponível para todos os mecanismos de armazenamento. Em versões anteriores, este parâmetro está disponível apenas para o mecanismo de armazenamento WiredTiger.
Dica
syncdelayDisponível apenas para
mongod.Padrão: 60
Especifique o intervalo em segundos quando
mongodliberar sua memória de trabalho para o disco. Por padrão, omongodlibera memória para o disco a cada 60 segundos. Em quase todas as situações, você não deve definir esse valor e usar a configuração padrão.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Considere o exemplo a seguir que define
syncdelaycomo60segundos:db.adminCommand( { setParameter: 1, syncdelay: 60 } ) Para fornecer dados duráveis, o WiredTiger usa checkpoints. Para obter mais detalhes, consulte Registro no diário e mecanismo de armazenamento WiredTiger.
temporarilyUnavailableBackoffBaseMsDisponível apenas para
mongod.Padrão: 1000
Especifica o atraso inicial antes de tentar novamente uma operação de gravação que foi revertida devido à pressão de cache.
Em raras circunstâncias, uma gravação pode falhar devido à pressão de cache. Quando isso acontece, o MongoDB emite um erro
TemporarilyUnavailablee incrementa o contadortemporarilyUnavailableErrorsem dois locais: o registro de queries lentas e o Full Time Diagnostic Data Capture (FTDC).Operações individuais em transações com vários documentos nunca retornam
TemporarilyUnavailableerros.Ajuste as propriedades de repetição de gravação modificando os parâmetros
temporarilyUnavailableBackoffBaseMsetemporarilyUnavailableMaxRetries.O parâmetro aceita:
ValorDescriçãointeger >= 0O padrão é 1 segundo. O atraso inicial entre novas tentativas. O valor aumenta com cada nova tentativa para um máximo de 55 segundos. Um valor maior aumenta a chance de a pressão de cache ser reduzida antes da próxima tentativa.
Para configurar o número de tentativas,
temporarilyUnavailableMaxRetriesuse.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Para definir um novo valor, use
db.adminCommand():db.adminCommand( { setParameter: 1, temporarilyUnavailableBackoffBaseMs: 3 } ) Novidades na versão 6.1.0.
temporarilyUnavailableMaxRetriesDisponível apenas para
mongod.Padrão: 10
Especifica o número máximo de tentativas quando uma operação de gravação é revertida devido à pressão de cache.
Em raras circunstâncias, uma gravação pode falhar devido à pressão de cache. Quando isso acontece, o MongoDB emite um erro
TemporarilyUnavailablee incrementa o contadortemporarilyUnavailableErrorsem dois locais: o registro de queries lentas e o Full Time Diagnostic Data Capture (FTDC).Operações individuais em transações com vários documentos nunca retornam
TemporarilyUnavailableerros.Ajuste as propriedades de repetição de gravação modificando os parâmetros
temporarilyUnavailableBackoffBaseMsetemporarilyUnavailableMaxRetries.O parâmetro aceita:
ValorDescriçãointeger >= 0O número máximo de tentativas.
Há um atraso crescente entre as novas tentativas. Para configurar o tempo de backoff,
temporarilyUnavailableBackoffBaseMsuse.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Para definir um novo valor, use
db.adminCommand():db.adminCommand( { setParameter: 1, temporarilyUnavailableMaxRetries: 5 } ) Novidades na versão 6.1.0.
upsertMaxRetryAttemptsOnDuplicateKeyErrorDisponível para
mongodemongos.Novidades na versão 8.0.11.
Número máximo de novas tentativas quando uma operação
upsertencontra um erro de chave duplicada.Tipo: inteiro
Padrão: 100
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Importante
A partir do MongoDB 8.0.11, se uma operação
upserté executada em uma transação multidocumento, oupsertnão tenta novamente ao encontrar um erro de chave duplicada.O exemplo a seguir define o número máximo de vezes que o servidor tenta novamente uma operação
upsertao encontrar um erro de chave duplicada para50.mongod --setParameter "upsertMaxRetryAttemptsOnDuplicateKeyError=50" Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, upsertMaxRetryAttemptsOnDuplicateKeyError: 50 } )
Parâmetros do WiredTiger
wiredTigerConcurrentReadTransactionsDisponível apenas para
mongod.Tipo: inteiro
Especifica o número máximo de transações de leitura simultâneas (tickets de leitura) permitidas no mecanismo de armazenamento.
Observação
A partir da versão 7.0, o MongoDB ajusta dinamicamente o número de tickets para otimizar o desempenho, com um valor mais alto possível de 128.
Modificar esse valor pode causar problemas de desempenho ou erros. Para determinar se a desativação do algoritmo de transações do mecanismo de armazenamento dinâmico simultâneo é ideal para o cluster, entre em contato com o suporte do MongoDB.
A partir do MongoDB 7.0, este parâmetro está disponível para todos os mecanismos de armazenamento. Em versões anteriores, este parâmetro está disponível apenas para o mecanismo de armazenamento WiredTiger.
Alterado na versão 6.0.
O parâmetro
wiredTigerConcurrentReadTransactionsfoi renomeado parastorageEngineConcurrentReadTransactions.
wiredTigerConcurrentWriteTransactionsDisponível apenas para
mongod.Tipo: inteiro
Especifica o número máximo de transações de gravação simultâneas permitidas no mecanismo de armazenamento WiredTiger.
Observação
A partir da versão 7.0, o MongoDB ajusta dinamicamente o número de tickets para otimizar o desempenho, com um valor mais alto possível de 128.
Modificar esse valor pode causar problemas de desempenho ou erros. Para determinar se a desativação do algoritmo de transações do mecanismo de armazenamento dinâmico simultâneo é ideal para o cluster, entre em contato com o suporte do MongoDB.
A partir do MongoDB 7.0, este parâmetro está disponível para todos os mecanismos de armazenamento. Em versões anteriores, este parâmetro está disponível apenas para o mecanismo de armazenamento WiredTiger.
Alterado na versão 6.0.
O parâmetro
wiredTigerConcurrentWriteTransactionsfoi renomeado parastorageEngineConcurrentWriteTransactions.
wiredTigerEngineRuntimeConfigDisponível apenas para
mongod.Especifique as opções de configuração do mecanismo de armazenamento do
wiredTigerpara uma instância domongodem execução.Esse parâmetro só está disponível em tempo de execução. Para definir o parâmetro, use o comando
setParameter.Aviso
Evite modificar o
wiredTigerEngineRuntimeConfig, a menos que esteja recebendo ordens dos engenheiros do MongoDB, pois essa configuração tem implicações importantes no WiredTiger e no MongoDB.Considere o seguinte protótipo de operação:
db.adminCommand({ "setParameter": 1, "wiredTigerEngineRuntimeConfig": "<option>=<setting>,<option>=<setting>" })
wiredTigerFileHandleCloseIdleTimeDisponível apenas para
mongod.Tipo: inteiro
Padrão: 600
Especifica a quantidade de tempo em segundos que um identificador de arquivo em
wiredTigerpode permanecer inativo antes de ser fechado.Se você definir
wiredTigerFileHandleCloseIdleTimecomo0, as alças ociosas não serão fechadas.Dica
Este parâmetro diferencia maiúsculas de minúsculas. Se você capitalizar o
wemwiredTigerFileHandleCloseIdleTimee executar o parâmetro, a operação retornará a seguinte mensagem de erro:{ "code":2,"codeName":"BadValue","errmsg":"Unknown --setParameter 'WiredTigerFileHandleCloseIdleTime'" } Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo:
mongod --setParameter wiredTigerFileHandleCloseIdleTime=100000
Consulte a documentação do WiredTiger para todas as opções de configuração do WiredTiger disponíveis.
Parâmetros de auditoria
auditAuthorizationSuccessDisponível para
mongodemongos.Tipo: booleano
Padrão: false
Observação
Disponível somente em MongoDB Enterprise e MongoDB Atlas.
Permite a auditoria de êxitos de autorização para a ação authCheck.
Quando
auditAuthorizationSuccesséfalse, o sistema de auditoria registra apenas as falhas de autorização paraauthCheck.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Para habilitar a auditoria de autorizações bem-sucedidas, emita o seguinte comando:
db.adminCommand( { setParameter: 1, auditAuthorizationSuccess: true } ) Habilitar o
auditAuthorizationSuccessprejudica mais o desempenho do que registrar somente as falhas de autorização.Se a configuração de auditoria de tempo de execução estiver habilitada, o parâmetro não deverá aparecer
auditAuthorizationSuccessnomongodoumongosarquivo de configuração. O servidor falhará ao iniciar se o parâmetro estiver presente.Dica
auditConfigPollingFrequencySecsDisponível para
mongodemongos.Novidades na versão 5.0.
Tipo: inteiro
Padrão: 300
Um cluster fragmentado pode ter servidores que mantêm as definições de configuração de auditoria do cluster. Defina o intervalo, em segundos, para servidores não configurados pesquisarem um servidor de configuração para a geração de auditoria atual. Se esse valor retornado for diferente do valor conhecido anteriormente, o nó iniciador solicitará a configuração atual e atualizará seu estado interno.
Observação
Usando o valor padrão de 300 segundos, os nós que não são de configuração podem atrasar até 5 minutos após a definição do parâmetro de cluster
auditConfig.Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.
auditEncryptionHeaderMetadataFileNovidades na versão 6.0.
Disponível para
mongodemongos.Tipo: string
Observação
Disponível apenas no MongoDB Enterprise. MongoDB Enterprise e Atlas têm requisitos de configuração diferentes.
Caminho e nome de arquivo para registrar cabeçalhos de auditoria de metadados para criptografia de registro de auditoria. Um cabeçalho é colocado no topo de cada arquivo de registro de auditoria e contém metadados para descriptografar o registro de auditoria. Os cabeçalhos também são armazenados no registro de auditoria.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.Por exemplo, o seguinte define o caminho e o arquivo de
auditEncryptionHeaderMetadataFile:mongod --setParameter auditEncryptionHeaderMetadataFile=/auditFiles/auditHeadersMetadataFile.log
auditEncryptKeyWithKMIPGetNovidades na versão 6.0.
Disponível para
mongodemongos.Tipo: booleano
Padrão: false
Observação
Disponível apenas no MongoDB Enterprise. MongoDB Enterprise e Atlas têm requisitos de configuração diferentes.
Habilita a criptografia de registro de auditoria para servidores de protocolo de interoperabilidade de gerenciamento de chaves (KMIP) que oferecem suporte apenas ao protocolo KMIP versão 1.0 ou 1.1.
Este parâmetro está disponível apenas na inicialização. Para definir o parâmetro, use a configuração
setParameter.O exemplo a seguir define
auditEncryptKeyWithKMIPGetcomotrue:mongod --setParameter auditEncryptKeyWithKMIPGet=true
Parâmetros da transação
AbortExpiredTransactionsSessionCheckoutTimeoutNovidades na versão 8.0.13.
Disponível apenas para
mongod.Tipo: inteiro
Padrão: 100 milissegundos
É feito check-out de uma sessão de um pool de sessões para executar operações de banco de dados .
AbortExpiredTransactionsSessionCheckoutTimeoutdefine o número máximo de milissegundos para que uma sessão seja verificada ao tentar encerrar uma transação expirada.Se a transação expirada for encerrada com êxito, o MongoDB incrementará
metrics.abortExpiredTransactions.successfulKills. Se a transação não for encerrada com êxito porque atingiu o tempo limite ao tentar verificar uma sessão, o MongoDB incrementarámetrics.abortExpiredTransactions.timedOutKills.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo seguinte define
AbortExpiredTransactionsSessionCheckoutTimeoutpara120milissegundos:db.adminCommand( { setParameter: 1, AbortExpiredTransactionsSessionCheckoutTimeout: 120 } ) Você também pode definir este parâmetro durante a inicialização. Por exemplo:
mongod --setParameter AbortExpiredTransactionsSessionCheckoutTimeout=120
coordinateCommitReturnImmediatelyAfterPersistingDecisionNovidades na versão 5.0.
Atualizado na versão 6.1
Disponível apenas para
mongod.Tipo: booleano
Padrão: false
Quando definido como
false, o coordenador de transações de fragmento aguarda que todos os fragmentos participantes reconheçam a decisão de confirmar ou cancelar uma transação de vários documentos antes de retornar o resultado ao cliente.Quando definido como
true, o coordenador de transações de fragmento retorna uma decisão de confirmação de transação multidocumento ao cliente assim que a decisão se torna durável com a preocupação de gravação da transação solicitada.Se o cliente solicitou uma preocupação por escrito menor que
"majority", a confirmação poderá ser revertida após a decisão ser devolvida ao cliente.As transações podem não ter consistência de "leia suas gravações". Ou seja, uma operação de leitura pode não mostrar os resultados das operações de gravação que a precederam. Isso pode acontecer se:
Uma transação precisa escrever em vários shard.
A leitura e a escrita anterior ocorrem em diferentes sessões.
A consistência causal oferece garantias apenas para o relacionamento causal de leituras e gravações que ocorrem na mesma sessão.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
coordinateCommitReturnImmediatelyAfterPersistingDecisioncomotrue:mongod --setParameter coordinateCommitReturnImmediatelyAfterPersistingDecision=true Durante o tempo de execução, você também pode configurar o parâmetro com o comando
setParameter:db.adminCommand( { setParameter: 1, coordinateCommitReturnImmediatelyAfterPersistingDecision: true } )
internalSessionsReapThresholdNovidades na versão 6.0.
Disponível para
mongodemongos.Padrão: 1000
Limite de sessão para exclusão de metadados de sessão interna. Os metadados:
Contêm informações de transação da sessão para operações do usuário.
É armazenado na coleção
config.transactions.
Quando o número de sessões internas for maior que
internalSessionsReapThreshold, os metadados serão excluídos.Se você definir
internalSessionsReapThresholdcomo0, os metadados internos da sessão só serão excluídos quando a sessão do usuário terminar.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O exemplo a seguir define
internalSessionsReapThresholdcomo500sessões:db.adminCommand( { setParameter: 1, internalSessionsReapThreshold: 500 } ) Você também pode definir
internalSessionsReapThresholdna inicialização. Por exemplo:mongod --setParameter internalSessionsReapThreshold=500
maxTransactionLockRequestTimeoutMillisDisponível apenas para
mongod.Tipo: inteiro
Padrão: 5
O tempo máximo em milissegundos que as transações multidocumento devem esperar para adquirir as travas exigidas pelas operações na transação.
Se a transação não conseguir adquirir os bloqueios depois de esperar
maxTransactionLockRequestTimeoutMillis, a transação será abortada.Por padrão, as transações multidocumento aguardam
5milissegundos. Ou seja, se a transação não puder adquirir as travas dentro de5milissegundos, a transação será cancelada. Se uma operação fornecer um timeout maior em uma solicitação de trava,maxTransactionLockRequestTimeoutMillissubstituirá o timeout específico da operação.Você pode definir
maxTransactionLockRequestTimeoutMilliscomo:0de modo que, se a transação não puder adquirir os bloqueios necessários imediatamente, a transação será cancelada.Um número maior que
0para esperar o tempo especificado para adquirir as travas necessárias. Isso pode ajudar a evitar abortos de transações em aquisições simultâneas momentâneas de travas, como operações de metadados de execução rápida. No entanto, isso poderia atrasar o aborto das operações de transação em impasse.-1para usar o tempo limite específico da operação.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O seguinte define o
maxTransactionLockRequestTimeoutMillispara20milissegundos:db.adminCommand( { setParameter: 1, maxTransactionLockRequestTimeoutMillis: 20 } ) Você também pode definir este parâmetro durante a inicialização:
mongod --setParameter maxTransactionLockRequestTimeoutMillis=20
transactionLifetimeLimitSecondsDisponível apenas para
mongod.Padrão: 60
Especifica a vida útil das transações multidocumento. As transações que excederem esse limite são consideradas expiradas e serão canceladas por um processo de limpeza periódica. O processo de limpeza é executado a cada
transactionLifetimeLimitSeconds/2 segundos ou pelo menos uma vez a cada 60 segundos.O processo de limpeza ajuda a aliviar a pressão do cache de armazenamento.
O valor mínimo para transactionLifetimeLimitSeconds é
1segundo.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O seguinte define o
transactionLifetimeLimitSecondspara30segundos:db.adminCommand( { setParameter: 1, transactionLifetimeLimitSeconds: 30 } ) Você também pode definir
transactionLifetimeLimitSecondsde parâmetros no momento da inicialização.mongod --setParameter "transactionLifetimeLimitSeconds=30" Para definir o parâmetro para um agrupamento fragmentado, o parâmetro deve ser modificado para todos os membros do conjunto de réplicas de fragmento.
A partir do MongoDB 5.0, se você alterar o parâmetro
transactionLifetimeLimitSeconds, também deverá alterartransactionLifetimeLimitSecondspara o mesmo valor em todos os nós do conjunto de réplicas do servidor de configuração. Mantendo este valor consistente:Garante que o histórico da tabela de roteamento seja mantido por pelo menos o tempo de vida útil da transação nos membros do conjunto de réplicas de shard.
Reduz a frequência de novas tentativas de transação e, portanto, melhora o desempenho.
transactionTooLargeForCacheThresholdNovidades na versão 6.2.
Disponível apenas para
mongod.Tipo: decimal
Padrão: 0.75
O valor limite para tentar novamente transações que falham devido à pressão de cache. O valor é uma porcentagem do tamanho do cache sujo. O valor padrão,
0.75, significa 75% do cache sujo.O cache sujo está limitado a 20% do tamanho total do cache. Quando o
transactionTooLargeForCacheThresholdestá configurado para0.75, o servidor somente tenta novamente transações que usam menos de 15% (0.75 * 20%) do cache total do mecanismo de armazenamento.O limite aplica-se apenas a novas tentativas. Transações grandes podem usar mais de
transactionTooLargeForCacheThresholdpor cento do cache sujo. No entanto, se uma transação grande for revertida devido à pressão do cache, o servidor emitirá um erroTransactionTooLargeForCachee não tentará novamente a transação.Para desativar este comportamento, defina
transactionTooLargeForCacheThresholdcomo1.0.Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
Para mais informações sobre o armazenamento WiredTiger, consulte: Opções do
storage.wiredTiger.
Parâmetros de execução baseados em slot
planCacheSizeNovidades na versão 6.3.
Disponível apenas para
mongod.Tipo: string
Padrão: 5%
Observação
Embora o parâmetro
planCacheSizeexistia em versões anteriores do MongoDB, ele não teve efeito no cache do plano até a versão 6,3.Define o tamanho do cache de planejamento somente para o mecanismo de execução de queries baseado em slots.
Você pode definir o valor de
planCacheSizepara:Uma porcentagem da memória física total do sistema para alocar para o cache do plano. Por exemplo,
"8.5%".A quantidade exata de dados para alocar para o cache do plano no
MBouGB. Por exemplo,"100MB"ou"1GB".
Aumentar o tamanho do cache do plano adiciona mais formas de query do cache do plano em cache para o planejador de query. Isso pode melhorar o desempenho da query, mas aumenta o uso da memória.
Este parâmetro está disponível tanto em tempo de execução quanto na inicialização:
Para definir o parâmetro em tempo de execução, use o comando
setParameter.Para definir o parâmetro na inicialização, use a configuração
setParameter.
O seguinte comando de inicialização define
planCacheSizeem 80 megabytes:mongod --setParameter planCacheSize="80MB" Você também pode usar o comando
setParameterno MongoDB Shell:db.adminCommand( { setParameter: 1, planCacheSize: "80MB" } )