Synopsis
MongoDB proporciona una serie de opciones de configuración que puedes establecer con:
el
setParameterdominio:db.adminCommand( { setParameter: 1, <parameter>: <value> } ) la configuración de
setParameter:setParameter: <parameter1>: <value1> ... la opción de línea de comandos
--setParameterparamongodymongos:mongod --setParameter <parameter>=<value> mongos --setParameter <parameter>=<value>
Para opciones adicionales de configuración, consulte Opciones del archivo de configuración autogestionado, mongod y mongos.
Parámetros
Parámetros de autenticación
authenticationMechanismsDisponible tanto para
mongodcomo paramongos.Especifica la lista de mecanismos de autenticación que acepta el servidor. Establézcalo en uno o más de los siguientes valores. Si especifica varios valores, utilice una lista separada por comas y sin espacios. Para obtener descripciones de los mecanismos de autenticación, consulte Autenticación en implementaciones autogestionadas.
ValorDescripciónSolicitud de comentarios 5802 Mecanismo de autenticación de respuesta de desafío salado estándar que utiliza la función hash SHA-1.
RFC 7677 estándar del mecanismo de autenticación de respuesta a desafío salado utilizando la función de hash SHA-256.
Autenticación de certificados TLS/SSL de MongoDB.
GSSAPI (Kerberos)
Autenticación externa utilizando Kerberos. Este mecanismo está disponible solo en MongoDB Enterprise.
PLAIN (SASL LDAP)
Autenticación externa mediante LDAP. También puede utilizar
PLAINpara autenticar a los usuarios de base de datos.PLAINtransmite las contraseñas en texto sin cifrar. Este mecanismo está disponible solo en MongoDB Enterprise.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, para especificar tanto
PLAINcomoSCRAM-SHA-256como mecanismos de autenticación, utilice el siguiente comando:mongod --setParameter authenticationMechanisms=PLAIN,SCRAM-SHA-256 --auth
awsSTSRetryCountCambiado en la 6.0.7 versión: (También a partir de la 5.0.18 versión)
En versiones anteriores, la autenticación de AWS IAM se reintentaba solo cuando el servidor devolvía un error HTTP 500.
Disponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 2
Para implementaciones de MongoDB que utilizan credenciales de AWS IAM o variables de entorno de AWS IAM.
Número máximo de reintentos de autenticación de AWS IAM tras un fallo de conexión.
En el siguiente ejemplo se establece
awsSTSRetryCounten15reintentos:mongod --setParameter awsSTSRetryCount=15 Alternativamente, los siguientes ejemplos utilizan el comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, awsSTSRetryCount: 15 } )
clusterAuthModeDisponible tanto para
mongodcomo paramongos.Configure el
clusterAuthModeasendX509ox509. Útil durante la actualización continua para usar x509 para la autenticación de membresía para minimizar el tiempo de inactividad.Para obtener más información sobre TLS/SSL y MongoDB,consulte Configurar
mongodymongospara TLS/SSL y Configuración de TLS/SSL para clientes.Este parámetro solo está disponible en tiempo de ejecución. Para establecer el parámetro, utilice el comando
setParameter.db.adminCommand( { setParameter: 1, clusterAuthMode: "sendX509" } )
enableLocalhostAuthBypassDisponible tanto para
mongodcomo paramongos.Especifique
0ofalsepara desactivar la omisión de autenticación de localhost. Activado por defecto.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Consulte la Excepción de Localhost en implementaciones autogestionadas para obtener más información.
KeysRotationIntervalSecPor defecto: 7776000 segundos (90 días)
Especifica el número de segundos durante los cuales una clave de firma HMAC es válida antes de rotar a la siguiente. Este parámetro está diseñado principalmente para facilitar las pruebas de autenticación.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
ldapForceMultiThreadModeDisponible tanto para
mongodcomo paramongos.Por defecto: false
Permite la ejecución de operaciones LDAP concurrentes.
Nota
Solo si se tiene la seguridad de que la instancia de
libldapes segura para usar en este modo, se debe activar esta opción. Se pueden experimentar fallas del proceso de MongoDB si la versiónlibldapque se está utilizando no es segura para subprocesos.Debes usar
ldapForceMultiThreadModepara utilizar el pool de conexiones LDAP. Para habilitar el pool de conexiones LDAP, estableceldapForceMultiThreadModeyldapUseConnectionPoolatrue.Tip
Si se tiene alguna preocupación respecto a la versión de MongoDB, la versión del sistema operativo o la versión de libldap, se debe contactar a soporte de MongoDB.
ldapQueryPasswordDisponible tanto para
mongodcomo paramongos.Tipo: string
La contraseña que se utiliza para conectarse a un servidor LDAP. Debe usar
ldapQueryUsercon este parámetro.Si no se establece, mongod o mongos no intentarán vincularse al servidor LDAP.
ldapQueryUserDisponible tanto para
mongodcomo paramongos.Tipo: string
El usuario que se conecta a un servidor LDAP. Debe usar
ldapQueryPasswordcon este parámetro.Si no se establece, mongod o mongos no intentarán vincularse al servidor LDAP.
ldapRetryCountNuevo en la versión 6.1.
Disponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 0
Para implementaciones de MongoDB que utilizan autorización LDAP en implementaciones autogestionadas.
Cantidad de reintentos de operación por el administrador del servidor LDAP después de un error de red.
Por ejemplo, lo siguiente establece
ldapRetryCounta3segundos:mongod --ldapRetryCount=3 O, si utiliza el comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, ldapRetryCount: 3 } )
ldapUserCacheInvalidationIntervalCambiado en la versión 5.2.
Disponible solo para
mongod.Por defecto: 30 segundos
Nota
A partir de MongoDB 5.2, el intervalo de actualización para la información de usuario almacenada en caché recuperada de un servidor LDAP depende de
ldapShouldRefreshUserCacheEntries:Si es verdadero, utilice
ldapUserCacheRefreshInterval.Si es falso, utiliza
ldapUserCacheInvalidationInterval.
Para usar con implementaciones de MongoDB que utilizan autorización LDAP en implementaciones autogestionadas. Disponible
mongodsolo para instancias.El intervalo (en segundos) que la instancia
mongodespera entre los vaciados de la caché de usuarios externos. Después de que MongoDB vacíe la caché externa de usuarios, MongoDB vuelve a adquirir los datos de autorización del servidor LDAP la siguiente vez que un usuario autorizado por LDAP realice una operación.Aumentar el valor especificado incrementa el tiempo que MongoDB y el servidor LDAP pueden estar sin sincronizar, pero reduce la carga en el servidor LDAP. Por el contrario, disminuir el valor especificado reduce el tiempo que MongoDB y el servidor LDAP pueden estar sin sincronizar, mientras que aumenta la carga en el servidor LDAP.
ldapUserCacheRefreshIntervalNuevo en la versión 5.2.
Disponible solo para
mongod.Tipo: entero
Por defecto: 30 segundos
Nota
A partir de MongoDB 5.2, el intervalo de actualización para la información de usuario almacenada en caché recuperada de un servidor LDAP depende de
ldapShouldRefreshUserCacheEntries:Si es verdadero, utilice
ldapUserCacheRefreshInterval.Si es falso, utiliza
ldapUserCacheInvalidationInterval.
Para implementaciones de MongoDB que utilizan autorización LDAP en implementaciones autogestionadas.
El intervalo en segundos que
mongodespera antes de actualizar la información de usuario almacenada en caché desde el servidor LDAP.El intervalo máximo es de 86 400 segundos (24 horas).
Por ejemplo, lo siguiente establece
ldapUserCacheRefreshIntervala4000segundos:mongod --setParameter ldapUserCacheRefreshInterval=4000 O, si utiliza el comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, ldapUserCacheRefreshInterval: 4000 } )
ldapUserCacheStalenessIntervalNuevo en la versión 5.2.
Disponible solo para
mongod.Tipo: entero
Por defecto: 90 segundos
Para implementaciones de MongoDB que utilizan autorización LDAP en implementaciones autogestionadas.
El intervalo en segundos que
mongodretiene la información de usuario LDAP almacenada en caché después de la última actualización de caché.Si transcurren más de
ldapUserCacheStalenessIntervalsegundos sin que se actualice con éxito la información del usuario desde el servidor LDAP, entoncesmongod:Invalida la información de usuario de LDAP almacenada en caché.
No puede autenticar nuevas sesiones para usuarios LDAP hasta que
mongodse conecte al servidor LDAP y autorice al usuario LDAP.Autoriza cualquier sesión existente que utilice usuarios LDAP previamente autenticados si
mongodno puede conectarse al servidor LDAP. Cuandomongodse reconecta al servidor LDAP,mongodgarantiza que los usuarios de LDAP estén correctamente autorizados.
El intervalo máximo es de 86 400 segundos (24 horas).
Por ejemplo, lo siguiente establece
ldapUserCacheStalenessIntervala4000segundos:mongod --setParameter ldapUserCacheStalenessInterval=4000 O, si utiliza el comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, ldapUserCacheStalenessInterval: 4000 } )
ldapUseConnectionPoolEspecifica si MongoDB debe utilizar el agrupamiento de conexiones al conectarse al servidor LDAP para la autenticación y autorización.
MongoDB utiliza los siguientes valores por defecto:
true en Windows.
verdadero en Linux, donde los binarios de MongoDB Enterprise están vinculados contra
libldap_r.falso en Linux, donde los binarios de MongoDB Enterprise están vinculados contra
libldap.
Solo puede configurar
ldapUseConnectionPooldurante el inicio y no puede cambiar esta configuración con el comando de base de datossetParameter.
ldapConnectionPoolUseLatencyForHostPriorityPor defecto: true
Un booleano que determina si el pool de conexiones LDAP (véase
ldapUseConnectionPool) debe usar la latencia de los servidores LDAP para determinar el orden de conexión (de menor a mayor latencia a mayor).Solo puede configurar durante el inicio y no puede cambiar esta
ldapConnectionPoolUseLatencyForHostPrioritysetParameterconfiguración durante el tiempo de ejecución con el comando de base de datos.
ldapConnectionPoolMinimumConnectionsPerHostPor defecto: 1
El número mínimo de conexiones que se deben mantener abiertas a cada servidor LDAP.
Solo puede configurar durante el inicio y no puede cambiar esta
ldapConnectionPoolMinimumConnectionsPerHostsetParameterconfiguración durante el tiempo de ejecución con el comando de base de datos.
ldapConnectionPoolMaximumConnectionsPerHostModificado a partir de las versiones de MongoDB 5.0.9 y 6.0.0 Se cambió el valor por defecto a
2147483647. En versiones anteriores, el valor por defecto no estaba establecido.Por defecto: 2147483647
La cantidad máxima de conexiones que se deben mantener abiertas para cada servidor LDAP.
Solo puede configurar durante el inicio y no puede cambiar esta
ldapConnectionPoolMaximumConnectionsPerHostsetParameterconfiguración durante el tiempo de ejecución con el comando de base de datos.
ldapConnectionPoolMaximumConnectionsInProgressPerHostModificado a partir de las versiones de MongoDB 5.0.9 y 6.0.0 Se cambió el valor por defecto a
2. En versiones anteriores, el valor por defecto no estaba establecido.Por defecto: 2
El número máximo de operaciones de conexión en progreso para cada servidor LDAP.
Solo puede configurar
ldapConnectionPoolMaximumConnectionsInProgressPerHostdurante el inicio y no puede cambiar esta configuración con el comando de base de datossetParameter.
ldapConnectionPoolHostRefreshIntervalMillisPor defecto: 60000
El número de milisegundos entre las verificaciones de estado de las conexiones LDAP agrupadas.
Solo puede configurar
ldapConnectionPoolHostRefreshIntervalMillisdurante el inicio y no puede cambiar esta configuración con el comando de base de datossetParameter.
ldapConnectionPoolIdleHostTimeoutSecsPor defecto: 300
El número máximo de segundos que las conexiones agrupadas a un servidor LDAP pueden permanecer inactivas antes de cerrarse.
Solo puede configurar
ldapConnectionPoolIdleHostTimeoutSecsdurante el inicio y no puede cambiar esta configuración con el comando de base de datossetParameter.
ldapShouldRefreshUserCacheEntriesNuevo en la versión 5.2.
Disponible solo para
mongod.Tipo: booleano
Por defecto: true
Para implementaciones de MongoDB que utilizan autorización LDAP en implementaciones autogestionadas.
A partir de MongoDB 5.2, el intervalo de actualización para la información de usuario almacenada en caché recuperada de un servidor LDAP depende de
ldapShouldRefreshUserCacheEntries:Si es verdadero, utilice
ldapUserCacheRefreshInterval.Si es falso, utiliza
ldapUserCacheInvalidationInterval.
Solo puede configurar
ldapShouldRefreshUserCacheEntriesdurante el inicio en elconfiguration fileo con la opción--setParameteren la línea de comandos. Por ejemplo, lo siguiente desactivaldapShouldRefreshUserCacheEntries:mongod --setParameter ldapShouldRefreshUserCacheEntries=false
maxValidateMemoryUsageMBNuevo en la versión 5.0.
Por defecto: 200
El límite máximo de uso de memoria en megabytes para el comando
validate. Si se supera el límite,validatedevuelve tantos resultados como sea posible y advierte que no se puede informar de toda la corrupción debido al límite.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
ocspEnabledDisponible en Linux y macOS.
Por defecto: true
El indicador que habilita o deshabilita OCSP.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, lo siguiente desactiva OCSP:
mongod --setParameter ocspEnabled=false ... Al iniciar MongoDB 6.0, si
ocspEnabledse configura comotruedurante la sincronización inicial, todos los nodos deben poder acceder al respondedor OCSP.Si un nodo falla en el estado
STARTUP2, establezcatlsOCSPVerifyTimeoutSecsa un valor que sea inferior a5.
ocspStaplingRefreshPeriodSecsDisponible tanto para
mongodcomo paramongos.Disponible en Linux.
El número de segundos que se debe esperar antes de actualizar la respuesta de estado OCSP grapado. Especifique un número mayor o igual a 1.
Solo puede establecer
ocspStaplingRefreshPeriodSecsdurante el inicio en elconfiguration fileo con la opción--setParameteren la línea de comandos. Por ejemplo, lo siguiente establece el parámetro en 3600 segundos:mongod --setParameter ocspStaplingRefreshPeriodSecs=3600 ... A partir de MongoDB 5.0, el comando
rotateCertificatesy el métododb.rotateCertificates()también actualizarán cualquier respuesta OCSP adjunta.
opensslCipherConfigDisponible solamente en Linux.
Con el uso de librerías TLS/SSL nativas, el parámetro
opensslCipherConfiges compatible con Linux/BSD y ya no es compatible con Windows y macOS.Especifique el string de cifrado para OpenSSL cuando utilice el cifrado TLS/SSL. Para obtener una lista de cadenas de cifrado, consulte https://www.openssl.org/docs/man1.1.1/man1/ciphers.html. Se pueden proporcionar múltiples cadenas de cifrado como una lista separada por dos puntos.
Nota
Este parámetro es solo para uso con TLS 1.2 o versiones anteriores. Para especificar suites de cifrado para usar con TLS 1.3, utilice el parámetro
opensslCipherSuiteConfig.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Se prefiere el uso de las opciones de
TLSsobre las opciones deSSL. Las opciones de TLS tienen la misma funcionalidad que las opcionesSSL. El siguiente ejemplo configura unmongodcon una string de cifradoopensslCipherConfigde'HIGH:!EXPORT:!aNULL@STRENGTH':mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL@STRENGTH' --tlsMode requireTLS --tlsCertificateKeyFile Certs/server.pem
opensslCipherSuiteConfigNuevo en la versión 5.0.
Disponible solamente en Linux.
Especifica la lista de suites de cifrado compatibles que OpenSSL debe permitir al utilizar el cifrado TLS 1.3.
Para obtener una lista de los conjuntos de cifrado para usar con TLS 1.3, consulte https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_cipher_list.html. Se pueden proporcionar múltiples suites de cifrado como una lista separada por dos puntos.
Nota
Este parámetro es solo para uso con TLS 1.3. Para especificar cadenas de cifrado para usar con TLS 1.2 o anterior, utilice el parámetro
opensslCipherConfig.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, la siguiente configuración de un
mongodcon un conjunto de cifradoopensslCipherSuiteConfigde'TLS_AES_256_GCM_SHA384'para usar con TLS 1.3:mongod --setParameter opensslCipherSuiteConfig='TLS_AES_256_GCM_SHA384' --tlsMode requireTLS --tlsCertificateKeyFile Certs/server.pem
opensslDiffieHellmanParametersDisponible solamente en Linux.
Especifique la ruta al archivo PEM que contiene los parámetros de OpenSSL Diffie-Hellman cuando se utiliza TLS 1.2 o versiones anteriores. Especificar los parámetros de OpenSSL Diffie-Hellman permite el soporte para los conjuntos de cifrado Ephemeral Diffie-Hellman (DHE) durante el cifrado TLS/SSL.
Este parámetro no es compatible para su uso con TLS 1.3.
Los conjuntos de cifrado Ephemeral Diffie-Hellman (DHE) y los conjuntos de cifrado Ephemeral Elliptic Curve Diffie-Hellman (ECDHE)) proporcionan el secreto perfecto hacia adelante. Las suites de cifrado secreto perfecto hacia adelante crean una clave de sesión efímera que está protegida por la llave privada del servidor, pero que nunca se transmite. Esto asegura que, incluso si la llave privada de un servidor se ve comprometida, no podrás descifrar sesiones pasadas con la llave comprometida.
Nota
Si
opensslDiffieHellmanParametersno está configurado, pero ECDHE está habilitado, MongoDB activa DHE mediante el parámetro Diffie-Hellmanffdhe3072, como se define en RFC-7919#appendix-A.2. Elffdhe3072es un parámetro fuerte (específicamente, el tamaño es mayor que 1024). Los parámetros fuertes no son compatibles con Java 6 y 7 a menos que se haya adquirido soporte extendido de Oracle.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Si por razones de rendimiento necesita deshabilitar el soporte para los conjuntos de cifrado DHE, utilice el parámetro
opensslCipherConfig:mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL:!DHE:!kDHE@STRENGTH' ...
saslauthdPathNota
Disponible solo en MongoDB Enterprise (excepto MongoDB Enterprise para Windows).
Disponible tanto para
mongodcomo paramongos.Especifique la ruta al socket de dominio Unix de la instancia
saslauthdque se usará para la autenticación de proxy.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
saslHostNameDisponible tanto para
mongodcomo paramongos.saslHostNameanula la detección por defecto de nombres de host de MongoDB para la configuración de la autenticación SASL y Kerberos.saslHostNameno afecta el nombre de host de la instancia demongodomongospara ningún propósito más allá de la configuración de SASL y Kerberos.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Nota
saslHostNameadmite la autenticación Kerberos y solo se incluye en MongoDB Enterprise. Para obtener más información, consulta lo siguiente:
saslServiceNameDisponible tanto para
mongodcomo paramongos.Permite a los usuarios sobrescribir el componente por defecto del nombre de servicio Kerberos del nombre principal de Kerberos, en cada instancia. Si no se especifica, el valor es por defecto es
mongodb.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.saslServiceNamesolo está disponible en MongoDB Enterprise.Importante
Asegúrese de que su controlador tenga soporte para nombres de servicios alternativos.
scramIterationCountPor defecto:
10000Disponible tanto para
mongodcomo paramongos.Cambia el número de iteraciones de hash utilizadas para todas las nuevas contraseñas de
SCRAM-SHA-1. Más iteraciones aumentan el tiempo necesario para que los clientes se autentiquen en MongoDB, pero hacen que las contraseñas sean menos vulnerables a los intentos de fuerza bruta. El valor por defecto es ideal para la mayoría de los casos de uso y requisitos comunes.Si modifica este valor, no cambiará el número de iteraciones de las contraseñas existentes. El valor de
scramIterationCountdebe ser5000o mayor.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, lo siguiente configura el
scramIterationCounta12000.mongod --setParameter scramIterationCount=12000 O, si utiliza el comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, scramIterationCount: 12000 } )
scramSHA256IterationCountPor defecto:
15000Disponible tanto para
mongodcomo paramongos.Cambia el número de iteraciones de hash utilizadas para todas las nuevas contraseñas de
SCRAM-SHA-256. Más iteraciones aumentan el tiempo necesario para que los clientes se autentiquen en MongoDB, pero hacen que las contraseñas sean menos vulnerables a los intentos de fuerza bruta. El valor por defecto es ideal para la mayoría de los casos de uso y requisitos comunes.Si modifica este valor, no cambiará el número de iteraciones de las contraseñas existentes. El valor de
scramSHA256IterationCountdebe ser5000o mayor.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, lo siguiente configura el
scramSHA256IterationCounta20000.mongod --setParameter scramSHA256IterationCount=20000 O, si utiliza el comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, scramSHA256IterationCount: 20000 } )
sslModeDisponible tanto para
mongodcomo paramongos.Establece el
net.ssl.modeenpreferSSLorequireSSL. Útil durante la actualización progresiva a TLS/SSL para minimizar el tiempo de inactividad.Para obtener más información sobre TLS/SSL y MongoDB,consulte Configurar
mongodymongospara TLS/SSL y Configuración de TLS/SSL para clientes.Este parámetro solo está disponible en tiempo de ejecución. Para establecer el parámetro, utilice el comando
setParameter.db.adminCommand( { setParameter: 1, sslMode: "preferSSL" } ) Tip
tlsModeDisponible tanto para
mongodcomo paramongos.Establezca en uno de los siguientes:
preferTLSrequireTLS
El parámetro
tlsModees útil durante la actualización progresiva a TLS/SSL para minimizar el tiempo de inactividad.Este parámetro solo está disponible en tiempo de ejecución. Para establecer el parámetro, utilice el comando
setParameter.db.adminCommand( { setParameter: 1, tlsMode: "preferTLS" } ) Para obtener más información sobre TLS/SSL y MongoDB,consulte Configurar
mongodymongospara TLS/SSL y Configuración de TLS/SSL para clientes.Tip
tlsOCSPStaplingTimeoutSecsDisponible para Linux.
El número máximo de segundos que la instancia
mongod/mongosdebe esperar para recibir la respuesta de estado OCSP para sus certificados.Especifique un número entero mayor o igual a (
>=) 1. Si no se establece,tlsOCSPStaplingTimeoutSecsutiliza el valor detlsOCSPVerifyTimeoutSecs.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, lo siguiente establece el
tlsOCSPStaplingTimeoutSecsa 20 segundos:mongod --setParameter tlsOCSPStaplingTimeoutSecs=20 ...
tlsOCSPVerifyTimeoutSecsDisponible para Linux y Windows.
Por defecto: 5
El número máximo de segundos que
mongod/mongosdebería esperar la respuesta de OCSP al verificar los certificados del servidor.Especifique un número entero mayor o igual a (
>=) 1.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, lo siguiente establece el
tlsOCSPVerifyTimeoutSecsa 20 segundos:mongod --setParameter tlsOCSPVerifyTimeoutSecs=20 ...
tlsUseSystemCADisponible solo para
mongod.Tipo: booleano
Por defecto: false
Especifica si MongoDB carga los certificados TLS que ya están disponibles para la autoridad de certificación del sistema operativo.
Importante
Al iniciar una instancia
mongodcon TLS/SSL habilitado, debes especificar un valor para el indicador--tlsCAFile, la opción de configuraciónnet.tls.CAFileo el parámetrotlsUseSystemCA.--tlsCAFile,tls.CAFile, ytlsUseSystemCAson mutuamente excluyentes.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, para configurar
tlsUseSystemCAatrue:mongod --setParameter tlsUseSystemCA=true Para obtener más información sobre TLS/SSL y MongoDB,consulte Configurar
mongodymongospara TLS/SSL y Configuración de TLS/SSL para clientes.
tlsWithholdClientCertificateDisponible tanto para
mongodcomo paramongos.Se establece un certificado TLS para un
mongodo unmongosya sea mediante la opción--tlsClusterFileo la opción--tlsCertificateKeyFilecuando--tlsClusterFileno está configurado. Si se establece el certificado TLS, por defecto, la instancia envía el certificado al iniciar comunicaciones intraclúster con otras instanciasmongodomongosen la implementación. ConfiguratlsWithholdClientCertificateen1otruepara dirigir a la instancia a que retenga el envío de su certificado TLS durante estas comunicaciones. Utiliza esta opción con--tlsAllowConnectionsWithoutCertificates(para permitir conexiones entrantes sin certificados) en todos los nodos de la implementación.tlsWithholdClientCertificatees mutuamente excluyente con--clusterAuthMode x509.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
tlsX509ClusterAuthDNOverrideDisponible tanto para
mongodcomo paramongos.Un nombre distinguido alternativo (nombre distinguido) que la instancia también puede utilizar para identificar a los nodos de la implementación.
Para una implementación de MongoDB que utiliza certificados X.509 para
clusterAuthMode, los nodos de la implementación se identifican entre sí mediante certificados X.509 (net.tls.clusterFile, si se especifica, ynet.tls.certificateKeyFile) durante las comunicaciones intraclúster. Para los nodos de la misma implementación, elDNde sus certificados debe tener los mismos atributos de la organización (O), los atributos de la unidad organizacional (OU) y los componentes de dominio (DC).Si
tlsX509ClusterAuthDNOverridese establece para un miembro, este también puede utilizar el valor de anulación al comparar los componentesDN(O,OU, yDC) de los certificados presentados. Es decir, el miembro verifica los certificados presentados en comparación con sunet.tls.clusterFile/net.tls.certificateKeyFile. Si el nombre distinguido no coincide, el miembro verifica el certificado presentado comparado con el valor detlsX509ClusterAuthDNOverride.Nota
Si se establece, debe configurar este parámetro en todos los nodos de la implementación.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Puede usar este parámetro para actualizar progresivamente los certificados con nuevos certificados que contengan un nuevo
DNvalor. Consulte Actualización progresiva de509 certificados X. que contienen un nuevo DN en clústeres autoadministrados.Para obtener más información sobre los requisitos del certificado de membresía, consulte Requisitos del Certificado de membresía para obtener más detalles.
tlsX509ExpirationWarningThresholdDaysDisponible tanto para
mongodcomo paramongos.Por defecto: 30
A partir de MongoDB,4.4
mongod/ registra una advertencia al conectarse simongosel509 certificado X. presentado caduca dentro de los30días posteriores almongod/mongosreloj del sistema. Utilice el parámetro para controlar el umbral de advertencia de caducidad deltlsX509ExpirationWarningThresholdDayscertificado:Aumenta el valor del parámetro para activar advertencias con mayor antelación a la fecha de vencimiento del certificado.
Disminuya el valor del parámetro para activar advertencias más cercanas a la fecha de caducidad del certificado.
Establezca el parámetro en
0para desactivar la advertencia.
Este parámetro tiene un valor mínimo de
0.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Para obtener más información sobre la validez del certificado X.509, consulte RFC 5280 4.1.2.5.
userCacheInvalidationIntervalSecsPor defecto: 30
Disponible solo para
mongos.En una instancia de
mongos, se especifica el intervalo (en segundos) en el que la instancia demongosverifica si la caché en memoria de objetos de usuario contiene datos obsoletos y, de ser así, limpia la caché. Si no hay cambios en los objetos de usuario,mongosno limpiará la caché.Este parámetro tiene un valor mínimo de
1segundo y un valor máximo de86400segundos (24 horas).Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
authFailedDelayMsPor defecto: 0
Disponible tanto para
mongodcomo paramongos.Nota
Característica de la empresa
Disponible solamente en MongoDB Enterprise.
El número de milisegundos que se debe esperar antes de informar a los clientes de que su intento de autenticación ha fallado. Este parámetro puede estar en el rango de
0a5000, inclusive.Establecer este parámetro hace que los ataques de inicio de sesión por fuerza bruta en una base de datos sean más lentos. Sin embargo, los clientes que esperan una respuesta del servidor MongoDB siguen consumiendo recursos del servidor, lo que puede afectar negativamente a los intentos de inicio de sesión benignos si el servidor niega el acceso a muchos otros clientes al mismo tiempo.
allowRolesFromX509CertificatesPor defecto: true
Disponible tanto para
mongodcomo paramongos.Un indicador booleano que permite o impide la recuperación de roles de autorización de los certificados del cliente X.509.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
Parámetros generales
allowDiskUseByDefaultPor defecto: true
Disponible solo para
mongod.A partir de MongoDB 6.0, las etapas de la canalización que requieren más de 100 megabytes de memoria para ejecutarse escriben archivos temporales en el disco de forma predeterminada. Estos archivos temporales duran mientras se ejecuta la canalización y pueden afectar el espacio de almacenamiento de la instancia. En versiones anteriores de MongoDB, se debía pasar
{ allowDiskUse: true }a los comandosfindyaggregatepara habilitar este comportamiento.Los comandos individuales
findyaggregatepueden anular el parámetroallowDiskUseByDefaultde las siguientes maneras:Se utiliza
{ allowDiskUse: true }para permitir la escritura de archivos temporales en el disco cuandoallowDiskUseByDefaultse establece enfalseSe utiliza
{ allowDiskUse: false }para prohibir la escritura de archivos temporales en el disco cuandoallowDiskUseByDefaultesté configurado entrue
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
mongod --setParameter allowDiskUseByDefault=false allowDiskUseByDefaultsolo funciona enmongody no enmongos.mongosnunca guarda archivos temporales en el disco. Utiliza el comandosetParameteren una sesiónmongoshque esté conectada a unmongoden ejecución para cambiar el valor del parámetro mientras el servidor está en funcionamiento:db.adminCommand( { setParameter: 1, allowDiskUseByDefault: false } )
httpVerboseLoggingDisponible tanto para
mongodcomo paramongos.Agrega un seguimiento más detallado para curl en Linux y macOS. No afecta a Windows.
Por defecto, el parámetro no está establecido.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
mongos --setParameter httpVerboseLogging=true
connPoolMaxConnsPerHostPor defecto: 200
Disponible tanto para
mongodcomo paramongos.Establece el tamaño máximo de los pools de conexiones heredados para las conexiones salientes a otras instancias de
mongoden el pool de conexiones global. El tamaño de un pool no impide la creación de conexiones adicionales, pero sí impide que un pool de conexiones retenga conexiones en exceso del valor deconnPoolMaxConnsPerHost.Nota
El parámetro está separado de las conexiones en los pools de TaskExecutor. Consulte
ShardingTaskExecutorPoolMaxSize.Ajuste esta configuración solo si su controlador no agrupa conexiones y está utilizando autenticación en el contexto de un clúster particionado.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.mongod --setParameter connPoolMaxConnsPerHost=250
connPoolMaxInUseConnsPerHostDisponible tanto para
mongodcomo paramongos.Establece el número máximo de conexiones en uso en un momento dado para las conexiones salientes a otras instancias de
mongoden el pool de conexiones global heredado.Por defecto, el parámetro no está establecido.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.mongod --setParameter connPoolMaxInUseConnsPerHost=100
globalConnPoolIdleTimeoutMinutesDisponible tanto para
mongodcomo paramongos.Establece el límite de tiempo que una conexión en el pool de conexiones global heredado puede permanecer inactiva antes de cerrarse.
Por defecto, el parámetro no está establecido.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.mongos --setParameter globalConnPoolIdleTimeoutMinutes=10
cursorTimeoutMillisPor defecto: 600000 (10 minutos)
Disponible tanto para
mongodcomo paramongos.Establece el umbral de expiración en milisegundos para los cursores inactivos antes de que MongoDB los remueva; específicamente, MongoDB remueve los cursores que han estado inactivos durante el tiempo especificado de
cursorTimeoutMillis.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, lo siguiente configura la
cursorTimeoutMillisa300000milisegundos (5 minutos).mongod --setParameter cursorTimeoutMillis=300000 O, si utiliza el comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, cursorTimeoutMillis: 300000 } ) Configurar
cursorTimeoutMillisa un valor menor o igual que0hace que todos los cursores sean inmediatamente elegibles para el tiempo de espera. Por lo general, el valor del tiempo de espera debe ser superior al tiempo promedio que tarda una query en devolver resultados. Utilice herramientas como el modificador de cursorcursor.explain()para analizar el tiempo promedio de la query y seleccione un período de espera adecuado.Advertencia
MongoDB elimina los cursores huérfanos después del umbral
cursorTimeoutMillissolo si no están asociados a sesiones.MongoDB limpia los cursores vinculados a sesiones con el ciclo de vida
localLogicalSessionTimeoutMinutes, independientemente del valor decursorTimeoutMillis. Para gestionar largos periodos de inactividad, utiliceMongo.startSession()y actualice la sesión mediante el comandorefreshSessions. Para obtener más detalles, consulte Actualizar un cursor conrefreshSessions.
maxNumActiveUserIndexBuildsDisponible solo para
mongod.Tipo: entero
Por defecto: 3
Establece el número máximo de compilaciones de índice simultáneas permitidas en el índice principal. Este límite global se aplica a todas las colecciones.
Incrementar el valor de
maxNumActiveUserIndexBuildspermite la creación de índices concurrentes adicionales con el costo de una mayor presión sobre la caché de WiredTiger.Los índices del sistema no están limitados a
maxNumActiveUserIndexBuilds; sin embargo, la creación de un índice del sistema cuenta para el límite de creaciones de índices de usuario.Después de que el servidor alcanza
maxNumActiveUserIndexBuilds, bloquea la creación de índices de usuario adicionales hasta que el número de creaciones de índices concurrentes desciende por debajo del límite demaxNumActiveUserIndexBuilds. Si una creación de índices está bloqueada, el servidor genera un registro con este mensaje:Too many index builds running simultaneously, waiting until the number of active index builds is below the threshold. Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente comando establece un límite de 4 creaciones de índices concurrentes:
db.adminCommand( { setParameter: 1, maxNumActiveUserIndexBuilds: 4 } ) Véase también:
notablescanDisponible solo para
mongod.Impide la ejecución de algunos escaneos de colección cuando se podría utilizar un índice, esté presente o no. Si
true, MongoDB no ejecutará queries que requieran un escaneo de colección y devolverá un error. Las exclusiones incluyen consultas sin filtros y consultas contra colecciones limitadas, como el oplog.Considere el siguiente ejemplo que establece
notablescanatrueo verdadero:db.adminCommand( { setParameter: 1, notablescan: true } ) Configurar
notablescanatruepuede ser útil para probar queries de aplicación, por ejemplo, para identificar queries que escanean toda una colección y no pueden usar un índice.Para detectar consultas no indexadas
notablescansin, considere leer la sección Evaluar el rendimiento de las operaciones actuales y usar ellogLevelparámetro,mongostaty la creación de perfiles.No ejecute instancias de producción
mongodconnotablescanporque impedir los escaneos de colecciones puede afectar potencialmente a las queries en todas las bases de datos, incluidas las queries administrativas.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Nota
notablescanno permite queries ilimitadas que usan un índice agrupado porque las queries requieren un escaneo de colección completo. Para obtener más información, consulta Escaneos de colección.
ttlMonitorEnabledDisponible solo para
mongod.Por defecto:
truePara admitir índices TTL, las instancias de
mongodtienen un subproceso en segundo plano que se encarga de borrar documentos de las colecciones con índices TTL.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Para deshabilitar este subproceso de trabajo para un
mongod, configurettlMonitorEnabledenfalse, como en las siguientes operaciones:db.adminCommand( { setParameter: 1, ttlMonitorEnabled: false } ) Alternativamente, puede desactivar el hilo al iniciar la instancia
mongodcon la siguiente opción:mongod --setParameter ttlMonitorEnabled=false
tcpFastOpenServerDisponible tanto para
mongodcomo paramongos.Por defecto:
trueHabilita el soporte para aceptar conexiones entrantes de TCP Fast Open (TFO) a
mongod/mongosdesde un cliente. TFO requiere que tanto el cliente como la máquina hostmongod/mongossoporten y habiliten TFO:- Windows
Los siguientes sistemas operativos Windows ofrecen soporte para TFO:
Microsoft Windows servidor 2016 y versiones posteriores.
Microsoft Windows 10 Actualización 1607 y versiones posteriores.
- macOS
- macOS 10.11 (El Capitan) y versiones posteriores tienen soporte para TFO.
- Linux
Los sistemas operativos Linux que ejecutan Linux Kernel 3.7 o versiones posteriores pueden dar soporte a TFO entrante.
Establezca el valor de
/proc/sys/net/ipv4/tcp_fastopenpara habilitar las conexiones TFO entrantes:Establecido en
2para permitir únicamente las conexiones TFO entrantes.Establecido en
3para habilitar las conexiones TFO entrantes y salientes.
Este parámetro no tiene ningún efecto si el sistema operativo del host no admite o no está configurado para admitir conexiones TFO.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Tip
tcpFastOpenClientDisponible tanto para
mongodcomo paramongos.Por defecto:
trueSolo para el sistema operativo Linux
Habilita el soporte para conexiones salientes de TCP Fast Open (TFO) desde el
mongod/mongosa un cliente. TFO requiere que tanto el cliente como la máquina hostmongod/mongossoporten y habiliten TFO.Los sistemas operativos Linux que ejecutan el Kernel de Linux 4.11 o versiones posteriores pueden dar soporte a TFO saliente.
Establezca el valor de
/proc/sys/net/ipv4/tcp_fastopenpara habilitar las conexiones TFO salientes:1para permitir solo las conexiones TFO salientes.3para habilitar las conexiones TFO entrantes y salientes.
Este parámetro no tiene ningún efecto si el sistema operativo del host no admite o no está configurado para admitir conexiones TFO.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Tip
tcpFastOpenQueueSizeDisponible tanto para
mongodcomo paramongos.Por defecto:
1024Como parte del establecimiento de una conexión TCP Fast Open (TFO), el cliente envía una cookie TFO válida a
mongod/mongosantes de completar el protocolo de enlace estándar de 3 vías TCP. Elmongod/mongosmantiene una cola de todas las conexiones TFO pendientes.El parámetro
tcpFastOpenQueueSizeestablece el tamaño de la cola de conexiones TFO pendientes. Mientras la cola está llena, elmongod/mongosvuelve al habitual apretón de manos de tres vías para las solicitudes entrantes de clientes e ignora la presencia de cookies TFO. Una vez que el tamaño de la cola vuelve a estar por debajo del límite, elmongod/mongoscomienza a aceptar nuevas cookies TFO.Aumentar el tamaño de la cola por defecto puede mejorar el efecto de TFO en el rendimiento de la red. Sin embargo, los tamaños grandes de las colas también aumentan el riesgo de agotamiento de los recursos del servidor debido al exceso de solicitudes TFO entrantes.
Reducir el tamaño de la cola por defecto puede disminuir el riesgo de agotamiento de los recursos del servidor debido a un exceso de solicitudes TFO entrantes. Sin embargo, los tamaños pequeños de las colas también pueden reducir el efecto de TFO en el rendimiento de la red.
El tamaño mínimo de la cola es
0. Una cola de0desactiva efectivamente el TFO.
Este parámetro no tiene efecto en los sistemas operativos del host que no ofrecen soporte o no están configurados para conexiones TFO.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
disableJavaScriptJITDisponible solo para
mongod.El motor JavaScript de MongoDB utiliza SpiderMonkey, que implementa la compilación Just-in-Time (JIT) para mejorar el rendimiento al ejecutar scripts.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Para habilitar el JIT, configure
disableJavaScriptJITfalseen, como en el siguiente ejemplo:db.adminCommand( { setParameter: 1, disableJavaScriptJIT: false } ) Nota
$wherereutilizará los contextos del intérprete de JavaScript existentes, por lo que los cambios endisableJavaScriptJITpueden no tener efecto inmediatamente para estas operaciones.Alternativamente, puede habilitar el JIT en el momento del inicio iniciando la
mongodinstancia con la siguiente opción:mongod --setParameter disableJavaScriptJIT=false
indexMaxNumGeneratedKeysPerDocumentNovedades en la versión 5.3.
Por defecto: 100000
Limita el número máximo de claves generadas para un documento para evitar errores de falta de memoria. Es posible aumentar el límite, pero si una operación requiere más claves de las que especifica el parámetro
indexMaxNumGeneratedKeysPerDocument, la operación fallará.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
maxIndexBuildMemoryUsageMegabytesPor defecto: 200
Limita la cantidad de memoria que las compilaciones simultáneas de índices en una colección pueden consumir durante las compilaciones. La cantidad de memoria especificada se comparte entre todos los índices compilados mediante un único comando o su asistente
createIndexesdedb.collection.createIndexes()shell.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
La memoria consumida por la creación de un índice es independiente de la memoria caché de WiredTiger
cacheSizeGB(consulte).maxIndexBuildMemoryUsageMegabytesEstablece un límite en la cantidad de memoria que la compilación del índice usa simultáneamente. Esto puede afectar el rendimiento al generar y ordenar las claves del índice. Aumentar el límite de memoria mejora el rendimiento de la ordenación durante la compilación del índice.La creación de índices puede iniciarse mediante un comando de usuario, como "Crear índice", o mediante un proceso administrativo, como una sincronización inicial. Ambos están sujetos al límite establecido
maxIndexBuildMemoryUsageMegabytespor.Una operación de sincronización inicial rellena solo una colección a la vez y no existe riesgo de exceder el límite de memoria. Sin embargo, es posible que un usuario inicie compilaciones de índices en varias colecciones de varias bases de datos simultáneamente y potencialmente consuma una cantidad de memoria superior al límite establecido
maxIndexBuildMemoryUsageMegabytesen.Tip
Para minimizar el impacto de la creación de un índice en conjuntos de réplicas y clústeres fragmentados con fragmentos de conjuntos de réplicas, utilice un procedimiento de creación de índice continuo como se describe en Creaciones de índice continuo en conjuntos de réplicas.
Advertencia
Evita realizar procesos de creación de índices en modo continuo y replicado al mismo tiempo, ya que podría generar problemas inesperados, como compilaciones fallidas y bucles de fallos.
Cambiar
maxIndexBuildMemoryUsageMegabytesno afecta la compilación de un índice en curso si ya se ha iniciado un análisis de colección. Sin embargo, una reconfiguración forzada del conjunto de réplicas reinicia el análisis de colección y utiliza elmaxIndexBuildMemoryUsageMegabytesmás reciente proporcionado.Para la versión de compatibilidad de funciones (fcv)
"4.2"y posteriores, el límite de memoria de compilación de índice se aplica a todas las compilaciones de índice.
reportOpWriteConcernCountersInServerStatusPor defecto: false
Una bandera booleana que determina si el método
db.serverStatus()y el comandoserverStatusdevuelven informaciónopWriteConcernCounters. [1]mongod --setParameter reportOpWriteConcernCountersInServerStatus=true [1] Habilitar reportOpWriteConcernCountersInServerStatuspuede tener un impacto negativo en el rendimiento; específicamente, cuando se ejecuta sin TLS.
watchdogPeriodSecondsDisponible solo para
mongod.Tipo: entero
Por defecto: -1 (deshabilitado)
Determina con qué frecuencia el Watchdog de nodo de almacenamiento verifica el estado de los sistemas de archivos supervisados:
El directorio
--dbpathEl
journaldirectorio dentro del--dbpathdirectorio si estájournalinghabilitadoEl directorio del archivo
--logpathEl directorio del archivo
--auditPath
Los valores válidos para
watchdogPeriodSecondsson:-1(por defecto), para deshabilitar/pausar el Watchdog de nodo de almacenamiento, oUn entero mayor o igual a 60.
Nota
Si un sistema de archivos en un directorio supervisado no responde, puede tardar un máximo de casi el doble del valor de
watchdogPeriodSecondspara terminar elmongod.Si alguno de sus directorios supervisados es un enlace simbólico a otros volúmenes, el Watchdog del nodo de almacenamiento no supervisa el destino del enlace simbólico. Por ejemplo, si el
mongodutilizastorage.directoryPerDB: true(o--directoryperdb) y crea un enlace simbólico de un directorio de base de datos a otro volumen, el Watchdog del nodo de almacenamiento no sigue el enlace simbólico para supervisar el objetivo.
Para habilitar Storage Node Watchdog,
watchdogPeriodSecondsdebe configurarse durante el inicio.mongod --setParameter watchdogPeriodSeconds=60 Solo se puede habilitar el Vigilante del Nodo de Almacenamiento al inicio. Sin embargo, una vez habilitado, se puede pausar o cambiar el durante
watchdogPeriodSecondsla ejecución.Una vez habilitado,
Para pausar el Watchdog del nodo de almacenamiento durante el tiempo de ejecución, configure
watchdogPeriodSecondsen1 -.db.adminCommand( { setParameter: 1, watchdogPeriodSeconds: -1 } ) Para reanudar o cambiar el período durante el tiempo de ejecución, establezca en un número mayor o
watchdogPeriodSecondsigual 60 a.db.adminCommand( { setParameter: 1, watchdogPeriodSeconds: 120 } )
Nota
Es un error configurar en
watchdogPeriodSecondstiempo de ejecución si el sistema de vigilancia del nodo de almacenamiento no estaba habilitado en el momento de inicio.
tcmallocAggressiveMemoryDecommitTipo: entero (solo
01o)Por defecto: 0
Si habilita
tcmallocAggressiveMemoryDecommit, MongoDB:libera una porción de memoria al sistema y
intenta devolver todos los fragmentos libres vecinos.
Un valor de
1habilitatcmallocAggressiveMemoryDecommit;0deshabilita este parámetro.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Si habilita este parámetro, el sistema requerirá nuevas asignaciones de memoria para su uso. Considere habilitar
tcmallocAggressiveMemoryDecommitsolo en sistemas con limitaciones de memoria y después de considerar otras opciones de memoria y rendimiento.A pesar de la posible degradación del rendimiento al
tcmallocAggressiveMemoryDecommitutilizar, a menudo se prefiere al usotcmallocReleaseRatede.
tcmallocReleaseRatePor defecto: 1.0
Especifica la tasa de liberación de tcmalloc(TCMALLOC_RELEASE_RATE). Según https://gperftools.github.io/gperftools/tcmalloc.html#runtime, TCMALLOC_RELEASE_RATE se describe como la "tasa a la que liberamos memoria no utilizada al sistema, mediante madvise(MADV_DONTNEED), en sistemas compatibles. Un valor cero significa que nunca liberamos memoria al sistema. Aumente este indicador para que la memoria se devuelva más rápido; redúzcalo para que se devuelva más lento. Las tasas razonables se encuentran en el rango0 [,]."10
Nota
Considere utilizar
tcmallocAggressiveMemoryDecommiten lugar de, a menos que observe una degradación significativa del rendimientotcmallocReleaseRatealtcmallocAggressiveMemoryDecommitutilizar.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Para modificar la tasa de liberación durante el tiempo de ejecución, puede utilizar el comando; por
setParameterejemplo:db.adminCommand( { setParameter: 1, tcmallocReleaseRate: 5.0 } ) También puede configurar
tcmallocReleaseRateal inicio. Por ejemplo:mongod --setParameter "tcmallocReleaseRate=5.0"
fassertOnLockTimeoutForStepUpDownNovedades en la versión 5.3.
Por defecto: 15 segundos
Disponible tanto para
mongodcomo paramongos.Permite que un servidor que recibe una solicitud para aumentar o disminuir su capacidad termine si no puede cumplir (por ejemplo, debido a discos defectuosos del servidor) dentro del tiempo de espera. Esto permite a un clúster elegir con éxito un nuevo nodo primario y, por lo tanto, seguir estando disponible.
fassertOnLockTimeoutForStepUpDownEl valor por defecto es de 15 segundos. Para deshabilitar que los nodos realicen fasserting, establecefassertOnLockTimeoutForStepUpDown=0.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo deshabilita los nodos de fasserting:
mongod --setParameter fassertOnLockTimeoutForStepUpDown=0
Parámetros de registro
logLevelDisponible tanto para
mongodcomo paramongos.Por defecto: 0 (informativo)
Especifique un número entero entre
0y5que indique el nivel de verbosidad del registro, donde5es el más detallado. [2]Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo establece el
logLevela2:db.adminCommand( { setParameter: 1, logLevel: 2 } ) [2] A partir de la versión 4.2, MongoDB incluye el nivel de verbosidad de depuración (1-5) en los mensajes de registro. Por ejemplo, si el nivel de verbosidad es 2, MongoDB registra D2. En versiones anteriores, los mensajes de registro de MongoDB solo especificabanDpara el nivel de depuración.
logComponentVerbosityDisponible tanto para
mongodcomo paramongos.Por defecto: 0
Configura los niveles de verbosidad de varios componentes para los mensajes de registro. El nivel de verbosidad determina la cantidad de mensajes informativos y de depuración que MongoDB emite. [3]
El nivel de verbosidad puede variar de
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
Para un componente, también puede especificar
-1para heredar el nivel de verbosidad del principal.Para especificar el nivel de verbosidad, utiliza un documento similar al siguiente:
{ verbosity: <int>, <component1>: { verbosity: <int> }, <component2>: { verbosity: <int>, <component3>: { verbosity: <int> } }, ... } Para los componentes, puede especificar solo el
<component>: <int>en el documento, a menos que esté configurando tanto el nivel de verbosidad del componente principal como el de los secundarios:{ verbosity: <int>, <component1>: <int> , <component2>: { verbosity: <int>, <component3>: <int> } ... } El campo
verbosityde nivel superior corresponde asystemLog.verbosity, que establece el nivel por defecto para todos los componentes. El valor por defecto desystemLog.verbosityes0.Los componentes se corresponden con las siguientes configuraciones:
A menos que se establezca explícitamente, el componente tiene el nivel de verbosidad de su principal. Por ejemplo,
storagees el principal destorage.journal. Es decir, si especifica un nivel de verbosidadstorage, este nivel también se aplica a:Componentes
storage.journala menos que especifique el nivel de verbosidad parastorage.journal.Componentes
storage.recoverya menos que especifique el nivel de verbosidad parastorage.recovery.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, lo siguiente configura el
default verbosity levela1, elquerya2, elstoragea2, y elstorage.journala1.db.adminCommand( { setParameter: 1, logComponentVerbosity: { verbosity: 1, query: { verbosity: 2 }, storage: { verbosity: 2, journal: { verbosity: 1 } } } } ) También puedes establecer el parámetro
logComponentVerbosityal inicio, pasando el documento del nivel de verbosidad como un string.mongod --setParameter "logComponentVerbosity={command: 3}" mongoshtambién proporciona eldb.setLogLevel()para establecer el nivel de registro de un solo componente. Para conocer las distintas formas de establecer el nivel de verbosidad del registro, consulte Configurar los niveles de verbosidad del registro.[3] A partir de la versión 4.2, MongoDB incluye el nivel de verbosidad de depuración (1-5) en los mensajes de registro. Por ejemplo, si el nivel de verbosidad es 2, MongoDB registra D2. En versiones anteriores, los mensajes de registro de MongoDB solo especificabanDpara el nivel de depuración.
maxLogSizeKBDisponible tanto para
mongodcomo paramongos.Tipo: entero no negativo
Por defecto: 10
Especifica el tamaño máximo, en kilobytes, para un campo de atributo individual en una entrada de registro; los atributos que superen este límite se truncarán.
Los campos de atributos truncados imprimen el contenido del campo hasta el
maxLogSizeKBlímite y eliminan el contenido del campo más allá de ese límite, manteniendo el formato JSON válido. Las entradas de registro que contienen atributos truncados agregan un objetotruncatedal final de la entrada del registro.Consulta truncamiento de mensajes de registro para obtener más información.
Un valor de
0desactiva por completo la truncación. Los valores negativos para este parámetro no son válidos.Advertencia
Utilizar un valor grande, o desactivar el truncamiento con un valor de
0, puede afectar negativamente al rendimiento del sistema y tener un impacto negativo en las operaciones de la base de datos.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo establece el tamaño máximo de la línea de registro a
20kilobytes:mongod --setParameter maxLogSizeKB=20
quietDisponible tanto para
mongodcomo paramongos.Establece el modo de registro silencioso. Si es
1,mongodentrará en un modo de registro silencioso que no registrará los siguientes eventos/actividades:eventos de conexión;
el comando
drop, el comandodropIndexes, el comandovalidate; yactividades de sincronización de replicación.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Considere el siguiente ejemplo que establece el parámetro
quieta1:db.adminCommand( { setParameter: 1, quiet: 1 } )
redactClientLogDataDisponible tanto para
mongodcomo paramongos.Tipo: booleano
Nota
Característica de la empresa
Disponible solamente en MongoDB Enterprise.
Configura el
mongodo elmongospara redactar cualquier mensaje que acompañe a un evento de registro determinado antes de registrarlo. Esto impide que el programa escriba datos potencialmente sensibles almacenados en la base de datos en el registro de diagnóstico. Los metadatos, como los códigos de error u operación, las cantidades de líneas y los nombres de los archivos fuente, siguen siendo visibles en los registros.Utilice
redactClientLogDataen conjunto con Cifrado en Reposo y TLS/SSL (Cifrado de Transporte) para ayudar al cumplimiento de los requisitos regulatorios.Para habilitar la restricción de registro al iniciar, puede:
Inicia
mongodcon la opción--redactClientLogData:mongod --redactClientLogData Establezca la opción
security.redactClientLogDataen el archivo de configuración:security: redactClientLogData: true ...
No puede usar la opción
--setParameterpara configurarredactClientLogDataal inicio.Para permitir la restricción de registro en un
mongodomongosen ejecución, utiliza el siguiente comando:db.adminCommand( { setParameter: 1, redactClientLogData : true } )
traceExceptionsDisponible tanto para
mongodcomo paramongos.Configura
mongodpara registrar el rastreo completo de la pila de código fuente para cada excepción de C++ de base de datos y socket, para usarlo en la depuración. Si estrue,mongodregistrará rastreos completos de la pila.Este parámetro solo está disponible en tiempo de ejecución. Para establecer el parámetro, utilice el comando
setParameter.Considera el siguiente ejemplo que establece
traceExceptionsentrue:db.adminCommand( { setParameter: 1, traceExceptions: true } )
suppressNoTLSPeerCertificateWarningDisponible tanto para
mongodcomo paramongos.Tipo: booleano
Por defecto: false
Por defecto, un
mongodomongoscon TLS/SSL habilitado ynet.ssl.allowConnectionsWithoutCertificates:truepermite a los clientes conectarse sin proporcionar un certificado para la validación mientras se registra una advertencia. EstablezcasuppressNoTLSPeerCertificateWarningen1otruepara suprimir esas advertencias.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.La siguiente operación establece
suppressNoTLSPeerCertificateWarningatrue:db.adminCommand( { setParameter: 1, suppressNoTLSPeerCertificateWarning: true} )
Parámetros de diagnóstico
Para facilitar el análisis del comportamiento del servidor MongoDB por parte de los ingenieros de MongoDB, este realiza un registro de estadísticas del servidor en archivos de diagnóstico a intervalos periódicos.
Para mongod, los archivos de datos de diagnóstico se almacenan en el directorio diagnostic.data en la instancia mongod de --dbpath o storage.dbPath.
Para mongos, los archivos de datos de diagnóstico, por defecto, se almacenan en un directorio bajo la instancia mongos en el --logpath o en el directorio systemLog.path. El directorio de datos de diagnóstico se calcula truncando las extensiones de archivo del logpath y concatenando diagnostic.data al nombre restante.
Por ejemplo, si mongos tiene --logpath
/var/log/mongodb/mongos.log.201708015, entonces el directorio de datos de diagnóstico es el directorio /var/log/mongodb/mongos.diagnostic.data/. Para especificar un directorio de datos de diagnóstico diferente para mongos, establece el parámetro diagnosticDataCollectionDirectoryPath.
Los siguientes parámetros admiten la captura de datos de diagnóstico (FTDC):
Nota
Los valores por defecto para el intervalo de captura de datos de diagnóstico y los tamaños máximos se eligen para proporcionar datos útiles a los ingenieros de MongoDB con un impacto mínimo en el rendimiento y en el tamaño de almacenamiento. Normalmente, estos valores solo necesitarán modificaciones a petición de los ingenieros de MongoDB para fines de diagnóstico específicos.
diagnosticDataCollectionEnabledDisponible tanto para
mongodcomo paramongos.Tipo: booleano
Por defecto: true
Determina si se debe habilitar la recopilación y el registro de datos con fines de diagnóstico. El registro de diagnóstico está habilitado por defecto.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, lo siguiente desactiva la colección de diagnósticos:
mongod --setParameter diagnosticDataCollectionEnabled=false
diagnosticDataCollectionDirectoryPathTipo: string
Disponible solo para
mongos.Advertencia
Si la captura de datos de diagnóstico en tiempo completo (FTDC) está deshabilitada con
diagnosticDataCollectionEnabledo sisystemLog.destinationestá configurada ensyslog, debes reiniciarmongosdespués de configurardiagnosticDataCollectionDirectoryPath.Especifique el directorio para el directorio de diagnóstico de
mongos. Si el directorio no existe,mongoscreará el directorio.Si no se especifica, el directorio de datos de diagnóstico se calcula truncando la extensión de archivo de la instancia
mongos--logpathosystemLog.pathy concatenandodiagnostic.data.Por ejemplo, si
mongostiene--logpath /var/log/mongodb/mongos.log.201708015, entonces el directorio de datos de diagnóstico es/var/log/mongodb/mongos.diagnostic.data/.Si el
mongosno puede crear el directorio especificado, la captura de datos de diagnóstico se desactiva para esa instancia.mongospodría no ser capaz de crear el directorio especificado si ya existe un archivo con el mismo nombre en la ruta o si el proceso no tiene permisos para crear el directorio.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
diagnosticDataCollectionDirectorySizeMBDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 200
Especifica el tamaño máximo, en megabytes, del directorio
diagnostic.data. Si el tamaño del directorio supera este número, los archivos de diagnóstico más antiguos del directorio se borran automáticamente según la marca de tiempo en el nombre del archivo.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, el siguiente comando establece el tamaño máximo del directorio a
250megabytes:mongod --setParameter diagnosticDataCollectionDirectorySizeMB=250 El valor mínimo para
diagnosticDataCollectionDirectorySizeMBes10megabytes.diagnosticDataCollectionDirectorySizeMBdebe ser mayor que el tamaño máximo del archivo de diagnósticodiagnosticDataCollectionFileSizeMB.
diagnosticDataCollectionFileSizeMBDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 10
Especifica el tamaño máximo, en megabytes, de cada archivo de diagnóstico. Si el archivo supera el tamaño máximo permitido, MongoDB crea un nuevo archivo.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, el siguiente establece el tamaño máximo de cada archivo de diagnóstico en
20megabytes:mongod --setParameter diagnosticDataCollectionFileSizeMB=20 El valor mínimo para
diagnosticDataCollectionFileSizeMBes1megabyte.
diagnosticDataCollectionPeriodMillisDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 1000
Especifica el intervalo, en milisegundos, a intervalos en los que se deben recopilar los datos de diagnóstico.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, el siguiente establece el intervalo a
5000milisegundos o 5 segundos:mongod --setParameter diagnosticDataCollectionPeriodMillis=5000 El valor mínimo para
diagnosticDataCollectionPeriodMillises100milisegundos.
Replicación y coherencia
connectTimeoutMsDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 10000
Establece el tiempo de espera de la conexión en milisegundos para el supervisor del set de réplicas.
Este parámetro solo está disponible al inicio. Si establece este parámetro, debe ser mayor o igual a 500.
El siguiente ejemplo establece
connectTimeoutMspara una instancia demongoda 700 milisegundos:mongod --setParameter connectTimeoutMs=700
disableSplitHorizonIPCheckNovedades en la versión 5.0.0.
Disponible tanto para
mongodcomo paramongos.Tipo: booleano
Por defecto: false
Para configurar los nodos del clúster para DNS de horizonte dividido, utiliza nombres de host en lugar de direcciones IP.
A partir de MongoDB v5.0, replSetInitiate y replSetReconfig rechazarán las configuraciones que utilicen direcciones IP en lugar de nombres de host.
Utiliza disableSplitHorizonIPCheck para modificar nodos que no se pueden actualizar para usar nombres de host. El parámetro solo se aplica a los comandos de configuración.
mongod y mongos no dependen de disableSplitHorizonIPCheck para la validación al inicio. Las instancias mongod y mongos heredadas que utilizan direcciones IP en lugar de nombres de host pueden iniciarse después de una actualización.
Las instancias configuradas con direcciones IP generan un registro de advertencia para que se usen nombres de host en lugar de direcciones IP.
Para configurar los nodos del clúster para DNS de horizonte dividido, utiliza nombres de host en lugar de direcciones IP.
A partir de MongoDB v5.0, replSetInitiate y replSetReconfig rechazarán las configuraciones que utilicen direcciones IP en lugar de nombres de host.
Utiliza disableSplitHorizonIPCheck para modificar nodos que no se pueden actualizar para usar nombres de host. El parámetro solo se aplica a los comandos de configuración.
mongod y mongos no dependen de disableSplitHorizonIPCheck para la validación al inicio. Las instancias mongod y mongos heredadas que utilizan direcciones IP en lugar de nombres de host pueden iniciarse después de una actualización.
Las instancias configuradas con direcciones IP generan un registro de advertencia para que se usen nombres de host en lugar de direcciones IP.
Para permitir cambios de configuración mediante direcciones IP, configure disableSplitHorizonIPCheck=true con la línea de comandos:
/usr/local/bin/mongod --setParameter disableSplitHorizonIPCheck=true -f /etc/mongod.conf
Para permitir cambios de configuración mediante direcciones IP, configure disableSplitHorizonIPCheck=true utilizando el archivo de configuración del nodo:
setParameter: disableSplitHorizonIPCheck: true
Si intenta actualizar disableSplitHorizonIPCheck en tiempodb.adminCommand() de ejecución, devuelve un error:
db.adminCommand( { setParameter: 1, "disableSplitHorizonIPCheck": true } ) MongoServerError: not allowed to change [disableSplitHorizonIPCheck] at runtime
enableOverrideClusterChainingSettingNuevo en la versión 5.0.2.
Disponible tanto para
mongodcomo paramongos.Tipo: booleano
Por defecto: false
Si
enableOverrideClusterChainingSettingestátrue, los miembros secundarios del Set de réplicas pueden replicar datos de otros miembros secundarios incluso sisettings.chainingAllowedestáfalse.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, para establecer el
enableOverrideClusterChainingSettingpara una instancia demongodatrue:mongod --setParameter enableOverrideClusterChainingSetting=true
heartBeatFrequencyMsDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 10000
Cuando
replicaSetMonitorProtocolse establece en'sdam',heartBeatFrequencyMsdetermina cuánto tiempo, en milisegundos, se espera entre las solicitudes dehello.Cuando
replicaSetMonitorProtocolse establece en'streamable',heartBeatFrequencyMsdetermina cuánto tiempo, en milisegundos, se debe esperar entre las mediciones de tiempo de ida y vuelta (RTT) dehello. Las mediciones de RTT se utilizan en la selección de servidores.Este parámetro solo está disponible al inicio. Si establece este parámetro, debe ser mayor o igual a 500.
El siguiente ejemplo configura
heartBeatFrequencyMsen una instancia demongoda 700 milisegundos:mongod --setParameter heartBeatFrequencyMs=700
logicalSessionRefreshMillisDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 300000 (5 minutos)
El intervalo (en milisegundos) en el que la caché actualiza sus registros lógicos de sesión en comparación con el almacén principal de la sesión.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, para establecer el
logicalSessionRefreshMillispara una instancia demongoda 10 minutos:mongod --setParameter logicalSessionRefreshMillis=600000
localLogicalSessionTimeoutMinutesDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 30
Advertencia
Solo para fines de prueba
Este parámetro está destinado únicamente a fines de prueba y no para uso en producción.
El tiempo en minutos que una sesión permanece activa después de su uso más reciente. Las sesiones que no hayan recibido una nueva operación de lectura/guardado del cliente o que no se hayan actualizado con
refreshSessionsdentro de este umbral se eliminan de la caché. El servidor puede limpiar el estado asociado a una sesión caducada en cualquier momento.Este parámetro se aplica solo a la instancia en la que está configurado. Para establecer este parámetro en sets de réplicas y clústeres particionados, debe especificar el mismo valor en cada nodo. De lo contrario, las sesiones no funcionarán correctamente.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, para establecer el
localLogicalSessionTimeoutMinutespara una instancia de pruebamongoda 20 minutos:mongod --setParameter localLogicalSessionTimeoutMinutes=20
localThresholdMsDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 15
Define la longitud de la ventana de latencia utilizada en la selección del servidor en milisegundos.
Este parámetro solo está disponible al inicio. Si establece este parámetro, debe ser mayor o igual a 0.
El siguiente ejemplo establece
localThresholdMspara una instancia demongoda 20 milisegundos:mongod --setParameter localThresholdMs=20
maxAcceptableLogicalClockDriftSecsDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 31536000 (1 año)
La cantidad máxima en la que se puede adelantar el tiempo del clúster actual; específicamente,
maxAcceptableLogicalClockDriftSecses la diferencia máxima entre el nuevo valor del tiempo del clúster y el tiempo del clúster actual. El tiempo de clúster es un tiempo lógico utilizado para el ordenamiento de operaciones.No puede avanzar el tiempo del clúster a un nuevo valor si el nuevo tiempo del clúster difiere del tiempo actual del clúster en más de
maxAcceptableLogicalClockDriftSecs.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, para establecer el
maxAcceptableLogicalClockDriftSecspara una instancia demongoda 15 minutos:mongod --setParameter maxAcceptableLogicalClockDriftSecs=900
maxSessionsDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 1000000
La cantidad máxima de sesiones que se pueden almacenar en caché.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, para establecer el
maxSessionspara una instancia demongoda 1000:mongod --setParameter maxSessions=1000
oplogBatchDelayMillisNovedades en la versión 6.0.
Disponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 0
La cantidad de milisegundos para demorar la aplicación de agrupación de operaciones oplog en nodos secundarios. Por defecto,
oplogBatchDelayMillises0, lo que significa que las agrupaciones de oplog se aplican sin demoras. Cuando no hay demoras, MongoDB puede aplicar las agrupaciones pequeñas y frecuentes de oplog a los secundarios.Aumentar
oplogBatchDelayMillishace que MongoDB aplique lotes de registros de operaciones con menos frecuencia en los secundarios, y cada lote contiene mayores cantidades de datos. Esto reduce IOPS en secundarias, pero agrega latencia para escrituras con preocupación de"majority"escritura.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, ejecute el siguiente comando para establecer el
oplogBatchDelayMillispara una instancia demongoden 20 milisegundos:mongod --setParameter oplogBatchDelayMillis=20
periodicNoopIntervalSecsDisponible solo para
mongod.Tipo: entero
Por defecto: 10
La duración en segundos entre las escrituras noop en cada nodo individual.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Nota
Para modificar este valor para un clúster de MongoDB Atlas, debe ponerse en contacto con el soporte de Atlas.
El siguiente ejemplo configura el
periodicNoopIntervalSecsa 1 segundo durante la iniciación:mongod --setParameter periodicNoopIntervalSecs=1
replicaSetMonitorProtocolDisponible tanto para
mongodcomo paramongos.Tipo: string
Por defecto: "transmitible"
Determina qué protocolo de la supervisión del set de réplicas se debe utilizar. Puedes establecer este parámetro en
"streamable", que cumple con la especificación de descubrimiento y supervisión de servidores (SDAM) y permite solicitudeshelloconstantes. También puedes establecer este parámetro en"sdam", que cumple con la especificación SDAM.Este parámetro solo está disponible al inicio.
El siguiente ejemplo establece
replicaSetMonitorProtocolen"sdam"en una instancia demongod:mongod --setParameter replicaSetMonitorProtocol='sdam'
storeFindAndModifyImagesInSideCollectionNuevo en la versión 5.0.
Disponible tanto para
mongodcomo paramongos.Tipo: booleano
Por defecto: true
Determina si los documentos temporales necesarios para los comandos reintentables se
findAndModifyalmacenan en la colección lateralconfig.image_collection().Si
storeFindAndModifyImagesInSideCollectiones:true, los documentos temporales se almacenan en la colección lateral.falseLos documentos temporales se almacenan en el registro de operaciones del conjunto de réplicas.
Mantenga
storeFindAndModifyImagesInSideCollectionestablecido entruesi usted:Tiene una gran carga de
findAndModifytrabajo reintentable.Se requiere más espacio de documento temporal para comandos que se puedan volver a intentar que el que está disponible en el registro de operaciones
findAndModifydel conjunto de réplicas.
Nota
Los secundarios pueden experimentar un mayor uso de CPU
storeFindAndModifyImagesInSideCollectioncuandotruees.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, para establecer
storeFindAndModifyImagesInSideCollectionenfalsedurante el inicio:mongod --setParameter storeFindAndModifyImagesInSideCollection=false Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, storeFindAndModifyImagesInSideCollection: false } )
TransactionRecordMinimumLifetimeMinutesDisponible solo para
mongod.Tipo: entero
Por defecto: 30
El tiempo mínimo que un registro de transacción permanece en la colección
transactionsantes de que el registro sea elegible para la limpieza.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, para establecer el
TransactionRecordMinimumLifetimeMinutespara una instancia demongoda 20 minutos:mongod --setParameter TransactionRecordMinimumLifetimeMinutes=20
enableFlowControlTipo: booleano
Por defecto: true
Habilita o deshabilita el mecanismo que controla la tasa a la que el primario aplica sus guardados con el objetivo de mantener la demora de los nodos secundarios
majority committedpor debajo de un valor máximo configurable.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
flowControlTargetLagSecondsTipo: entero
Por defecto: 10
La demora máxima objetivo es
majority committedal ejecutar con control de flujo. Cuando el control de flujo está habilitado, el mecanismo intenta mantener la demoramajority committedpor debajo de los segundos especificados. El parámetro no tiene efecto si el control de flujo está deshabilitado.El valor especificado debe ser mayor que 0.
En general, la configuración por defecto debería ser suficiente. Sin embargo, si se modifica desde el valor por defecto, disminuir en lugar de aumentar el valor puede resultar más útil.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
flowControlWarnThresholdSecondsTipo: entero
Por defecto: 10
La cantidad de tiempo que se debe esperar para hacer un registro de advertencia una vez que el mecanismo de control de flujo detecta que el punto de confirmación de la mayoría no se ha movido.
El valor especificado debe ser mayor o igual a 0, con 0 para desactivar las advertencias.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
initialSyncTransientErrorRetryPeriodSecondsTipo: entero
Por defecto: 86400
La cantidad de tiempo en segundos que un secundario que realiza la sincronización inicial intenta reanudar el proceso si es interrumpido por un error transitorio de red. El valor por defecto es equivalente a 24 horas.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
initialSyncSourceReadPreferenceDisponible solo para
mongod.Tipo: string
La fuente preferida para realizar la sincronización inicial. Especifique uno de los siguientes modos de preferencia de lectura:
primaryPreferred(Por defecto para los miembros votantes del set de réplicas)nearest(por defecto para los nodos recién agregados o no votantes del set de réplicas)
Si el set de réplicas ha deshabilitado
chaining, el modo de preferencia de lectura por defectoinitialSyncSourceReadPreferenceesprimary.No puede especificar un conjunto de etiquetas o
maxStalenessSecondsparainitialSyncSourceReadPreference.Si el
mongodno puede encontrar una fuente de sincronización basada en la preferencia de lectura especificada, registra un error y reinicia el proceso de sincronización inicial. Elmongodtermina con un error si no puede completar el proceso de sincronización inicial después de10intentos. Para obtener más información sobre la selección de la fuente de sincronización, consulte la Selección de la fuente de sincronización inicial.initialSyncSourceReadPreferencetiene prioridad sobre la configuraciónsettings.chainingAlloweddel conjunto de réplicas al seleccionar una fuente de sincronización inicial. Después de que un miembro del set de réplicas complete con éxito la sincronización inicial, se remite al valor dechainingAllowedal seleccionar una fuente de sincronización de replicación.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
initialSyncMethodNuevo en la versión 5.2.
Disponible solo para
mongod.Tipo: string
Por defecto:
logicalDisponible únicamente en MongoDB Enterprise.
Método utilizado para la sincronización inicial.
Establezca en
logicalpara usar la sincronización inicial lógica. Establezca enfileCopyBasedpara usar la sincronización inicial basada en copia de archivos.Este parámetro solo afecta al método de sincronización de los nodos en los que se especifica. Configurar este parámetro en un único nodo del set de réplicas no afecta el método de sincronización de ningún otro nodo del set de réplicas.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
maxNumSyncSourceChangesPerHourNuevo en la versión 5.0.
Tipo: entero
Por defecto: 3
Las fuentes de sincronización se evalúan cada vez que se actualiza una fuente de sincronización y cada vez que un nodo obtiene un lote de entradas de oplog. Si hay más de
maxNumSyncSourceChangesPerHourcambios en la fuente en una hora, el nodo deja temporalmente de reevaluar esa fuente de sincronización. Si este parámetro se establece con un valor alto, es posible que el nodo realice cambios innecesarios en la fuente.Este parámetro no impedirá que un nodo comience a sincronizarse desde otro nodo si no tiene una fuente de sincronización. El nodo volverá a evaluar si una fuente de sincronización se vuelve no válida. De manera similar, si el nodo primario cambia y el encadenamiento está desactivado, el nodo se actualizará para sincronizarse con el nuevo nodo primario.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
oplogFetcherUsesExhaustDisponible solo para
mongod.Tipo: booleano
Por defecto: true
Activa o desactiva la replicación de streaming. Establezca el valor en
truepara habilitar la replicación de streaming.Establece el valor en
falsepara desactivar la replicación de streaming. Si está deshabilitado, los secundarios obtienen lotes de entradas de oplog al enviar una solicitud a su sincronización desde la fuente y esperar una respuesta. Esto requiere un recorrido de ida y vuelta a la red para cada agrupación de entradas de oplog.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
oplogInitialFindMaxSecondsTipo: entero
Por defecto: 60
Disponible solo para
mongod.Tiempo máximo en segundos para que un nodo de un set de réplicas espere a que el comando
findtermine durante la sincronización de datos.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
replWriterThreadCountTipo: entero
Por defecto: 16
Disponible solo para
mongod.Número máximo de hilos que se deben utilizar para aplicar operaciones replicadas en paralelo. Los valores pueden estar en el rango de 1 a 256 inclusive. Sin embargo, el número máximo de hilos utilizados está limitado a dos veces el número de núcleos disponibles.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
replWriterMinThreadCountNuevo en la versión 5.0.
Tipo: entero
Por defecto: 0
Disponible solo para
mongod.Número mínimo de hilos que se deben utilizar para aplicar operaciones replicadas en paralelo. Los valores pueden estar en el rango de 0 a 256 inclusive. Solo puede configurar
replWriterMinThreadCountal inicio y no puede cambiar esta configuración con el comandosetParameter.La aplicación paralela de las operaciones de replicación utiliza hasta
replWriterThreadCountsubprocesos. SireplWriterMinThreadCountse configura con un valor inferior areplWriterThreadCount, el grupo de subprocesos agotará los subprocesos inactivos hasta que la cantidad total de subprocesos en el grupo sea igual areplWriterMinThreadCount.replWriterMinThreadCountdebe configurarse con un valor que sea menor o igual areplWriterThreadCount.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
rollbackTimeLimitSecsTipo: entero de 64 bits
Por defecto: 86400 (1 día)
Antigüedad máxima de los datos que se pueden deshacer. Los valores negativos para este parámetro no son válidos.
Si el tiempo entre el final del oplog de la instancia que se va a revertir y la primera operación después del punto común (el último punto donde el nodo de origen y el nodo que se va a revertir tenían los mismos datos) supera este valor, el rollback fallará.
Para tener efectivamente un periodo de rollback ilimitado, fije el valor a
2147483647, que es el valor máximo permitido y equivale a aproximadamente 68 años.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
waitForSecondaryBeforeNoopWriteMSDisponible solo para
mongod.Tipo: entero
Por defecto: 10
La duración (en milisegundos) que un secundario debe esperar si el
afterClusterTimees mayor que el último tiempo aplicado del oplog. Después de que elwaitForSecondaryBeforeNoopWriteMSpase, si elafterClusterTimesigue siendo mayor que el último tiempo aplicado, el secundario realiza un guardado no operativo para avanzar el último tiempo aplicado.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo configura el
waitForSecondaryBeforeNoopWriteMSa 20 milisegundos:mongod --setParameter waitForSecondaryBeforeNoopWriteMS=20 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, waitForSecondaryBeforeNoopWriteMS: 20 } )
createRollbackDataFilesDisponible solo para
mongod.Tipo: booleano
Por defecto: true
Indicador que determina si MongoDB crea archivos de rollback que contengan documentos afectados durante un rollback.
Por defecto,
createRollbackDataFilesestruey MongoDB crea los archivos de rollback.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo configura
createRollbackDataFilesen falso para que no se creen los archivos de rollback:mongod --setParameter createRollbackDataFiles=false Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, createRollbackDataFiles: false } ) Para obtener más información, consulte la Recopilación de datos de rollback.
replBatchLimitBytesDefault: 104857600 (100MB)
Establece el tamaño máximo de la agrupación de aplicaciones del oplog en bytes.
Los valores pueden estar en un rango de 16777216 (16 MB) a 104857600 (100 MB), inclusive.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo configura
replBatchLimitBytesa 64 MB para limitar el tamaño de agrupación de la aplicación de oplog:mongod --setParameter replBatchLimitBytes=67108864 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, replBatchLimitBytes: 64 * 1024 * 1024 } )
mirrorReadsDisponible solo para
mongod.Nuevo en la versión 4.4.
Tipo: documento
Por defecto:
{ samplingRate: 0.01, maxTimeMS: 1000 }Especifica la configuración de las lecturas espejeadas para la instancia de
mongod. La configuración solo surte efecto cuando el nodo es primario.El parámetro
mirrorReadsacepta un documento JSON con los siguientes campos:CampoDescripciónsamplingRateLa tasa de muestreo utilizada para reflejar un subconjunto de operaciones que soportan la replicación a un subconjunto de secundarios elegibles (específicamente,
priority greater than 0). Es decir, los espejos primarios envían lecturas a cada secundario elegible a la tasa de muestreo especificada.Los valores válidos son:
0.0Desactiva las lecturas espejadas.
1.0El primario refleja todas las operaciones que admiten el espejado a cada secundario elegible.
Número entre
0.0y1.0(exclusivo)El nodo primario toma muestras aleatorias de cada nodo secundario elegible a la tasa especificada para enviar lecturas espejeadas.
Por ejemplo, dado un set de réplicas con un primario y dos secundarios elegibles, y una velocidad de muestreo de
0.10, el primario replica las lecturas a cada secundario elegible con una velocidad de muestreo del 10 %, de modo que una lectura puede replicarse a un secundario y no al otro, a ambos o a ninguno. Es decir, si el primario recibe100operaciones que se pueden reflejar, la velocidad de muestreo de0.10puede dar lugar a que8lecturas se reflejen en un secundario y13lecturas en el otro o10en cada uno, etc.El valor por defecto es
0.01.maxTimeMSEl tiempo máximo en milisegundos para las lecturas espejeadas. El valor por defecto es
1000.El
maxTimeMSpara las lecturas espejeadas es independiente delmaxTimeMSde la lectura original que se está espejeando.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Si lo especificas desde el archivo de configuración o desde la línea de comandos, encierra el
mirrorReadsdocumento entre comillas.Por ejemplo, lo siguiente establece la tasa de muestreo de lecturas espejo a
0.10desde la línea de comandos:mongod --setParameter mirrorReads='{ samplingRate: 0.10 }' O, para especificar en un archivo de configuración:
setParameter: mirrorReads: '{samplingRate: 0.10}' O si utiliza el comando
setParameteren una sesiónmongoshque está conectada a unmongoden ejecución, no encierre el documento entre comillas:db.adminCommand( { setParameter: 1, mirrorReads: { samplingRate: 0.10 } } )
allowMultipleArbitersDisponible solo para
mongod.Novedades en la versión 5.3.
Tipo: booleano
Por defecto: false
Especifica si el set de réplicas permite el uso de múltiples árbitros.
No se recomienda el uso de múltiples árbitros:
Varios árbitros impiden el uso confiable del nivel de confirmación de escritura de mayoría. MongoDB cuenta a los árbitros al calcular la mayoría de los miembros, pero los árbitros no almacenan datos. Al incluir varios árbitros, es posible que una operación de escritura de mayoría devuelva éxito antes de que la escritura se replique en la mayoría de los nodos que contienen datos.
Tener varios árbitros permite que los sets de réplicas acepten escrituras incluso cuando el set de réplicas no tiene suficientes secundarios para la replicación de datos.
Para obtener más información, consulta Problemas con múltiples árbitros.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.mongod --setParameter allowMultipleArbiters=true
Parámetros de partición
balancerMigrationsThrottlingMsNovedades en la 6.0.6 versión: (Tambiéndisponible a partir de 5.0.18 la)
Tipo: entero
Por defecto: 1000
Disponible solo para
mongod.Se debe especificar el tiempo mínimo entre dos rondas de balanceo consecutivas. Esto permite regular la velocidad de balanceo. Este parámetro solo surte efecto en los nodos del servidor de configuración.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Este ejemplo establece
balancerMigrationsThrottlingMsen 2000 milisegundos durante la iniciación:mongod --setParameter balancerMigrationsThrottlingMs=2000 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, balancerMigrationsThrottlingMs: 2000 } )
chunkDefragmentationThrottlingMSNovedades en la versión 5.3.
Tipo: entero
Por defecto: 0
Disponible tanto para
mongodcomo paramongos.Especifica el período de tiempo mínimo (en milisegundos) entre los comandos consecutivos de división y fusión ejecutados por el balanceador cuando se desfragmentan los fragmentos en una colección particionada.
chunkDefragmentationThrottlingMSlimita la velocidad de los comandos de división y fusión.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo establece
chunkDefragmentationThrottlingMSa10milisegundos:mongod --setParameter chunkDefragmentationThrottlingMS=10 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, chunkDefragmentationThrottlingMS: 10 } )
disableResumableRangeDeleterDisponible solo para
mongod.Tipo: booleano
Por defecto: false
Si se configura en el principal de un fragmento, especifica si se pausa la eliminación de rangos en el fragmento. Si se configura
trueen, se pausa la limpieza de los rangos de fragmentos que contienen documentos huérfanos. El fragmento puede seguir donando fragmentos a otros fragmentos, pero los documentos donados no se eliminarán de este fragmento hasta que se configure este parámetrofalseen. Este fragmento puede seguir recibiendo fragmentos de otros fragmentos siempre que no tenga una tarea de eliminación de rango pendiente en laconfig.rangeDeletionscolección que se superponga con el rango del fragmento entrante.Cuando
disableResumableRangeDeleterestrue, las migraciones de fragmentos fallan si existen documentos huérfanos en el primario del fragmento receptor en el mismo rango que los fragmentos entrantes.El parámetro no tiene efecto en el
mongodsi no es el primario del fragmento.Importante
Si estableces el parámetro
disableResumableRangeDeleterentrue, asegúrate de aplicarlo de manera consistente para todos los miembros en el set de réplicas de la partición. En caso de un error, el valor de esta configuración en el nuevo primario dicta el comportamiento del eliminador de rango.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.mongod --setParameter disableResumableRangeDeleter=false
enableShardedIndexConsistencyCheckDisponible solo para
mongod.Tipo: booleano
Por defecto: true
Si se establece en el primario del servidor de configuración, habilita o deshabilita la verificación de coherencia del índice para colecciones fragmentadas. El parámetro no tiene efecto en el
mongodsi no es el servidor de configuración primario.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo establece
enableShardedIndexConsistencyCheckafalsepara un servidor de configuración primario:mongod --setParameter enableShardedIndexConsistencyCheck=false Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, enableShardedIndexConsistencyCheck: false } ) Tip
shardedIndexConsistencyCheckIntervalMSparametershardedIndexConsistencymétricas devueltas por el comandoserverStatus.
opportunisticSecondaryTargetingNuevo en la versión 6.0.0.
Tipo: booleano
Por defecto:
falseDisponible solo para
mongos.Determina si
mongosrealiza lecturas oportunistas en conjuntos de réplicas.Cuando este parámetro se establece
trueen, dirige las lecturas secundarias a los secundarios con conexiones activas. Envía la solicitud al primer secundario que acepta la conexión. Cuando este parámetro semongosestablecefalseen,mongosretiene las lecturas secundarias hasta que puede establecer una conexión con un secundario específico (excepto en el caso de lecturas protegidas).Nota
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, para establecer
opportunisticSecondaryTargetingdurante el inicio:mongos --setParameter opportunisticSecondaryTargeting=true
shardedIndexConsistencyCheckIntervalMSDisponible solo para
mongod.Tipo: entero
Por defecto: 600000
Si se establece en el primario del servidor de configuración, el intervalo, en milisegundos, en el que el primario del servidor de configuración verifica la coherencia del índice de las colecciones fragmentadas. El parámetro no tiene efecto en el
mongodsi no es el servidor de configuración primario.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, lo siguiente establece el intervalo en 300 000 milisegundos (5 minutos) durante la iniciación:
mongod --setParameter shardedIndexConsistencyCheckIntervalMS=300000 Tip
enableShardedIndexConsistencyCheckparametershardedIndexConsistencymétricas devueltas por el comandoserverStatus
enableFinerGrainedCatalogCacheRefreshDisponible tanto para
mongodcomo paramongos.Tipo: booleano
Por defecto: true
Este parámetro permite que la caché del catálogo se actualice solo si se necesita actualizar la partición. Si está deshabilitado, cualquier fragmento obsoleto hará que toda la distribución de fragmentos para una colección se considere obsoleta y obligará a todos los enrutadores que se pongan en contacto con la partición a actualizar su caché de catálogo de particiones.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.mongod --setParameter enableFinerGrainedCatalogCacheRefresh=true mongos --setParameter enableFinerGrainedCatalogCacheRefresh=true
maxTimeMSForHedgedReadsDisponible solo para
mongos.Tipo: entero
Por defecto: 150
Especifica el límite de tiempo máximo (en milisegundos) para la lectura protegida. Es decir, la lectura adicional enviada para proteger la operación de lectura utiliza el
maxTimeMSvalor de,maxTimeMSForHedgedReadsmientras que la operación de lectura protegida utiliza elmaxTimeMSvalor especificado para la operación.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, para establecer el límite en 200 milisegundos, puede emitir lo siguiente durante el inicio:
mongos --setParameter maxTimeMSForHedgedReads=200 O si usas el comando
setParameteren una sesión demongoshque está conectada a unmongosen ejecución:db.adminCommand( { setParameter: 1, maxTimeMSForHedgedReads: 200 } )
maxCatchUpPercentageBeforeBlockingWritesNuevo en la versión 5.0.
Disponible solo para
mongod.Tipo: entero
Por defecto: 10
Para las operaciones de
moveChunkymoveRange, se especifica el porcentaje máximo de datos no transferidos permitido por el protocolo de migración (expresado como porcentaje del tamaño total del fragmento) para que pase de la fasecatchupa la fasecommit.Establecer un porcentaje de recuperación más alto puede reducir el tiempo necesario para completar la migración, con un costo de un aumento de la latencia durante las operaciones concurrentes de
upsertydelete.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Cambiado en la 7.1 versión:7.0.1 (y), puede configurar el parámetro durante el tiempo de ejecución.
Por ejemplo, para establecer el porcentaje máximo en 20, puedes emitir lo siguiente durante la iniciación:
mongod --setParameter maxCatchUpPercentageBeforeBlockingWrites=20 No se puede cambiar durante el tiempo de
maxCatchUpPercentageBeforeBlockingWritesejecución.
metadataRefreshInTransactionMaxWaitBehindCritSecMSNuevo en la versión 5.2: (También disponible a partir de las versiones 5.1.0, 5.0.4)
Tipo: entero
Por defecto: 500
Disponible solo para
mongod.Limita el tiempo que un fragmento espera para una sección crítica dentro de una transacción.
Cuando una query accede a un fragmento, una migración de fragmento o una operación DDL ya puede retener la sección crítica de la colección. Si la query encuentra que la sección crítica está ocupada, el fragmento espera hasta que se libere la sección crítica. Cuando el fragmento devuelve el control a
mongos,mongosintenta de nuevo la query. Sin embargo, si una transacción de múltiples fragmentos interactúa con una operación que toma la sección crítica en varios fragmentos, la interacción puede ocasionar un interbloqueo distribuido.metadataRefreshInTransactionMaxWaitBehindCritSecMSlimita el tiempo máximo que un fragmento espera dentro de una transacción para que se libere la sección crítica.Para reducir el tiempo máximo de espera de la sección crítica dentro de una transacción, reduce el valor de
metadataRefreshInTransactionMaxWaitBehindCritSecMS.Advertencia
Si
metadataRefreshInTransactionMaxWaitBehindCritSecMSes demasiado bajo,mongospodría utilizar todos sus intentos de reintento y devolver un error.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, para configurar
metadataRefreshInTransactionMaxWaitBehindCritSecMSa 400 milisegundos:db.adminCommand( { setParameter: 1, metadataRefreshInTransactionMaxWaitBehindCritSecMS: 400 } )
readHedgingModeDisponible solo para
mongos.Tipo: string
Predeterminado: activado
Especifica si admite lecturas cubiertas
mongospara aquellas operaciones de lectura cuya preferencia de lectura ha habilitado la opción de lectura cubierta.Los valores disponibles son:
ValorDescripciónonLa instancia admite lecturas
mongoscubiertas para operaciones de lectura cuya preferencia de lectura haya habilitado la opción de lectura cubierta.offLa instancia no admite lecturas protegidas. Es decir, no están disponibles, ni siquiera para operaciones de lectura cuya preferencia de lectura la tenga
mongoshabilitada.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, para desactivar la compatibilidad de lectura protegida para una
mongosinstancia, puede emitir lo siguiente durante el inicio:mongos --setParameter readHedgingMode=off O si usas el comando
setParameteren una sesión demongoshque está conectada a unmongosen ejecución:db.adminCommand( { setParameter: 1, readHedgingMode: "off" } )
routingTableCacheChunkBucketSizeNuevo en la versión 6.0.10.
Disponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 500
Especifica el tamaño de los compartimentos de caché de la tabla de enrutamiento utilizados para implementar la optimización de agrupación de fragmentos. Debe ser mayor que
0.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, para configurar el tamaño del bucket de fragmento de caché a
250en unmongod, emita el siguiente comando durante la iniciación:mongod --setParameter routingTableCacheChunkBucketSize=1000
shutdownTimeoutMillisForSignaledShutdownNuevo en la versión 5.0.
Tipo: entero
Por defecto: 15000
Disponible solo para
mongod.Especifica el tiempo (en milisegundos) que se debe esperar a que se completen las operaciones de base de datos en curso antes de iniciar un apagado de
mongoden respuesta a una señal deSIGTERM.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, para ajustar el tiempo a 250 milisegundos, puedes emitir lo siguiente durante la iniciación:
mongod --setParameter shutdownTimeoutMillisForSignaledShutdown=250 O si usas el comando
setParameteren una sesión demongoshque está conectada a unmongoden ejecución:db.adminCommand( { setParameter: 1, shutdownTimeoutMillisForSignaledShutdown: 250 } )
mongosShutdownTimeoutMillisForSignaledShutdownNuevo en la versión 5.0.
Tipo: entero
Por defecto: 15000
Disponible solo para
mongos.Especifica el tiempo (en milisegundos) que se debe esperar a que se completen las operaciones de base de datos en curso antes de iniciar un apagado de
mongosen respuesta a una señal deSIGTERM.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, para ajustar el tiempo a 250 milisegundos, puedes emitir lo siguiente durante la iniciación:
mongos --setParameter mongosShutdownTimeoutMillisForSignaledShutdown=250 O si usas el comando
setParameteren una sesión demongoshque está conectada a unmongosen ejecución:db.adminCommand( { setParameter: 1, mongosShutdownTimeoutMillisForSignaledShutdown: 250 } )
ShardingTaskExecutorPoolHostTimeoutMSTipo: entero
Valor por defecto: 300000 (5 minutos)
Disponible tanto para
mongodcomo paramongos.Tiempo máximo que
mongospuede estar sin comunicación con un host antes de quemongosdescarte todas las conexiones con el host.Si se establece,
ShardingTaskExecutorPoolHostTimeoutMSdebe ser mayor que la suma deShardingTaskExecutorPoolRefreshRequirementMSyShardingTaskExecutorPoolRefreshTimeoutMS. De lo contrario,mongosajusta el valor deShardingTaskExecutorPoolHostTimeoutMSpara que sea mayor que la suma.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo configura
ShardingTaskExecutorPoolHostTimeoutMSa120000durante el inicio:mongos --setParameter ShardingTaskExecutorPoolHostTimeoutMS=120000 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolHostTimeoutMS: 120000 } )
ShardingTaskExecutorPoolMaxConnectingTipo: entero
Por defecto: 2
Disponible tanto para
mongodcomo paramongos.Número máximo de conexiones iniciadoras simultáneas (incluidas las conexiones pendientes en estado de configuración/actualización) que cada pool de conexiones de TaskExecutor puede tener con una instancia de
mongod. Puedes establecer este parámetro para controlar la velocidad a la quemongosagrega conexiones a una instancia demongod.Si se establece,
ShardingTaskExecutorPoolMaxConnectingdebe ser menor o igual queShardingTaskExecutorPoolMaxSize. Si es mayor,mongosignora el valor deShardingTaskExecutorPoolMaxConnecting.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo configura
ShardingTaskExecutorPoolMaxConnectinga20durante el inicio:mongos --setParameter ShardingTaskExecutorPoolMaxConnecting=20 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxConnecting: 20 } )
ShardingTaskExecutorPoolMaxSizeTipo: entero
Por defecto: 2 64 - 1
Disponible tanto para
mongodcomo paramongos.Número máximo de conexiones salientes que cada pool de conexiones de TaskExecutor puede abrir a cualquier instancia de
mongoddada. El número máximo posible de conexiones a cualquier host dado en todos los pools de TaskExecutor es:ShardingTaskExecutorPoolMaxSize * taskExecutorPoolSize Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo configura
ShardingTaskExecutorPoolMaxSizea20durante el inicio:mongos --setParameter ShardingTaskExecutorPoolMaxSize=20 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxSize: 20 } ) mongospuede tener hastanpools de conexiones de TaskExecutor, dondenes la cantidad de núcleos. ConsultetaskExecutorPoolSize.
ShardingTaskExecutorPoolMaxSizeForConfigServersNovedades en la versión 6.0.
Tipo: entero
Por defecto: -1
Disponible tanto para
mongodcomo paramongos.Anulación opcional para
ShardingTaskExecutorPoolMaxSizepara establecer el número máximo de conexiones salientes que cada pool de conexiones de TaskExecutor puede abrir a un servidor de configuración.Cuando se establece en:
-1,ShardingTaskExecutorPoolMaxSizese utiliza. Este es el valor por defecto.un valor entero mayor que
-1, sobrescribe el número máximo de conexiones salientes que cada pool de conexiones de TaskExecutor puede abrir a un servidor de configuración.
El parámetro solo se aplica a las implementaciones fragmentadas.
El siguiente ejemplo configura
ShardingTaskExecutorPoolMaxSizea2durante el inicio, lo que establece la cantidad máxima de conexiones salientes que cada pool de conexiones de TaskExecutor puede abrir a un servidor de configuración en2:Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
mongos --setParameter ShardingTaskExecutorPoolMaxSizeForConfigServers=2 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxSizeForConfigServers: 2 } )
ShardingTaskExecutorPoolMinSizeTipo: entero
Por defecto: 1
Disponible tanto para
mongodcomo paramongos.Número mínimo de conexiones salientes que cada pool de conexiones de TaskExecutor puede abrir a cualquier instancia
mongod.ShardingTaskExecutorPoolMinSizeLas conexiones se crean la primera vez que se solicita una conexión a un nuevo host desde el grupo. Mientras el pool está inactivo, mantiene esta cantidad de conexiones hasta que pasenShardingTaskExecutorPoolHostTimeoutMSmilisegundos sin que ninguna aplicación utilice ese pool.Para una
mongosque utiliza el parámetrowarmMinConnectionsInShardingTaskExecutorPoolOnStartup, el parámetroShardingTaskExecutorPoolMinSizetambién controla cuántas conexiones a cada host de partición se establecen al iniciar la instancia demongosantes de que comience a aceptar conexiones entrantes de clientes.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo configura
ShardingTaskExecutorPoolMinSizea2durante el inicio:mongos --setParameter ShardingTaskExecutorPoolMinSize=2 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMinSize: 2 } ) mongospuede tener hastanpools de conexiones de TaskExecutor, dondenes la cantidad de núcleos. ConsultetaskExecutorPoolSize.
ShardingTaskExecutorPoolMinSizeForConfigServersNovedades en la versión 6.0.
Tipo: entero
Por defecto: -1
Disponible tanto para
mongodcomo paramongos.Anulación opcional para
ShardingTaskExecutorPoolMinSizepara establecer el número mínimo de conexiones salientes que cada pool de conexiones de TaskExecutor puede abrir a un servidor de configuración.Cuando se establece en:
-1,ShardingTaskExecutorPoolMinSizese utiliza. Este es el valor por defecto.un valor entero mayor que
-1anula la cantidad mínima de conexiones salientes que cada pool de conexiones de TaskExecutor puede abrir a un servidor de configuración.
El parámetro solo se aplica a las implementaciones fragmentadas.
El siguiente ejemplo configura
ShardingTaskExecutorPoolMinSizea2durante el inicio, lo que establece el número mínimo de conexiones salientes que cada pool de conexiones de TaskExecutor puede abrir a un servidor de configuración en2:Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
mongos --setParameter ShardingTaskExecutorPoolMinSizeForConfigServers=2 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMinSizeForConfigServers: 2 } )
ShardingTaskExecutorPoolRefreshRequirementMSTipo: entero
Por defecto: 60000 (1 minuto)
Disponible tanto para
mongodcomo paramongos.Tiempo máximo que el
mongosespera antes de intentar enviar un latido a una conexión inactiva en el grupo. Una conexión inactiva puede ser descartada durante la actualización si el grupo está por encima de su tamaño mínimo.Si se establece,
ShardingTaskExecutorPoolRefreshRequirementMSdebería ser mayor queShardingTaskExecutorPoolRefreshTimeoutMS. De lo contrario,mongosajustará el valor deShardingTaskExecutorPoolRefreshTimeoutMSpara que sea menor queShardingTaskExecutorPoolRefreshRequirementMS.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo configura
ShardingTaskExecutorPoolRefreshRequirementMSa90000durante el inicio:mongos --setParameter ShardingTaskExecutorPoolRefreshRequirementMS=90000 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolRefreshRequirementMS: 90000 } )
ShardingTaskExecutorPoolRefreshTimeoutMSTipo: entero
Por defecto: 20000 (20 segundos)
Disponible tanto para
mongodcomo paramongos.Tiempo máximo que el
mongosespera una señal de latido antes de que se agote su tiempo de espera.Si se establece,
ShardingTaskExecutorPoolRefreshTimeoutMSdebería ser menor queShardingTaskExecutorPoolRefreshRequirementMS. De lo contrario,mongosajusta el valor deShardingTaskExecutorPoolRefreshTimeoutMSpara que sea menor queShardingTaskExecutorPoolRefreshRequirementMS.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo configura
ShardingTaskExecutorPoolRefreshTimeoutMSa30000durante el inicio:mongos --setParameter ShardingTaskExecutorPoolRefreshTimeoutMS=30000 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolRefreshTimeoutMS: 30000 } )
ShardingTaskExecutorPoolReplicaSetMatchingModificado en la versión 5.0.
Disponible tanto para
mongodcomo paramongos.Tipo: string
Por defecto: "automático"
En una instancia
mongos, este parámetro establece la política que determina el límite de tamaño mínimo de sus pools de conexiones a nodos dentro de los sets de réplicas.En una instancia
mongod, este parámetro establece la política que determina el límite de tamaño mínimo de sus pools de conexiones a nodos dentro de otros sets de réplicas.Ten en cuenta que este parámetro solo gestiona las conexiones para operaciones directamente relacionadas con las solicitudes de los usuarios y las operaciones CRUD.
Los valores disponibles son:
Política de coincidenciaDescripción"automatic"(por defecto)A partir de 5.0,
"automatic"es el nuevo valor por defecto.Cuando se configura para un
mongos, la instancia sigue el comportamiento especificado para la opción"matchPrimaryNode".Cuando se configura para un
mongod, la instancia sigue el comportamiento especificado para la opción"disabled".ADVERTENCIA: Si el
ShardingTaskExecutorPoolReplicaSetMatchingestá configurado en"automatic", elreplicaSetMatchingStrategysigue describiendo la política real que se está utilizando, no"automatic". Para encontrar el valor delShardingTaskExecutorPoolReplicaSetMatching, utilizagetParameterque devuelve el valor del parámetro del servidor."matchPrimaryNode"Cuando se configura para un
mongos, el límite de tamaño mínimo del pool de conexiones de la instancia a cada secundario de un set de réplicas en el clúster (específicamente, set de réplicas de fragmentos y servidores de configuración) es igual al tamaño de su pool de conexiones al primario de ese set de réplicas.Cuando se configura para un
mongod, el límite de tamaño mínimo del pool de conexiones de la instancia a cada secundario de otro set de réplicas en el clúster (específicamente, set de réplicas de fragmento y servidores de configuración) es igual al tamaño de su pool de conexiones con el primario de ese set de réplicas.ADVERTENCIA: Si varios servidores de partición en su topología pueden experimentar una rápida afluencia de operaciones entre fragmentos, no configure esta opción en sus instancias de
mongod.En caso de una degradación del primario,
matchPrimaryNodeasegura que cualquier secundario que se convierta en primario pueda gestionar el nivel actual de lecturas y escrituras del primario."matchBusiestNode"Cuando se configura para un
mongos, el límite de tamaño mínimo del pool de conexiones de la instancia a cada nodo de un set de réplicas en el clúster (específicamente, el set de réplicas de fragmento y los servidores de configuración) es igual al mayor entre los recuentos de conexiones activas al primario y a cada nodo secundario de ese set de réplicas.Cuando se configura para un
mongod, el límite de tamaño mínimo del pool de conexiones de la instancia a cada miembro de otro set de réplicas en el clúster (específicamente, el set de réplicas de fragmento y los servidores de configuración) es igual al mayor entre los recuentos de conexiones activas al primario y a cada secundario de ese set de réplicas.Con
"matchBusiestNode",mongosmantiene suficientes conexiones con cada secundario para gestionar el nivel actual de lecturas y escrituras de primarios y secundarios. El número de conexiones que se deben mantener en el pool disminuye a medida que disminuye el número de conexiones activas."disabled"Cuando se establece para un
mongos, la cantidad mínima de conexiones de la instancia en el pool de conexiones de la instancia a cada nodo de un set de réplicas en el clúster particionado (específicamente, el set de réplicas de fragmento y los servidores de configuración) es igual alShardingTaskExecutorPoolMinSize.Cuando se configura para un
mongod, la cantidad mínima de conexiones de la instancia en el pool de conexiones de la instancia a cada nodo de otro set de réplicas en el clúster particionado (específicamente, el set de réplicas de fragmentos y los servidores de configuración) es igual alShardingTaskExecutorPoolMinSize.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo configura el
ShardingTaskExecutorPoolReplicaSetMatchinga"automatic"durante el inicio:mongod --setParameter ShardingTaskExecutorPoolReplicaSetMatching="automatic" Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolReplicaSetMatching: "automatic" } )
taskExecutorPoolSizeTipo: entero
Por defecto: 1
Disponible solo para
mongos.El número de pools de conexiones del TaskExecutor que se usará para un
mongosdado.Si el valor del parámetro es
0o menos, el número de pools de conexiones del TaskExecutor es igual al número de núcleos, con las siguientes excepciones:Si el número de núcleos es inferior a 4, el número de pools de conexiones del TaskExecutor es 4.
Si el número de núcleos es mayor que 64, el número de pools de conexión del TaskExecutor es 64.
Importante
Antes de modificar el
taskExecutorPoolSizevalor en Linux, consulte con un profesional de soporte de MongoDB. Modificar este parámetro puede causar regresiones en el rendimiento.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
mongos --setParameter taskExecutorPoolSize=6
loadRoutingTableOnStartupDisponible solo para
mongos.Tipo: booleano
Por defecto: true
Configura una instancia
mongospara precargar la tabla de enrutamiento de un clúster fragmentado durante la iniciación. Con esta configuración habilitada, elmongosalmacena en caché la tabla de enrutamiento de todo el clúster para cada colección fragmentada como parte de su procedimiento de iniciación, antes de comenzar a aceptar conexiones de clientes.Sin esta configuración habilitada, el
mongossolo carga una tabla de enrutamiento cuando es necesario para las conexiones de clientes entrantes, y solo carga la tabla de enrutamiento específica para el namespace de una solicitud dada.Una instancia de
mongoscon el parámetroloadRoutingTableOnStartuphabilitado puede experimentar tiempos de inicio más largos, pero resultará en un servicio más rápido de las conexiones iniciales de los clientes una vez iniciadas.loadRoutingTableOnStartupestá activado por defecto.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
warmMinConnectionsInShardingTaskExecutorPoolOnStartupDisponible solo para
mongos.Tipo: booleano
Por defecto: true
Configura una instancia
mongospara precalentar su pool de conexiones durante la iniciación. Con este parámetro habilitado, elmongosintenta establecer conexiones de redShardingTaskExecutorPoolMinSizecon cada servidor de particiones como parte de su procedimiento de iniciación, antes de comenzar a aceptar conexiones de clientes.Se puede configurar un tiempo de espera para este comportamiento con el parámetro
warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMS. Si se alcanza este tiempo de espera, elmongoscomenzará a aceptar conexiones de clientes independientemente del tamaño de su pool de conexiones.Una instancia
mongoscon este parámetro habilitado puede experimentar tiempos de iniciación más largos, pero dará como resultado un servicio más rápido de las conexiones iniciales de los clientes una vez iniciadas.warmMinConnectionsInShardingTaskExecutorPoolOnStartupestá activado por defecto.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMSDisponible solo para
mongos.Tipo: entero
Por defecto: 2000 (2 segundos)
Establece el umbral de tiempo de espera en milisegundos para que un
mongosespere a que se establezcan conexionesShardingTaskExecutorPoolMinSizepor host de fragmento cuando se utiliza el parámetrowarmMinConnectionsInShardingTaskExecutorPoolOnStartup. Si se alcanza este tiempo de espera, elmongoscomenzará a aceptar conexiones de clientes independientemente del tamaño de su pool de conexiones.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
migrateCloneInsertionBatchDelayMSDisponible solo para
mongod.Tipo: entero no negativo
Por defecto: 0
Tiempo en milisegundos para esperar entre agrupaciones de inserciones durante el paso de clonación del proceso de migración. Esta espera es adicional al
secondaryThrottle.El valor por defecto de
0indica que no hay espera adicional.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Lo siguiente configura el
migrateCloneInsertionBatchDelayMSa 200 milisegundos:mongod --setParameter migrateCloneInsertionBatchDelayMS=200 El parámetro también puede configurarse con el comando
setParameter:db.adminCommand( { setParameter: 1, migrateCloneInsertionBatchDelayMS: 200 } )
migrateCloneInsertionBatchSizeDisponible solo para
mongod.Tipo: entero no negativo
Por defecto: 0
El número máximo de documentos que se pueden insertar en una sola agrupación durante la etapa de clonación del proceso de migración.
El valor por defecto de
0indica que no hay un número máximo de documentos por agrupación. Sin embargo, en la práctica, esto da lugar a agrupaciones que contienen hasta 16 MB de documentos.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Lo siguiente configura el
migrateCloneInsertionBatchSizea 100 documentos:mongod --setParameter migrateCloneInsertionBatchSize=100 El parámetro también puede configurarse con el comando
setParameter:db.adminCommand( { setParameter: 1, migrateCloneInsertionBatchSize: 100 } )
orphanCleanupDelaySecsPor defecto: 900 (15 minutos)
Disponible solo para
mongod.Demora mínima antes de que un fragmento migrado se elimine del fragmento de origen.
Antes de eliminar el fragmento durante la migración del fragmento, MongoDB espera o que las consultas en curso que involucran el fragmento se completen en el fragmento principal, lo que sea más
orphanCleanupDelaySecslargo.Sin embargo, debido a que el fragmento principal no tiene conocimiento de las consultas en curso que se ejecutan en los fragmentos secundarios, las consultas que usan el fragmento pero se ejecutan en los secundarios pueden hacer que desaparezcan los documentos si estas consultas tardan más que el tiempo necesario para completar las consultas del fragmento principal y
orphanCleanupDelaySecsel.Nota
Este comportamiento solo afecta a las consultas en curso que se inician antes de la migración del fragmento. Las consultas que se inician después de la migración del fragmento no utilizarán el fragmento en migración.
Si una partición tiene restricciones de almacenamiento, considere reducir este valor de forma temporal. Si ejecuta queries que superan los 15 minutos en secundarios de particiones, considere aumentar este valor.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Lo siguiente configura el
orphanCleanupDelaySecsa 20 minutos:mongod --setParameter orphanCleanupDelaySecs=1200 Esto también puede configurarse usando el comando
setParameter:db.adminCommand( { setParameter: 1, orphanCleanupDelaySecs: 1200 } )
persistedChunkCacheUpdateMaxBatchSizeNovedades en la 6.0.13 versión:5.0.25 (y)
Disponible solo para
mongod.Tipo: entero
Por defecto: 1000
Para enrutar y servir operaciones, los fragmentos deben conocer la información de enrutamiento y propiedad asociada a sus colecciones. Esta información se propaga desde el nodo principal de un fragmento a sus nodos secundarios mediante la replicación de las colecciones de caché interna
config.cache.collectionsyconfig.cache.chunks.<collectionName>.En versiones anteriores, las actualizaciones de la colección de caché de fragmentos se realizaban individualmente (es decir, se eliminaba una entrada y se insertaba una nueva). A partir de MongoDB 6.0.13, estas actualizaciones se realizan como un lote de eliminaciones seguido de un lote de inserciones. La lógica actualizada mejora el rendimiento de las colecciones que contienen una gran cantidad de fragmentos.
El parámetro
persistedChunkCacheUpdateMaxBatchSizeespecifica el tamaño máximo de agrupación utilizado para actualizar la caché de fragmentos persistida.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo establece
persistedChunkCacheUpdateMaxBatchSizeen 700 durante la iniciación:mongod --setParameter persistedChunkCacheUpdateMaxBatchSize=700 También puede configurar
persistedChunkCacheUpdateMaxBatchSizedurante la ejecución:db.adminCommand( { setParameter: 1, persistedChunkCacheUpdateMaxBatchSize: 700 } )
rangeDeleterBatchDelayMSDisponible solo para
mongod.Tipo: entero no negativo
Por defecto: 20
La cantidad de tiempo en milisegundos que se debe esperar antes del siguiente lote de eliminación durante la etapa de limpieza de la migración de rango (o el
cleanupOrphanedcomando).La demora de replicación de _secondaryThrottle ocurre después de cada eliminación por grupos.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Lo siguiente configura el
rangeDeleterBatchDelayMSa 200 milisegundos:mongod --setParameter rangeDeleterBatchDelayMS=200 El parámetro también puede configurarse con el comando
setParameter:db.adminCommand( { setParameter: 1, rangeDeleterBatchDelayMS: 200 } )
rangeDeleterBatchSizeDisponible solo para
mongod.Tipo: entero no negativo
Por defecto: 2147483647 a partir de MongoDB 5.1.2 y 5.0.6
La cantidad máxima de documentos en cada lote que se eliminarán durante la etapa de limpieza de la migración de rango (o el
cleanupOrphanedcomando).Un valor de
0indica que el sistema elige el valor por defecto.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo configura
rangeDeleterBatchSizepara 32 documentos:mongod --setParameter rangeDeleterBatchSize=32 El parámetro también puede configurarse con el comando
setParameter:db.adminCommand( { setParameter: 1, rangeDeleterBatchSize: 32 } ) Tip
En versiones anteriores a 6.0.3, el nuevo valor de
rangeDeleterBatchSizesolo se aplica a las eliminaciones de rango creadas después de que se haya cambiado el valor. Para aplicar el nuevo valor a las eliminaciones de rangos existentes, fuerce un paso hacia abajo.A partir de la versión 6.0.3, el nuevo valor del parámetro se aplica a todas las eliminaciones de rango procesadas después de la actualización, independientemente de cuándo se haya creado la eliminación de rango.
skipShardingConfigurationChecksDisponible solo para
mongod.Tipo: booleano
Por defecto: false
Cuando
true, permite iniciar un Nodo del fragmento o un Nodo del servidor de configuración como autónomo para operaciones de mantenimiento. Este parámetro es mutuamente excluyente con las opciones--configsvro--shardsvr.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.mongod --setParameter skipShardingConfigurationChecks=true Importante
Una vez que se haya completado el mantenimiento, remueva el parámetro
skipShardingConfigurationChecksal reiniciar elmongod.
findChunksOnConfigTimeoutMSNuevo en la versión 5.0.
Disponible tanto para
mongodcomo paramongos.Tipo: entero no negativo
Por defecto: 900000
El tiempo de espera en milisegundos para las operaciones de búsqueda en
chunks.Si hay un gran número de fragmentos en el clúster y la carga de fragmentos falla con el error
ExceededTimeLimit, aumente el valor del parámetro:mongod --setParameter findChunksOnConfigTimeoutMS=1000000 Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Parámetros del gestor de verificaciones de estado
activeFaultDurationSecsTipo: documento
Disponible solo para
mongos.El tiempo de espera desde una falla en la descripción general de gestores de verificaciones de estado hasta que el mongos se elimine del clúster, en segundos.
Cuando se detecta una falla y el gestor de verificaciones de estado está configurado como
critical, el servidor espera el intervalo especificado antes de remover elmongosdel clúster.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Por ejemplo, para establecer la duración desde la falla hasta la caída del sistema en cinco minutos, emite lo siguiente durante la iniciación:
mongos --setParameter activeFaultDurationSecs=300 O si usas el comando
setParameteren una sesión demongoshque está conectada a unmongosen ejecución:db.adminCommand( { setParameter: 1, activeFaultDurationSecs: 300 } ) Los parámetros establecidos con
setParameterno persisten después de reiniciar. Consulte la página setParameter para más detalles.Para que esta configuración sea persistente, se debe establecer
activeFaultDurationSecsen el archivo de configuración de mongos con la opciónsetParametercomo en el siguiente ejemplo:setParameter: activeFaultDurationSecs: 300
healthMonitoringIntensitiesTipo: arreglo de documentos
Disponible solo para
mongos.Utilice este parámetro para establecer los niveles de intensidad para los gestores de verificaciones de estado.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
healthMonitoringIntensitiesacepta un arreglo de documentos,values. Cada documento envaluesrequiere dos campos:type, la faceta de gestión de verificaciónes de estadointensity, el nivel de intensidad
Gestores de verificaciones de estado
FacetQué verifica el Health ObserverconfigServerProblemas de salud del clúster relacionados con la conectividad al servidor de configuración.
dnsProblemas de salud del clúster relacionados con la disponibilidad y funcionalidad del DNS.
ldapProblemas de salud del clúster relacionados con la disponibilidad y funcionalidad de LDAP.
Niveles de intensidad
Nivel de intensidadDescripcióncriticalEl gestor de verificaciones de estado en esta faceta está habilitado y tiene la capacidad de mover los mongos que fallan fuera del clúster si ocurre un error. El gestor de verificaciones de estado espera el tiempo especificado por
activeFaultDurationSecsantes de detenerse y mover el mongos fuera del clúster automáticamente.non-criticalEl gestor de verificaciones de estado en esta faceta está habilitado y registra errores, pero el mongos permanece en el clúster si se encuentran errores.
offEl gestor de verificaciones de estado en esta faceta está deshabilitado. El mongos no realiza ninguna verificación de estado en esta faceta. Este es el nivel de intensidad por defecto.
Por ejemplo, para establecer la faceta de gestión de verificaciones de estado
dnsal nivel de intensidadcritical, emita lo siguiente al inicio:mongos --setParameter 'healthMonitoringIntensities={ values:[ { type:"dns", intensity: "critical"} ] }' O si usas el comando
setParameteren una sesión demongoshque está conectada a unmongosen ejecución:db.adminCommand( { setParameter: 1, healthMonitoringIntensities: { values: [ { type: "dns", intensity: "critical" } ] } } ) } ) Los parámetros establecidos con
setParameterno persisten después de reiniciar. Consulte la página setParameter para más detalles.Para que esta configuración sea persistente, se debe establecer
healthMonitoringIntensitiesen el archivo de configuración de mongos con la opciónsetParametercomo en el siguiente ejemplo:setParameter: healthMonitoringIntensities: "{ values:[ { type:\"dns\", intensity: \"critical\"} ] }"
healthMonitoringIntervalsTipo: arreglo de documentos
Disponible solo para
mongos.Con qué frecuencia se ejecutará este gestor de verificaciones de estado, en milisegundos.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
healthMonitoringIntervalsacepta un arreglo de documentos,values. Cada documento envaluesrequiere dos campos:type, la faceta de gestión de verificaciónes de estadointerval, el intervalo de tiempo en el que se ejecuta, en milisegundos
Gestores de verificaciones de estado
FacetQué verifica el Health ObserverconfigServerProblemas de salud del clúster relacionados con la conectividad al servidor de configuración.
dnsProblemas de salud del clúster relacionados con la disponibilidad y funcionalidad del DNS.
ldapProblemas de salud del clúster relacionados con la disponibilidad y funcionalidad de LDAP.
Por ejemplo, para configurar la faceta de gestión de verificaciones de estado
ldappara ejecutar verificaciones de estado cada 30 segundos, emita lo siguiente al inicio.mongos --setParameter 'healthMonitoringIntervals={ values:[ { type:"ldap", interval: "30000"} ] }' O si usas el comando
setParameteren una sesión demongoshque está conectada a unmongosen ejecución:db.adminCommand( { setParameter: 1, healthMonitoringIntervals: { values: [ { type: "ldap", interval: "30000" } ] } } ) } ) Los parámetros establecidos con
setParameterno persisten después de reiniciar. Consulte la página setParameter para más detalles.Para que esta configuración sea persistente, se debe establecer
healthMonitoringIntervalsen el archivo de configuración de mongos con la opciónsetParametercomo en el siguiente ejemplo:setParameter: healthMonitoringIntervals: "{ values: [{type: \"ldap\", interval: 200}] }"
progressMonitorTipo: documento
Disponible solo para
mongos.La supervisión del progreso ejecuta pruebas para garantizar que las comprobaciones del gestor de verificaciones de estado no se atascan ni dejan de responder. La supervisión del progreso ejecuta estas pruebas en los intervalos especificados por
interval. Si una verificación de estado comienza pero no se completa dentro del tiempo de espera proporcionado pordeadline, la supervisión del progreso detiene el mongos y lo elimina del clúster.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
progressMonitorCamposCampoDescripciónUnidadesintervalCon qué frecuencia se garantiza que los gestores de verificaciones de estado no se atasquen o dejen de responder.
Milisegundos
deadlineTiempo de espera antes de fallar automáticamente el mongos si una verificación del gestor de verificaciones de estado no está progresando.
Segundos
Para establecer
intervalen 1000 milisegundos ydeadlineen 300 segundos, emite lo siguiente durante la iniciación:mongos --setParameter 'progressMonitor={"interval": 1000, "deadline": 300}' O si usas el comando
setParameteren una sesión demongoshque está conectada a unmongosen ejecución:db.adminCommand( { setParameter: 1, progressMonitor: { interval: 1000, deadline: 300 } ) } ) Los parámetros establecidos con
setParameterno persisten después de reiniciar. Consulte la página setParameter para más detalles.Para que esta configuración sea persistente, se debe establecer
progressMonitoren el archivo de configuración de mongos con la opciónsetParametercomo en el siguiente ejemplo:setParameter: progressMonitor: "{ interval: 1000, deadline: 300 }"
Parámetros de almacenamiento
honorSystemUmaskDisponible solo para
mongod.Por defecto:
falseSi
honorSystemUmaskse establece entrue, los archivos nuevos creados por MongoDB tienen permisos de acuerdo con la configuraciónumaskdel usuario. No puedes establecerprocessUmasksihonorSystemUmaskestá configurado entrue.Si
honorSystemUmaskse establece enfalse, los nuevos archivos creados por MongoDB tienen permisos establecidos en600, lo que otorga permisos de lectura y escritura solo al propietario. Los nuevos directorios tienen permisos establecidos en700. Puede utilizarprocessUmaskpara anular los permisos por defecto para grupos y otros usuarios en todos los archivos nuevos creados por MongoDB.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.mongod --setParameter honorSystemUmask=true Nota
honorSystemUmaskno está disponible en sistemas Windows.
journalCommitIntervalDisponible solo para
mongod.Especifica un número entero entre
1y500que indique el número de milisegundos (ms) entre las confirmaciones de la bitácora.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Considere el siguiente ejemplo que establece el
journalCommitIntervala200ms:db.adminCommand( { setParameter: 1, journalCommitInterval: 200 } )
minSnapshotHistoryWindowInSecondsNuevo en la versión 5.0.
Por defecto:
300Disponible solo para
mongod.El período mínimo de tiempo en segundos durante el cual el motor de almacenamiento conserva el historial de snapshots. Si consultas datos utilizando el nivel de consistencia de lectura
"snapshot"y especificas un valor atClusterTime anterior al especificadominSnapshotHistoryWindowInSeconds,mongoddevuelve un errorSnapshotTooOld.Advertencia
En los clústeres fragmentados, cambiar el valor predeterminado de
minSnapshotHistoryWindowInSecondsen los nodos del servidor de configuración puede causar que las operaciones internas fallen.No configure
minSnapshotHistoryWindowInSecondsa0en los nodos del servidor de configuración. Establecer este parámetro en0hace que las operaciones internas que realizan lecturas desnapshotdirigidas al servidor de configuración con unatClusterTimeespecificado fallen.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Especifique un número entero mayor o igual a (
>=) 0.Considera el siguiente ejemplo que establece el
minSnapshotHistoryWindowInSecondsa600segundos:db.adminCommand( { setParameter: 1, minSnapshotHistoryWindowInSeconds: 600 } ) Nota
Incrementar el valor de
minSnapshotHistoryWindowInSecondsincrementa el uso del disco. Para obtener más información, consulte Retención del historial de snapshot.Para modificar este valor para un clúster de MongoDB Atlas, debe ponerse en contacto con el soporte de Atlas.
processUmaskDisponible solo para
mongod.Anula los permisos por defecto utilizados para grupos y otros usuarios cuando
honorSystemUmaskse establece enfalse. Por defecto, cuandohonorSystemUmaskestá configurado enfalse, los archivos nuevos creados por MongoDB tienen permisos configurados en600. Utiliza el parámetroprocessUmaskpara anular este valor por defecto con un valorumaskpersonalizado. El propietario del archivo hereda permisos del sistemaumask.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.No puede establecer este parámetro si
honorSystemUmaskestá configurado entrue.Considera el siguiente ejemplo, que establece los permisos para grupos y otros usuarios para que solo puedan leer y guardar, y conserva la configuración del sistema
umaskpara el propietario:mongod --setParameter processUmask=011 Nota
processUmaskno está disponible en sistemas Windows.
storageEngineConcurrentReadTransactionsDisponible solo para
mongod.Por defecto: 0
Cambiado en la 6.0 versión: El
wiredTigerConcurrentReadTransactionsparámetro pasó astorageEngineConcurrentReadTransactionsllamarse.Disponible solo para el motor de almacenamiento WiredTiger.
Especifica el número máximo de transacciones de lectura concurrentes permitidas en el motor de almacenamiento WiredTiger. Si no se especifica un valor para este parámetro, o se especifica
0, MongoDB utiliza el valor por defecto para su motor de almacenamiento. El valor por defecto para el motor de almacenamiento WiredTiger es 128.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
db.adminCommand( { setParameter: 1, storageEngineConcurrentReadTransactions: <num> } )
storageEngineConcurrentWriteTransactionsDisponible solo para
mongod.Por defecto: 0
Cambiado en la 6.0 versión: El
wiredTigerConcurrentReadTransactionsparámetro pasó astorageEngineConcurrentReadTransactionsllamarse.Disponible solo para el motor de almacenamiento WiredTiger.
Especifique el número máximo de transacciones de escritura simultáneas permitidas en el motor de almacenamiento de WiredTiger. Si no especifica un valor para este parámetro o especifica
0, MongoDB usará el valor predeterminado para su motor de almacenamiento. El valor predeterminado para el motor de almacenamiento de WiredTiger es 128.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
db.adminCommand( { setParameter: 1, storageEngineConcurrentWriteTransactions: <num> } )
syncdelayDisponible solo para
mongod.Por defecto: 60
Especifique el intervalo en segundos cuando
mongodguarda su memoria de trabajo en el disco. Por defecto,mongodguarda la memoria en el disco cada 60 segundos. En casi todas las situaciones, no debería establecer este valor y debería usar la configuración por defecto.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Considera el siguiente ejemplo que establece el
syncdelaya60segundos:db.adminCommand( { setParameter: 1, syncdelay: 60 } ) Para proporcionar datos duraderos, WiredTiger utiliza puntos de control. Para obtener más detalles, consulta Registro en la bitácora y motor de almacenamiento WiredTiger.
upsertMaxRetryAttemptsOnDuplicateKeyErrorDisponible tanto para
mongodcomo paramongos.Nuevo en la versión 6.0.25.
Número máximo de reintentos cuando una operación de
upsertencuentra un error de llave duplicada.Tipo: entero
Por defecto: 100
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Importante
A partir de MongoDB 8.1, si una operación
upsertse ejecuta en una transacción de múltiples documentos, entoncesupsertno vuelve a intentarlo cuando encuentra un error de clave duplicada.El siguiente ejemplo establece la cantidad máxima de veces que el servidor reintenta una operación
upsertal encontrar un error de clave duplicada en50.mongod --setParameter "upsertMaxRetryAttemptsOnDuplicateKeyError=50" Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameterdb.adminCommand( { setParameter: 1, upsertMaxRetryAttemptsOnDuplicateKeyError: 50 } )
Parámetros de WiredTiger
wiredTigerEngineRuntimeConfigDisponible solo para
mongod.Especifique las opciones de configuración del motor de almacenamiento
wiredTigerpara una instancia en ejecución demongod.Este parámetro solo está disponible en tiempo de ejecución. Para establecer el parámetro, utilice el comando
setParameter.Advertencia
Evite modificar el
wiredTigerEngineRuntimeConfiga menos que esté bajo la dirección de los ingenieros de MongoDB, ya que esta configuración tiene importantes implicaciones tanto en WiredTiger como en MongoDB.Considere el siguiente prototipo de operación:
db.adminCommand({ "setParameter": 1, "wiredTigerEngineRuntimeConfig": "<option>=<setting>,<option>=<setting>" })
wiredTigerFileHandleCloseIdleTimeDisponible solo para
mongod.Tipo: entero
Por defecto: 600
Especifique la cantidad de tiempo en segundos que un gestor de archivos en
wiredTigerpuede permanecer inactivo antes de cerrarse.Si establece
wiredTigerFileHandleCloseIdleTimeen0, los elementos inactivos a gestionar no se cierran.Tip
Este parámetro distingue entre mayúsculas y minúsculas. Si escribes con mayúscula la letra
wenwiredTigerFileHandleCloseIdleTimey ejecutas el parámetro, la operación devuelve el siguiente mensaje de error:{ "code":2,"codeName":"BadValue","errmsg":"Unknown --setParameter 'WiredTigerFileHandleCloseIdleTime'" } Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo:
mongod --setParameter wiredTigerFileHandleCloseIdleTime=100000
Consulte la documentación de WiredTiger para ver todas las opciones de configuración de WiredTiger disponibles.
Parámetros de auditoría
auditAuthorizationSuccessTipo: booleano
Por defecto: false
Nota
Disponible solo en MongoDB Enterprise y MongoDB Atlas.
Disponible tanto para
mongodcomo paramongos.Permite auditar los éxitos de autorización para la acción authCheck.
Cuando
auditAuthorizationSuccessesfalse, el sistema de auditoría solo registra los fallos de autorización paraauthCheck.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Para habilitar la auditoría de los éxitos de autorización, emite el siguiente comando:
db.adminCommand( { setParameter: 1, auditAuthorizationSuccess: true } ) Habilitar
auditAuthorizationSuccessdegrada el rendimiento más que registrar solo los fallos de autorización.Si la configuración de auditoría en tiempo de ejecución está activada, el parámetro
auditAuthorizationSuccessno debe aparecer en el archivo de configuraciónmongodomongos. El servidor no se iniciará si el parámetro está presente.Tip
auditConfigPollingFrequencySecsNuevo en la versión 5.0.
Tipo: entero
Por defecto: 300
Un clúster puede tener servidores que mantienen la configuración de auditoría para el clúster. Establece el intervalo, en segundos, para que los servidores no configurados consulten un servidor de configuración para la generación actual de auditoría. Si este valor devuelto difiere del valor conocido anteriormente, el nodo iniciador solicitará la configuración actual y actualizará su estado interno.
Nota
Si se utiliza el valor predeterminado de 300 segundos, los nodos que no están configurados pueden demorarse hasta 5 minutos con respecto a un comando setAuditConfig.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
auditEncryptionHeaderMetadataFileNovedades en la versión 6.0.
Tipo: string
Nota
Disponible solo en MongoDB Enterprise. MongoDB Enterprise y Atlas tienen diferentes requisitos de configuración.
Disponible tanto para
mongodcomo paramongos.Ruta y nombre del archivo para el registro de encabezados de auditoría de metadatos para el cifrado de registros de auditoría. Un encabezado se coloca en la parte superior de cada entrada de registro de auditoría y contiene metadatos para descifrar el registro de auditoría. Los encabezados también se almacenan en el registro de auditoría.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.Por ejemplo, a continuación se establece la ruta y el archivo para
auditEncryptionHeaderMetadataFile:mongod --setParameter auditEncryptionHeaderMetadataFile=/auditFiles/auditHeadersMetadataFile.log
auditEncryptKeyWithKMIPGetNovedades en la versión 6.0.
Tipo: booleano
Por defecto: false
Nota
Disponible solo en MongoDB Enterprise. MongoDB Enterprise y Atlas tienen diferentes requisitos de configuración.
Disponible tanto para
mongodcomo paramongos.Habilita el cifrado de registro de auditoría para servidores del Protocolo de Interoperabilidad de Gestión de Claves (KMIP) que solo soportan la versión 1.0 o 1.1 del protocolo KMIP.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.El siguiente ejemplo establece
auditEncryptKeyWithKMIPGetatrue:mongod --setParameter auditEncryptKeyWithKMIPGet=true
Parámetros de transacción
coordinateCommitReturnImmediatelyAfterPersistingDecisionNuevo en la versión 5.0.
Actualizado en la versión 6.0 y en 5.0.10
Tipo: booleano
Por defecto: false
Cuando se establece en
false, el coordinador de transacciones de particiones espera a que todas las particiones que participan verifiquen la decisión de confirmar o cancelar una transacción multi-documento antes de devolver el resultado al cliente.Cuando se establece en
true, el coordinador de transacciones de particiones devuelve al cliente una decisión de transacción multi-documento en cuanto la decisión se convierte en durable con el nivel de confirmación de escritura solicitado para la transacción.Si el cliente solicitó un nivel de confirmación de escritura inferior a
"majority", la confirmación puede revertirse después de que se devuelva la decisión al cliente.Las transacciones pueden no tener coherencia de “lectura de sus escrituras”. Es decir, una operación de lectura puede no mostrar los resultados de las operaciones de escritura que la precedieron. Esto puede ocurrir si:
Una transacción se tiene que escribir en varios fragmentos.
La lectura y el guardado anterior tienen lugar en diferentes sesiones.
La coherencia causal solo garantiza la relación causal de las lecturas y las escrituras que ocurren dentro de la misma sesión.
El coordinador de transacciones de fragmentos devuelve una decisión de confirmación de transacción de múltiples documentos al cliente tan pronto como la decisión se vuelve duraderacon la preocupación de escritura de transacción solicitada.
Si el cliente solicitó un nivel de confirmación de escritura inferior a
"majority", la confirmación puede revertirse después de que se devuelva la decisión al cliente.Es posible que las transacciones no tengan la consistencia de "leer sus escrituras". Es decir, una operación de lectura podría no reflejar los resultados de una operación de escritura anterior. Esto puede ocurrir en los siguientes casos:
Una transacción se tiene que escribir en varios fragmentos.
La lectura y el guardado anterior tienen lugar en diferentes sesiones.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Ejemplo
El siguiente ejemplo asigna
coordinateCommitReturnImmediatelyAfterPersistingDecisionatrue:mongod --setParameter coordinateCommitReturnImmediatelyAfterPersistingDecision=true Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, coordinateCommitReturnImmediatelyAfterPersistingDecision: true } )
internalSessionsReapThresholdNovedades en la versión 6.0.
Disponible tanto para
mongodcomo paramongos.Por defecto: 1000
Límite de sesión para la eliminación de metadatos internos de sesión. Los metadatos:
Contiene información sobre transacciones de sesión para las operaciones de los usuarios.
Se almacena en la colección
config.transactions.
Cuando el número de sesiones internas es mayor que
internalSessionsReapThreshold, los metadatos se borran.Si configura
internalSessionsReapThresholden0, los metadatos internos de la sesión solo se borran cuando termina la sesión del usuario.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
El siguiente ejemplo establece
internalSessionsReapThresholden500sesiones:db.adminCommand( { setParameter: 1, internalSessionsReapThreshold: 500 } ) También puede configurar
internalSessionsReapThresholdal inicio. Por ejemplo:mongod --setParameter internalSessionsReapThreshold=500
transactionLifetimeLimitSecondsDisponible solo para
mongod.Por defecto: 60
Especifica la duración de las transacciones multi-documento. Las transacciones que excedan este límite se consideran caducadas y serán abortadas por un proceso de limpieza periódico. El proceso de limpieza se ejecuta cada
transactionLifetimeLimitSeconds/2 segundos o al menos una vez cada 60 segundos.El proceso de limpieza ayuda a aliviar la presión del caché de almacenamiento.
El valor mínimo para transactionLifetimeLimitSeconds es
1segundo.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Lo siguiente configura el
transactionLifetimeLimitSecondsen30segundos:db.adminCommand( { setParameter: 1, transactionLifetimeLimitSeconds: 30 } ) También puede configurar el parámetro
transactionLifetimeLimitSecondsal inicio.mongod --setParameter "transactionLifetimeLimitSeconds=30" Para establecer el parámetro para un clúster, el parámetro debe modificarse para todos los miembros del set de réplicas de cada fragmento.
A partir de MongoDB 5.0, si cambias el parámetro
transactionLifetimeLimitSeconds, también debes cambiartransactionLifetimeLimitSecondsal mismo valor en todos los miembros del set de réplicas del servidor de configuración. Si manteienes este valor coherente:Garantiza que el historial de la tabla de enrutamiento se conserve al menos durante el tiempo límite de vida de las transacciones en los miembros del set de réplicas del fragmento.
Reduce la frecuencia de reintentos de transacciones y, por lo tanto, mejora el rendimiento.
transactionTooLargeForCacheThresholdNuevo en la versión 6.0.5.
Disponible solo para
mongod.Tipo: decimal
Por defecto: 0,75
El valor umbral para reintentar las transacciones que fallan debido a la presión de la caché. El valor es un porcentaje del tamaño de la caché sucia. El valor por defecto,
0.75, representa el 75 % de la caché sucia.La caché sucia está limitada al 20 % del tamaño total de la caché. Cuando
transactionTooLargeForCacheThresholdse establece en0.75, el servidor solo reintenta transacciones que utilizan menos del 15 % (0.75 * 20%) de la caché total del motor de almacenamiento.El límite solo se aplica a los reintentos. Las transacciones grandes pueden utilizar más del
transactionTooLargeForCacheThresholdpor ciento de la caché sucia. Sin embargo, si una transacción grande se revierte debido a la presión de la caché, el servidor genera un errorTransactionTooLargeForCachey no vuelve a intentar la transacción.Para deshabilitar este comportamiento, establece
transactionTooLargeForCacheThresholden1.0.Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Para obtener más información sobre el almacenamiento de WiredTiger, consulte las
storage.wiredTigeropciones.
maxTransactionLockRequestTimeoutMillisDisponible solo para
mongod.Tipo: entero
Por defecto: 5
La cantidad máxima de tiempo en milisegundos que las transacciones multidocumento deben esperar para adquirir los bloqueos requeridos por las operaciones en la transacción.
Si la transacción no puede adquirir los bloqueos después de esperar
maxTransactionLockRequestTimeoutMillis, la transacción se aborta.Por defecto, las transacciones multidocumento tardan
5milisegundos. Es decir, si la transacción no puede adquirir los bloqueos dentro de5milisegundos, la transacción se cancela. Si una operación proporciona un tiempo de espera mayor en una solicitud de bloqueo,maxTransactionLockRequestTimeoutMillisanula el tiempo de espera específico de la operación.Puede establecer
maxTransactionLockRequestTimeoutMillisen:0de tal manera que si la transacción no puede adquirir los bloqueos necesarios de inmediato, la transacción se aborta.Un número mayor que
0para esperar el tiempo especificado para adquirir los bloqueos necesarios. Esto puede ayudar a obviar abortos de transacciones en adquisiciones de bloqueos concurrentes momentáneas, como operaciones rápidas de metadatos. Sin embargo, esto podría demorar el aborto de las operaciones de transacciones en estado de bloqueo.-1para usar el tiempo de espera específico de la operación.
Este parámetro está disponible tanto en tiempo de ejecución como al inicio:
Para establecer el parámetro en tiempo de ejecución, utiliza el comando
setParameter.Para establecer el parámetro al inicio, utiliza la configuración
setParameter.
Lo siguiente configura el
maxTransactionLockRequestTimeoutMillisa20milisegundos:db.adminCommand( { setParameter: 1, maxTransactionLockRequestTimeoutMillis: 20 } ) También puede establecer este parámetro durante el inicio:
mongod --setParameter maxTransactionLockRequestTimeoutMillis=20