Nota
A partir de MongoDB 8.0, la autenticación y autorización de LDAP están obsoletas. LDAP está disponible y continuará operando sin cambios durante toda la vida útil de MongoDB 8. LDAP se eliminará en una futura versión principal.
Para más detalles, véase Desuso de LDAP.
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
allowRolesFromX509CertificatesDisponible tanto para
mongodcomo paramongos.Por defecto: true
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.
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ónRFC 5802 estándar del mecanismo de autenticación de respuesta a desafío salado utilizando la función de 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.OpenID Connect es una capa de autenticación compilada sobre OAuth2. 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
authFailedDelayMsDisponible tanto para
mongodcomo paramongos.Por defecto: 0
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.
awsSTSRetryCountCambiado en la versión 7.0: (También a partir de 6.0.7 y 5.0.18)
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 instancias de MongoDB para TLS/SSL en implementaciones autogestionadas 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.Por defecto:
trueEspecifique
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.
enforceUserClusterSeparationDisponible tanto para
mongodcomo paramongos.Establezca en
falsepara desactivar la comprobación deO/OU/DCcuandoclusterAuthModeestékeyFileen su archivo de configuración. Esto permite que los clientes que poseen certificados de nodo se autentiquen como usuarios almacenados en la base de datos$external. El servidor no se iniciará siclusterAuthModeno estákeyFileen su archivo de configuración.Para establecer el parámetro
enforceUserClusterSeparationenfalse, ejecute el siguiente comando durante el inicio:mongod --setParameter enforceUserClusterSeparation=false
JWKSMinimumQuiescePeriodSecsDisponible tanto para
mongodcomo paramongos.Por defecto: 60 segundos (1 minuto)
Especifica el período de tiempo mínimo que debe transcurrir entre las solicitudes sucesivas al punto final
JWKSetURIde un proveedor de identidad determinado. Si una llave pública RSA se cambia varias veces durante el período de inactividad, es posible que esa llave no funcione como se esperaba hasta durante un minuto, a menos que el período de inactividad se reduzca manualmente. Si este parámetro se establece en cero, no hay período de inactividad y la llave se puede actualizar repetidamente.Este parámetro está disponible tanto en el inicio como en el tiempo de ejecución. Para establecer el parámetro, utiliza la configuración
setParameter.
KeysRotationIntervalSecDisponible tanto para
mongodcomo paramongos.Por 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.
ldapConnectionPoolHostRefreshIntervalMillisDisponible solo para
mongod.Por 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.
ldapConnectionPoolIdleHostTimeoutSecsDisponible solo para
mongod.Por 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.
ldapConnectionPoolMaximumConnectionsInProgressPerHostDisponible solo para
mongod.Modificado 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.
ldapConnectionPoolMaximumConnectionsPerHostDisponible solo para
mongod.Modificado 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
ldapConnectionPoolMaximumConnectionsPerHostdurante el inicio, y no puede cambiar esta configuración durante el tiempo de ejecución con el comando de base de datossetParameter.
ldapConnectionPoolMinimumConnectionsPerHostDisponible solo para
mongod.Por defecto: 1
El número mínimo de conexiones que se deben mantener abiertas a cada servidor LDAP.
Solo puede configurar
ldapConnectionPoolMinimumConnectionsPerHostdurante el inicio, y no puede cambiar esta configuración durante el tiempo de ejecución con el comando de base de datossetParameter.
ldapConnectionPoolUseLatencyForHostPriorityDisponible solo para
mongod.Por 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
ldapConnectionPoolUseLatencyForHostPrioritydurante el inicio, y no puede cambiar esta configuración durante el tiempo de ejecución con el comando de base de datossetParameter.
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 solo para
mongod.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 solo para
mongod.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 solo para
mongod.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 } )
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
ldapUseConnectionPoolDisponible tanto para
mongodcomo paramongos.Especifica 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.
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 su uso con implementaciones de MongoDB que utilizan autorización LDAP en implementaciones autogestionadas.
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 } )
maxValidateMemoryUsageMBDisponible solo para
mongod.Nuevo 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 tanto para
mongodcomo paramongos.Disponible 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.
oidcIdentityProvidersDisponible solo para
mongod.Cambiado en la versión 8.0: (También disponible en 7.3 y 7.0)
Utiliza este parámetro para especificar las configuraciones del proveedor de identidad (IDP) al utilizar la autenticación de OpenID Connect.
oidcIdentityProvidersacepta un arreglo de cero o más configuraciones de proveedor de identidad (proveedor de identidad). Un arreglo vacío (por defecto) indica que no se hay soporte para OpenID Connect.Cuando se define más de un proveedor de identidad,
oidcIdentityProvidersutiliza el campomatchPatternpara seleccionar un proveedor de identidad. El orden del arreglo determina la prioridad y siempre se selecciona el primer proveedor de identidad.A partir de MongoDB 8.0, cuando se definen varios proveedores de identidad (IDP), el parámetro
oidcIdentityProvidersacepta valoresissuerduplicados siempre que el valoraudiencesea único para cada emisor. También está disponible en las versiones 7.3 y 7.0.Campos de oidcIdentityProviders
CampoNecesidadTipoDescripciónissuerRequerido
string
El URI del emisor del proveedor de identidad del que el servidor debería aceptar tokens. Esto debe coincidir con el campo
issen cualquier JWT utilizado para la autenticación.A partir de MongoDB 8.0, cuando se definen varios proveedores de identidad (IDP), el parámetro
oidcIdentityProvidersacepta valoresissuerduplicados siempre que el valoraudiencesea único para cada emisor. También está disponible en las versiones 7.3 y 7.0.Si especifica un URI de emisor inalcanzable, MongoDB:
Registra una advertencia.
Se debe continuar el inicio del servidor, lo que permite actualizar el URI del emisor.
Reintenta el contacto con el emisor. Si MongoDB alcanza el URI del emisor y valida el token de acceso, la autenticación se realiza con éxito. Si el URI del emisor sigue siendo inalcanzable, la autenticación fallará.
Cambiado en la versión 8.0: (También disponible en 7.3 y 7.0)
authNamePrefixRequerido
string
Prefijo único aplicado a cada
UserNamegenerado yRoleNameutilizado en la autorización.authNamePrefixsolo puede contener los siguientes caracteres:caracteres alfanuméricos (combinación de
aazy de0a9)guiones (
-)guiones bajos (
_)
matchPatternCondicional
string
Patrón de expresiones regulares utilizado para determinar qué proveedor de identidad se debe utilizar.
matchPatterncoincide con los nombres de usuario. El orden del arreglo determina la prioridad, y siempre se selecciona el primer proveedor de identidad.matchPatternes necesario en algunas configuraciones, dependiendo de cómo el usuario configuresupportsHumanFlows:Cuando solo un proveedor de identidad tiene
supportsHumanFlowsconfigurado entrue(el valor por defecto),matchPatternses opcional.Cuando varios proveedores de identidad tienen
supportsHumanFlowsestablecido entrue(el valor por defecto), cada uno de estos requierematchPatterns.matchPatternses opcional para cualquier proveedor de identidad dondesupportsHumanFlowsesté configurado comofalse.
Esto no es un mecanismo de seguridad.
matchPatternsirve únicamente como asesor para los clientes. MongoDB acepta tokens emitidos por el proveedor de identidad cuyos nombres principales no coinciden con este patrón.clientIdCondicional
string
ID proporcionado por el proveedor de identidad para identificar al cliente que recibe los tokens de acceso.
Requerido cuando
supportsHumanFlowsse establece entrue(por defecto).audienceRequerido
string
Especifica la aplicación o el servicio para el cual está destinado el token de acceso.
A partir de MongoDB 7.0, solo se puede especificar un campo
audienceoidcIdentityProviders para los tokens de acceso OIDC. Los camposaudiencecon arreglos vacíos o arreglos de varios strings no son válidos.Cuando se define más de un proveedor de identidad, este debe ser un valor único para cada configuración que comparta un
issuer.requestScopesOpcional
arreglo [ string ]
Permisos y niveles de acceso que MongoDB solicita al proveedor de identidad.
IMPORTANTE: Por defecto, los clientes como Compass y
mongoshsolicitan los ámbitosoidcyoffline_accessal proveedor de identidad. Si el proveedor de identidad no admiteoidcnioffline_access, el cliente no los solicita. Si el proveedor de identidad admiteoidcpero nooffline_access, deberá volver a autenticarse con frecuencia.principalNameOpcional
string
La reclamación que debe extraerse del token de acceso que contiene los identificadores de usuario de MongoDB.
El valor por defecto es
sub(representasubject).useAuthorizationClaimOpcional
booleano
Determina si se requiere el
authorizationClaim. El valor por defecto estrue.Si el campo
useAuthorizationClaimse establece entrue, el servidor requiere unauthorizationClaimpara la configuración del proveedor de identidad. Este es el comportamiento por defecto.Si el campo
useAuthorizationClaimse establece enfalse, el campoauthorizationClaimes opcional (y se ignora si se proporciona). En su lugar, el servidor realiza lo siguiente:Busca en el token una reclamación cuyo nombre esté listado en el campo
principalNameClaimEsto normalmente se llamasub. Por ejemplo:sub: "spencer.jackson@example.com"Construye el nombre de usuario interno concatenando el
authNamePrefix, una barra diagonal (/), y el contenido de la reclamación identificada porprincipalNameClaimdentro del token de acceso. Por ejemplo, con un valor de campoauthNamePrefixde "mdbinc", el nombre de usuario interno es:mdbinc/spencer.jackson@example.comBusca al usuario con este nombre de usuario y autoriza al cliente con los roles:
{ user: "mdbinc/spencer.jackson@example.com", db: "$external" }
Nuevo en la versión 7.2: (También disponible en la versión 7.0.5)
authorizationClaimCondicional
string
Obligatorio, a menos que
useAuthorizationClaimesté configurado enfalse.Reclamo extraído del token de acceso que contiene nombres de roles de MongoDB.
logClaimsOpcional
arreglo [ string ]
Lista de declaraciones de tokens de acceso para incluir en los mensajes de registro y para auditar al completar la autenticación.
JWKSPollSecsOpcional
entero
Frecuencia, en segundos, para solicitar un conjunto actualizado de claves web JSON (JWKS) al proveedor de identidad. Con una configuración de 0, se desactiva el sondeo.
Cuando se define más de un proveedor de identidad, este debe tener el mismo valor para cada configuración que comparta un
issuer.supportsHumanFlowsOpcional
bool
Ya sea que el proveedor de OIDC dé soporte a flujos de trabajo humanos o de máquina. Esto afecta a los campos
clientIdymatchPattern.Puede resultarle útil establecer este campo en
falsecon los proveedores de identidad de carga de trabajo de las máquinas para permitirles omitir elclientIdcuando no sea necesario.Por defecto:
true.Nuevo en la versión 7.2.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
opensslCipherConfigDisponible tanto para
mongodcomo paramongos.Disponible 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
opensslCipherSuiteConfigDisponible tanto para
mongodcomo paramongos.Nuevo 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 tanto para
mongodcomo paramongos.Disponible 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' ...
pessimisticConnectivityCheckForAcceptedConnectionsDisponible solamente en Linux.
Tipo: booleano
Por defecto: false
Cuando se establece en
true, indica al servidor que verifique la conectividad de las conexiones aceptadas antes de procesarlas y descarte inmediatamente las conexiones que el cliente finaliza.Considere activar este parámetro en tipos de instancias más pequeños. Puede utilizarlo cuando desee intercambiar una pequeña cantidad de latencia en el establecimiento de nuevas conexiones por una reducción del trabajo del servidor en el procesamiento de nuevas conexiones que ya se han cerrado en el lado del cliente.
saslauthdPathDisponible tanto para
mongodcomo paramongos.Nota
Disponible solo en MongoDB Enterprise (excepto MongoDB Enterprise para Windows).
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.
scramIterationCountDisponible tanto para
mongodcomo paramongos.Por defecto:
10000Cambia 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 } )
scramSHA256IterationCountDisponible tanto para
mongodcomo paramongos.Por defecto:
15000Cambia 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 instancias de MongoDB para TLS/SSL en implementaciones autogestionadas 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
tlsClusterAuthX509OverrideDisponible tanto para
mongodcomo paramongos.Nuevo en la versión 7.0.
Anula las opciones de configuración
clusterAuthX509.setParameter: tlsClusterAuthX509Override: "{ attributes: 'O=MongoDB, OU=MongoDB Server' }" El parámetro ofrece soporte para anulaciones de
attributesyextensionValue.Cuando el servidor autentica las conexiones de los nodos, analiza el certificado X.509 para determinar si pertenece a un nodo del clúster. Si el servidor utiliza la configuración
attributeso el campoattributesen el parámetrotlsClusterAuthX509Override, verifica los valores del nombre distinguido (DN) del certificado. Si se establece la configuraciónextensionValueo el campoextensionValuedel parámetrotlsClusterAuthX509Override, se verifican los valores de extensión del certificado. Si encuentra una coincidencia, autoriza la conexión como un emparejamiento.Utiliza este parámetro para rotar los certificados cuando los nuevos certificados tengan atributos o valores de extensión diferentes.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
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 instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Configuración de TLS/SSL para clientes .
Tip
tlsOCSPStaplingTimeoutSecsDisponible tanto para
mongodcomo paramongos.Disponible 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 tanto para
mongodcomo paramongos.Disponible 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 instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Configuración de TLS/SSL para clientes .
tlsWithholdClientCertificateDisponible tanto para
mongodcomo paramongos.Por defecto: false
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.
Puedes utilizar este parámetro para actualizar de forma continua los certificados a nuevos certificados que contengan un nuevo valor
DN. Consulta Rotar certificados en clústeres autogestionados sin clusterAuthX509.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
mongod/mongosregistra una advertencia en la conexión si el certificado X.509 presentado caduca dentro de los30días del reloj del sistemamongod/mongos. Utilice el parámetrotlsX509ExpirationWarningThresholdDayspara controlar el umbral de advertencia de caducidad del certificado: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.
userCacheInvalidationIntervalSecsDisponible solo para
mongos.Por defecto: 30
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.
Parámetros generales
allowDiskUseByDefaultDisponible solo para
mongod.Por defecto: true
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 } )
connPoolMaxConnsPerHostDisponible tanto para
mongodcomo paramongos.Por defecto: 200
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
cursorTimeoutMillisDisponible tanto para
mongodcomo paramongos.Por defecto: 600000 (10 minutos)
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.
fassertOnLockTimeoutForStepUpDownNovedades en la versión 5.3.
Disponible tanto para
mongodcomo paramongos.Por defecto: 15 segundos
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
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
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
indexBuildMinAvailableDiskSpaceMBNuevo en la versión 7.1.
Disponible solo para
mongod.Default: 500 MB
Establece el espacio mínimo disponible en disco, en megabytes, que se requiere para la creación de índices.
Debe ser mayor o igual a 0 MB y menor o igual a 8 TB. 0 desactiva el requisito mínimo de espacio en disco.
No se puede iniciar una nueva creación de índices y se cancela una creación de índices actual si el espacio disponible en disco es inferior a
indexBuildMinAvailableDiskSpaceMB.Advertencia
Si se aumenta
indexBuildMinAvailableDiskSpaceMB, es necesario garantizar que el servidor tenga suficiente espacio disponible en el disco. Además, si se estableceindexBuildMinAvailableDiskSpaceMBdemasiado alto, se podría impedir innecesariamente la creación de índices cuando haya suficiente espacio en disco yindexBuildMinAvailableDiskSpaceMBse podría establecer más bajo.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
indexBuildMinAvailableDiskSpaceMBa 650 MB:db.adminCommand( { setParameter: 1, indexBuildMinAvailableDiskSpaceMB: 650 } ) También puedes configurar
indexBuildMinAvailableDiskSpaceMBal inicio. Por ejemplo:mongod --setParameter indexBuildMinAvailableDiskSpaceMB=650
indexMaxNumGeneratedKeysPerDocumentDisponible tanto para
mongodcomo paramongos.Novedades 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.
ingressAdmissionControllerTicketPoolSizeDisponible solo para
mongod.Por defecto:
1000000Controla el número máximo de operaciones admitidas simultáneamente en la cola de ingreso. El valor por defecto de
1000000representa el equivalente numérico del ajuste ilimitado, que admite todas las operaciones entrantes hasta el máximo de conexiones por defecto que permite MongoDB.Aumentar este valor mientras haya operaciones esperando en la cola desbloquea tantas operaciones como lo permita el nuevo tamaño del pool. Reducir este valor no bloquea ninguna operación que se esté ejecutando actualmente, pero las operaciones controlables entrantes se bloquean hasta que haya tickets disponibles.
mongod --setParameter ingressAdmissionControllerTicketPoolSize=100000 Advertencia
Evite modificar
ingressAdmissionControllerTicketPoolSizea menos que lo indiquen los ingenieros de MongoDB. Esta configuración tiene importantes implicaciones tanto en WiredTiger como en MongoDB.
ingressConnectionEstablishmentRateLimiterEnabledNuevo en la versión 8.2: (también disponible en 8.1.1 y 8.0.12)
Disponible tanto para
mongodcomo paramongos.Tipo: booleano
Por defecto:
falseDetermina si está activado el límite de tasa para el establecimiento de nuevas conexiones. Cuando se activa, MongoDB aplica la limitación de tasa para controlar el número de nuevas conexiones que se pueden establecer por segundo.
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.
ingressConnectionEstablishmentRatePerSecNuevo en la versión 8.2: (también disponible en 8.1.1 y 8.0.12)
Disponible tanto para
mongodcomo paramongos.Tipo: int32
Por defecto: desactivado
Mínimo: 1
Especifica el número máximo de conexiones nuevas que se pueden establecer por segundo cuando se activa el límite de tasa.
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.
ingressConnectionEstablishmentBurstCapacitySecsNuevo en la versión 8.2: (también disponible en 8.1.1 y 8.0.12)
Disponible tanto para
mongodcomo paramongos.Tipo: doble
Por defecto: desactivado
Mínimo: 1
Describe cuántos segundos de establecimientos de conexión puede admitir el servidor antes de que comience la limitación de tasa. Esto permite al servidor gestionar ráfagas temporales de solicitudes de conexión que exceden el límite de tasa especificado por
ingressConnectionEstablishmentRatePerSec.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.
ingressConnectionEstablishmentMaxQueueDepthNuevo en la versión 8.2: (también disponible en 8.1.1 y 8.0.12)
Disponible tanto para
mongodcomo paramongos.Tipo: int32
Por defecto:
0(desactivado)Especifica el número máximo de intentos de conexión en la cola de establecimiento de conexión. Una vez que la cola alcanza este número de intentos de conexión, el servidor rechaza nuevos intentos de conexión.
El valor por defecto de
0significa que el servidor rechaza todas las conexiones que se pondrán en cola para establecerse.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.
ingressConnectionEstablishmentRateLimiterBypassNuevo en la versión 8.2: (también disponible en 8.1.1 y 8.0.12)
Disponible tanto para
mongodcomo paramongos.Tipo: arreglo de strings
Por defecto:
[]Proporciona una lista de direcciones IP y rangos CIDR que el servidor debe eximir de los límites de la tasa de establecimiento de conexión. Esto permite a clientes de confianza específicos eludir las restricciones de limitación de velocidad.
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.
maxIndexBuildMemoryUsageMegabytesDisponible solo para
mongod.Default (absolute): 200Minimum (absolute): 50Maximum (percent): 0.8Limita la cantidad de memoria que las compilaciones simultáneas de índices en una colección pueden consumir. La cantidad de memoria especificada se comparte entre todos los índices compilados con un solo comando
createIndexeso su asistente de shelldb.collection.createIndexes(). Aumentar el límite puede evitar impactos negativos en el rendimiento en algunos casos, como al compilar varios índices simultáneamente con un solo comandocreateIndexeso al trabajar con conjuntos de datos de claves de índice que superan los 500GB. La memoria consumida por la compilación de un índice es independiente de la memoria caché de WiredTiger (véasecacheSizeGB).Establezca este valor en 0-0.8 para limitar las compilaciones a un porcentaje de memoria.
Establezca este valor en 1.0 o superior para limitar las compilaciones a un número absoluto de megabytes.
Si esta configuración asigna menos de 50 MB,
mongodutiliza un mínimo de 50 MB. Si la configuración del porcentaje es superior a 0.8,mongodutiliza un máximo del 80 % de la memoria disponible.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.
maxNumActiveUserIndexBuildsDisponible solo para
mongod.Tipo: entero
Por defecto: 3
Establece el número máximo de solicitudes de creación de índices que MongoDB puede realizar de manera concurrente.
maxNumActiveUserIndexBuildses un límite global que se aplica a todas las colecciones.La siguiente tabla muestra los valores predeterminados para
maxNumActiveUserIndexBuildssegún los niveles de Atlas:Atlas TiersmaxNumActiveUserIndexBuilds PredeterminadoNiveles M pequeños (
M10,M20,M30,M40)1Niveles M medianos (
M50,M60)2Niveles M grandes (
M80y superiores, incluidas las variantes NMVe)3Nota
Estos valores predeterminados también se aplican a los niveles de CPU baja
Rcorrespondientes.El comando
createIndexescrea índices. Incluso si el comandocreateIndexescompila varios índices a la vez, la ejecución del comando solo agrega1amaxNumActiveUserIndexBuilds.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 queries no indexadas sin
notablescan, puede leer la sección Analizar el rendimiento del query y usar el parámetrologLevel,mongostaty el perfilado.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.
reportOpWriteConcernCountersInServerStatusDisponible solo para
mongod.Por 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.
slowConnectionThresholdMillisNuevo en la versión 6.3.
Disponible tanto para
mongodcomo paramongos.Por defecto: 100
Establece el límite de tiempo en milisegundos para el registro del establecimiento de conexiones lentas con el servidor.
Si una conexión tarda más en establecerse que el parámetro
slowConnectionThresholdMillis, se agrega un evento al registro con el campo de mensajemsgconfigurado en"Slow connection establishment".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
slowConnectionThresholdMillisa250milisegundos.mongod --setParameter slowConnectionThresholdMillis=250 O, si utiliza el comando
setParameterdentro demongosh:db.adminCommand( { setParameter: 1, slowConnectionThresholdMillis: 250 } )
Advertencia
tcmallocAggressiveMemoryDecommit Está obsoleto 8.0 en. MongoDB 8.0 utiliza una versión actualizada de tcmalloc que mejora la fragmentación y la gestión de la memoria. Consulte la actualización de tcmalloc para obtener más información. Para liberar memoria al sistema operativo, considere tcmallocEnableBackgroundThread usar.
tcmallocEnableBackgroundThreadDisponible tanto para
mongodcomo paramongos.Nuevo en la versión 8.0.
Tipo: booleano
Por defecto: true
Si se establece en
true,tcmallocEnableBackgroundThreadcrea un hilo en segundo plano que periódicamente libera memoria al sistema operativo. El valor detcmallocReleaseRatedetermina la tasa, en bytes por segundo, a la que el hilo en segundo plano libera memoria.Nota
Si
tcmallocEnableBackgroundThreadestrueytcmallocReleaseRatees0, MongoDB sigue liberando memoria.Para mejorar el uso de la memoria, recomendamos utilizar el valor por defecto de
true. Para obtener más información sobre las mejoras en el rendimiento y la gestión de la memoria, consulte TCMalloc mejorado.Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.La siguiente operación establece
tcmallocEnableBackgroundThreadafalse:mongod --setParameter "tcmallocEnableBackgroundThread=false"
tcmallocReleaseRateDisponible tanto para
mongodcomo paramongos.Cambiado en la versión 8.0.
Por defecto: 0
Especifica la tasa de liberación de TCMalloc en bytes por segundo. La tasa de liberación se refiere a la tasa a la que MongoDB libera memoria no utilizada al sistema. Si
tcmallocReleaseRatese establece en0, MongoDB no libera la memoria de vuelta al sistema. Aumente este valor para liberar memoria más rápidamente; redúzcalo para liberar memoria de manera más lenta.Nota
Si
tcmallocEnableBackgroundThreadestrueytcmallocReleaseRatees0, MongoDB sigue liberando memoria.A partir de MongoDB 8.0, el valor por defecto de
tcmallocReleaseRatese reduce a0debido a una actualización de tcmalloc que prioriza el rendimiento de la CPU sobre la liberación de memoria.En versiones anteriores, MongoDB utilizaba una versión más antigua de
tcmallocque:Establezca el valor por defecto de
tcmallocReleaseRatea1.Valores aceptados para
tcmallocReleaseRateentre0y10, inclusive.
Importante
Si ejecuta MongoDB en una plataforma que utiliza
tcmalloc-gperfcomo Windows, PPC o s390x,tcmallocReleaseRatetiene el mismo comportamiento que las versiones anteriores de MongoDB.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
setParameter. Por ejemplo:db.adminCommand( { setParameter: 1, tcmallocReleaseRate: 2097152 } ) También puede configurar
tcmallocReleaseRateal inicio. Por ejemplo:mongod --setParameter "tcmallocReleaseRate=2097152"
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.
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
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 Importante
No ejecutes instancias de producción
mongodconttlMonitorEnableddesactivado, excepto bajo la orientación del soporte de MongoDB. Evitar la eliminación de documentos TTL puede afectar negativamente las operaciones internas del sistema de MongoDB que dependen de los índices TTL.
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 directorio
journaldentro del directorio--dbpathEl 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 puede habilitar el Watchdog del nodo de almacenamiento al inicio. Sin embargo, una vez habilitado, puede pausar el Watchdog de nodo de almacenamiento o cambiar el
watchdogPeriodSecondsdurante el tiempo de ejecución.Una vez habilitado,
Para pausar el Watchdog del nodo de almacenamiento durante el tiempo de ejecución, configura
watchdogPeriodSecondsa -1.db.adminCommand( { setParameter: 1, watchdogPeriodSeconds: -1 } ) Para reanudar o cambiar el período durante el tiempo de ejecución, configure
watchdogPeriodSecondsa un número mayor o igual a 60.db.adminCommand( { setParameter: 1, watchdogPeriodSeconds: 120 } )
Nota
Es un error establecer
watchdogPeriodSecondsen tiempo de ejecución si el Watchdog de nodo de almacenamiento no estaba habilitado al inicio.
Parámetros de registro
enableDetailedConnectionHealthMetricLogLinesNuevo en la versión 7.0.
Disponible tanto para
mongodcomo paramongos.Tipo: booleano
Por defecto: true
Determina si se deben habilitar mensajes de registro específicos relacionados con las métricas de salud de la conexión al clúster. Si
enableDetailedConnectionHealthMetricLogLinesse establece enfalse, los siguientes mensajes de registro se desactivan, pero MongoDB sigue recopilando datos sobre las métricas de estado de la conexión del clúster:Mensaje de registroDescripciónConexión TLS aceptada desde el emparejamiento
Indica que el servidor analizó correctamente el certificado del par durante el protocolo de enlace TLS con una conexión de entrada aceptada.
Handshake TLS de entrada completado
Indica que el handshake TLS con una conexión de ingreso se ha completado.
Hola completado
Indica que el apretón de manos de conexión inicial se completó en una conexión de cliente entrante.
MongoDB muestra el mensaje de registro solo con el primer comando
hello.Informe de métricas de autenticación
Especifica la finalización de un paso en la conversación de autenticación.
Se recibió el primer comando en la conexión de entrada desde el inicio de la sesión o el saludo de autenticación
Indica que una conexión de entrada recibió el primer comando que no forma parte del protocolo de enlace.
Tiempo de envío de respuesta lenta de la red
Indica que el tiempo utilizado en milisegundos para enviar la respuesta al cliente a través de una conexión de entrada es mayor que la duración definida por el parámetro del servidor
slowMS.Verificación completada del lado del cliente de la solicitud OCSP
Si el par no incluye un Respuesta deOCSP al protocolo de enlace TLS: cuando se establece una conexión TLS de salida, el servidor debe enviar una solicitud OCSP a la autoridad de certificación. MongoDB escribe este mensaje de registro cuando la autoridad de certificación recibe la respuesta OCSP.
Establecimiento lento de la conexión
Indica que el tiempo utilizado en enviar una respuesta de vuelta al cliente a través de una conexión de entrada es mayor que el umbral especificado con el parámetro
slowConnectionThresholdMillis. MongoDB también emite este mensaje de registro cuando se agota el tiempo de espera para el establecimiento de la conexión.Se agotó el tiempo de espera mientras se intentaba adquirir la conexión
Indica que una operación agotó el tiempo de espera mientras esperaba adquirir una conexión de salida.
Se adquirió la conexión para la operación remota y se completó la escritura en el bus de datos.
Indica que el servidor tardó un milisegundo o más en guardar una solicitud saliente en una conexión de salida, contando desde el instante en que se establece la conexió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.
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. [2]
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.[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.
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. [3]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 } ) [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 } )
redactEncryptedFieldsNuevo en la versión 6.1.0.
Disponible tanto para
mongodcomo paramongos.Tipo: booleano
Por defecto:
trueConfigura
mongodymongospara redactar los valores de campo de los datos cifrados deBinaryde todos los mensajes de registro.Si el parámetro
redactClientLogDatao la configuraciónsecurity.redactClientLogDatase establece enfalseyredactEncryptedFieldsse establece entrue(el valor por defecto), los campos cifrados se redactan de todos los mensajes de registro.Si el parámetro
redactClientLogDatao la configuraciónsecurity.redactClientLogDatase establece entrue, todos los campos se redactan, independientemente de la configuraciónredactEncryptedFields.
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.
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} )
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 } )
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.
diagnosticDataCollectionDirectoryPathDisponible solo para
mongos.Tipo: string
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:
250(500en clústeres particionados)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.Cambiado en la versión 8.0:
diagnosticDataCollectionDirectorySizeMBtiene un valor por defecto de 400 MB para las instanciasmongosymongodutilizadas en clústeres particionados. Las instanciasmongodutilizadas en el set de réplicas o como servidores autónomos tienen un valor por defecto de 200 MB.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.
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
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
allowMultipleArbitersNovedades en la versión 5.3.
Disponible solo para
mongod.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
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
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.
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,
replSetInitiateyreplSetReconfigrechazarán las configuraciones que utilicen direcciones IP en lugar de nombres de host.Utiliza
disableSplitHorizonIPCheckpara modificar nodos que no se pueden actualizar para usar nombres de host. El parámetro solo se aplica a los comandos de configuración.mongodymongosno dependen dedisableSplitHorizonIPCheckpara la validación al inicio. Las instanciasmongodymongosheredadas 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=truecon la línea de comandos:/usr/local/bin/mongod --setParameter disableSplitHorizonIPCheck=true -f /etc/mongod.conf Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.setParameter: disableSplitHorizonIPCheck: true
enableFlowControlDisponible tanto para
mongodcomo paramongos.Tipo: 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.
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
flowControlTargetLagSecondsDisponible tanto para
mongodcomo paramongos.Tipo: 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.
flowControlWarnThresholdSecondsDisponible tanto para
mongodcomo paramongos.Tipo: 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.
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
initialSyncIndexBuildMemoryPercentageNuevo en la versión 8.2: (y 8.0.13, 7.0.26)
Disponible solo para
mongod.Tipo: doble
Por defecto: 10.0
El porcentaje de memoria del sistema que MongoDB asigna para la creación de índices durante la sincronización inicial. La cantidad de memoria del sistema utilizada está limitada por los valores de
initialSyncIndexBuildMemoryMinMByinitialSyncIndexBuildMemoryMaxMB.Puede especificar un valor entre
0.0y80.0, 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.
Por ejemplo, para establecer
initialSyncIndexBuildMemoryPercentagepara una instancia demongodal 40 %:mongod --setParameter initialSyncIndexBuildMemoryPercentage=40
initialSyncIndexBuildMemoryMaxMBNuevo en la versión 8.2: (y 8.0.13, 7.0.26)
Disponible solo para
mongod.Tipo: entero
Por defecto: 16384
La cantidad máxima de memoria del sistema, en megabytes, que MongoDB puede usar para la creación de índices durante la sincronización inicial.
Puede especificar un valor entre
50y10000000.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
initialSyncIndexBuildMemoryMaxMBpara una instancia demongoda 20000 MB:mongod --setParameter initialSyncIndexBuildMemoryMaxMB=20000
initialSyncIndexBuildMemoryMinMBNuevo en la versión 8.2: (y 8.0.13, 7.0.26)
Disponible solo para
mongod.Tipo: entero
Por defecto: 200
La cantidad mínima de memoria del sistema, en megabytes, que MongoDB puede utilizar para la creación de índices durante la sincronización inicial.
Puede especificar un valor entre
50y10000000.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
initialSyncIndexBuildMemoryMinMBpara una instancia demongoda 60 MB:mongod --setParameter initialSyncIndexBuildMemoryMinMB=60
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.Si el parámetro para el
initialSyncMethodclústerfileCopyBasedes, entonces no hay impacto en los oyentes del flujo de cambios.Si
initialSyncMethodeslogicaly se abre un flujo de cambio en un nodo recién sincronizado y lee eventos de un punto en el tiempo anterior a la finalización de la sincronización inicial lógica, es posible que falten las imágenes previas y posteriores.
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.
initialSyncTransientErrorRetryPeriodSecondsDisponible tanto para
mongodcomo paramongos.Tipo: 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.
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
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
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
maxNumSyncSourceChangesPerHourDisponible tanto para
mongodcomo paramongos.Nuevo 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.
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
mirrorReadsDisponible solo para
mongod.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.targetedMirroringContiene campos para configurar cómo se dirige a nodos específicos para el calentamiento de la caché. Consulte Lecturas espejeadas dirigidas para obtener más información.
Incluye los siguientes campos:
tagSe establece por defecto en un
BSONObjvacío. La etiqueta de set de réplicas que puede usar para dirigir nodos para la lectura espejada. Puede configurar un nodo para la lectura espejada dirigida con la siguiente sintaxis:tag: { "<tag1>": "<string1>" }Solo puede suministrar una etiqueta. Se seleccionan todos los nodos dentro del mismo set de réplicas que tengan estas etiquetas.
samplingRateTipo: float
Rango:
0.0a1.0(incluido)La tasa a la que las lecturas dirigidas se reflejan en el host o los hosts. Una tasa de
0.0significa que no hay lecturas espejadas, y una tasa de1.0significa que todas las lecturas son espejadas. Si biensamplingRatees0.01por defecto, la característicatargetedMirroringestá desactivada, ya que el campotagestá vacío por defecto.maxTimeMSTipo: int
El tiempo máximo en milisegundos antes de que se agote el tiempo de espera de la lectura espejeada. El valor mínimo para
maxTimeMSes0. Se establece por defecto en1000.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 } } )
mirrorReadsMaxConnPoolSizeNuevo en la versión 8.2.
Tipo: int
Por defecto: 4
Controla el número máximo de conexiones en el grupo de reflejo. Este parámetro afecta tanto a las lecturas espejeadas generales como a las dirigidas.
mirrorReadsMaxConnPoolSizetiene un valor mínimo de 1.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.
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.Incrementar
oplogBatchDelayMillishace que MongoDB aplique lotes de oplog con menor frecuencia en los secundarios, donde cada lote contiene mayores cantidades de datos. Esto reduce IOPS en los secundarios, pero agrega latencia para las escrituras con nivel de confirmación de escritura"majority".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
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.
oplogInitialFindMaxSecondsDisponible solo para
mongod.Tipo: entero
Por defecto: 60
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.
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
replBatchLimitBytesDisponible tanto para
mongodcomo paramongos.Default: 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 } )
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'
replWriterMinThreadCountNuevo en la versión 5.0.
Disponible solo para
mongod.Tipo: entero
Por defecto: 0
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.
replWriterThreadCountDisponible solo para
mongod.Tipo: entero
Por defecto: 16
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.
rollbackTimeLimitSecsDisponible solo para
mongod.Tipo: 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.
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
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 } )
Parámetros de partición
analyzeShardKeyCharacteristicsDefaultSampleSizeNuevo en la versión 7.0.
Disponible solo para
mongod.Tipo: entero
Por defecto: 10000000
Si
sampleRateysampleSizeno están configurados cuando ejecutasanalyzeShardKey, especifica el número de documentos a muestrear al calcular las métricas de características de la clave de fragmentación. Debe ser mayor que0.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
analyzeShardKeyCharacteristicsDefaultSampleSizeen10000durante la iniciación:mongod --setParameter analyzeShardKeyCharacteristicsDefaultSampleSize=10000 Durante el tiempo de ejecución, puedes establecer o modificar el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, analyzeShardKeyCharacteristicsDefaultSampleSize: 10000 } )
analyzeShardKeyMonotonicityCorrelationCoefficientThresholdNuevo en la versión 7.0.
Disponible solo para
mongod.Tipo: doble
Por defecto: 0,7
Especifica el umbral del coeficiente de correlación
RecordIdutilizado para determinar si una clave de fragmentación cambia de manera monótona en el orden de inserción. Debe ser mayor que0y menor o igual a1.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
analyzeShardKeyMonotonicityCorrelationCoefficientThresholden1durante la iniciación:mongod --setParameter analyzeShardKeyMonotonicityCorrelationCoefficientThreshold=1 Durante el tiempo de ejecución, puedes establecer o modificar el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, analyzeShardKeyMonotonicityCorrelationCoefficientThreshold: 1 } )
analyzeShardKeyNumMostCommonValuesNuevo en la versión 7.0.
Disponible solo para
mongod.Tipo: entero
Por defecto: 5
Especifica el número de valores de clave de fragmentación más comunes que se deben devolver. Si la colección contiene menos claves de fragmentación únicas que este valor,
analyzeShardKeyNumMostCommonValuesdevuelve ese número de valores más comunes. Debe ser mayor que0y menor o igual a1000.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
analyzeShardKeyNumMostCommonValuesen3durante la iniciación:mongod --setParameter analyzeShardKeyNumMostCommonValues=3 Durante el tiempo de ejecución, puedes establecer o modificar el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, analyzeShardKeyNumMostCommonValues: 3 } )
analyzeShardKeyNumRangesNuevo en la versión 7.0.
Disponible solo para
mongod.Tipo: entero
Por defecto: 100
Especifica el número de rangos en los que se debe particionar el espacio de clave de fragmentación al calcular el calentamiento de los rangos de clave de fragmentación. Debe ser mayor que
0y menor o igual a10000.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
analyzeShardKeyNumRangesen50durante la iniciación:mongod --setParameter analyzeShardKeyNumRanges=50 Durante el tiempo de ejecución, puedes establecer o modificar el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, analyzeShardKeyNumRanges: 50 } )
analyzeShardKeyNumSamplesPerRangeNuevo en la versión 7.0.
Disponible solo para
mongod.Tipo: entero no negativo
Por defecto: 10
El número de documentos que se van a muestrear por rango de clave de partición debe ser un valor mayor que cero y menor o igual a
10000.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
analyzeShardKeyNumSamplesPerRangeen50durante la iniciación:mongod --setParameter analyzeShardKeyNumSamplesPerRange=50 Durante el tiempo de ejecución, puedes establecer o modificar el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, analyzeShardKeyNumSamplesPerRange: 50 } )
autoMergerIntervalSecsNuevo en la versión 7.0.
Disponible solo para
mongod.Tipo: entero
Por defecto: 3600
Cuando AutoMerger está habilitado, especifica el intervalo de tiempo entre las rondas de autofusión, en segundos. El valor por defecto es 3600 segundos, o una hora.
autoMergerIntervalSecssolo se puede configurar en servidores 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
autoMergerIntervalSecsen 7200 segundos, o dos horas, durante la iniciación:mongod --setParameter autoMergerIntervalSecs=7200 Durante el tiempo de ejecución, puedes establecer o modificar el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, autoMergerIntervalSecs: 7200 } )
autoMergerThrottlingMSNuevo en la versión 7.0.
Disponible solo para
mongod.Tipo: entero
Por defecto: 15000
Cuando AutoMerger está habilitado, especifica la cantidad mínima de tiempo entre las fusiones iniciadas por el AutoMerger en la misma colección, en milisegundos.
autoMergerThrottlingMSsolo se puede configurar en servidores 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
autoMergerThrottlingMSen 60000 milisegundos, o un minuto, durante la iniciación:mongod --setParameter autoMergerThrottlingMS=60000 Durante el tiempo de ejecución, puedes establecer o modificar el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, autoMergerThrottlingMS: 60000 } )
balancerMigrationsThrottlingMsNuevo en la versión 7.0: (También disponible a partir de las versiones 6.3.1, 6.0.6, 5.0.18)
Disponible solo para
mongod.Tipo: entero
Por defecto: 1000
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 } )
catalogCacheCollectionMaxEntriesNuevo en la versión 8.1: (también disponible a partir de 8.0.10, 7.0.22)
Tipo: entero
Por defecto: 10000
Disponible tanto para
mongodcomo paramongos.Número máximo de entradas permitidas en la caché del catálogo para colecciones.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
catalogCacheDatabaseMaxEntriesNuevo en la versión 8.1: (también disponible a partir de 8.0.10, 7.0.22)
Tipo: entero
Por defecto: 10000
Disponible tanto para
mongodcomo paramongos.Cantidad máxima de entradas que se permiten en la caché del catálogo para bases de datos.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
chunkDefragmentationThrottlingMSNovedades en la versión 5.3.
Disponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 0
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 } )
directConnectionChecksWithSingleShardNuevo en la versión 7.0.12.
Disponible solo para
mongod.Tipo: booleano
Por defecto: verdadero a partir de MongoDB 8.0.10
Cuando se configura en un clúster particionado con una sola partición, se activan las advertencias de conexión directa. Si un usuario se conecta directamente al clúster de una sola partición,
mongodregistra una advertencia cada hora y actualizashardingStatstics.unauthorizedDirectShardOpscon operaciones directas de partición no autorizadas.Para evitar esto, los usuarios deberían conectarse a clústeres de una sola partición a través de un enrutador, como
mongos.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.
disableResumableRangeDeleterDisponible solo para
mongod.Tipo: booleano
Por defecto: false
Si se establece en el primario de una partición, especifica si MongoDB pausa la eliminación de rangos en la partición. Si se establece en
true, MongoDB pausa la limpieza de rangos que contienen documentos huérfanos. La partición puede seguir donando fragmentos a otras particiones, pero no remueve los documentos donados hasta que establezca este parámetro enfalse. Esta partición puede seguir recibiendo fragmentos de otras particiones siempre que no tenga una tarea pendiente de eliminación de rango en la colecciónconfig.rangeDeletionsque 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.A partir de MongoDB 8.2, puede configurar
disableResumableRangeDeletertanto durante el inicio como en tiempo de ejecución.Para establecer
disableResumableRangeDeleteral inicio, utilice el siguiente comando:mongod --setParameter disableResumableRangeDeleter=false Para establecer
disableResumableRangeDeleterdurante la ejecución, utilice el siguiente comando:db.adminCommand( { setParameter: 1, disableResumableRangeDeleter: false } )
enableFinerGrainedCatalogCacheRefreshNota
Obsoleto en 8.0
A partir de MongoDB 8.0, el parámetro queda en desuso y no provoca cambios ni errores.
Disponible 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
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.
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.
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.
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.A partir de MongoDB 7.1 (y 7.0.1), Puede establecer 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 A partir de MongoDB 7.1 (y 7.0.1), puedes establecer el parámetro durante el tiempo de ejecución con el comando
setParameter:db.adminCommand( { setParameter: 1, maxCatchUpPercentageBeforeBlockingWrites: 20} )
maxTimeMSForHedgedReadsImportante
A partir de MongoDB 8.1, se eliminan las lecturas protegidas y este parámetro no tiene ningún efecto.
metadataRefreshInTransactionMaxWaitBehindCritSecMSObsoleto
Nota
A partir de MongoDB 8.1, el parámetro antiguo
metadataRefreshInTransactionMaxWaitBehindCritSecMSse renombra ametadataRefreshInTransactionMaxWaitMS. Puedes continuar usandometadataRefreshInTransactionMaxWaitBehindCritSecMScomo nombre de parámetro, pero está obsoleto y se eliminará en una versión futura de MongoDB.Nuevo en la versión 5.2: (También disponible a partir de las versiones 5.1.0, 5.0.4)
Cambiado en la versión 8.1.
Disponible solo para
mongod.Tipo: entero
Por defecto: 500
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 } )
metadataRefreshInTransactionMaxWaitMSCambiado en la versión 8.1.
Disponible solo para
mongod.Tipo: entero
Por defecto: 500
Limita el tiempo que un fragmento espera para una sección crítica dentro de una transacción.
Nota
A partir de MongoDB 8.1, el parámetro antiguo
metadataRefreshInTransactionMaxWaitBehindCritSecMSse renombra ametadataRefreshInTransactionMaxWaitMS. Puedes continuar usandometadataRefreshInTransactionMaxWaitBehindCritSecMScomo nombre de parámetro, pero está obsoleto y se eliminará en una versión futura de MongoDB.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.metadataRefreshInTransactionMaxWaitMSlimita 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
metadataRefreshInTransactionMaxWaitMS.Advertencia
Si
metadataRefreshInTransactionMaxWaitMSes 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
metadataRefreshInTransactionMaxWaitMSa 400 milisegundos:db.adminCommand( { setParameter: 1, metadataRefreshInTransactionMaxWaitMS: 400 } )
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 } )
mongosShutdownTimeoutMillisForSignaledShutdownNuevo en la versión 5.0.
Disponible solo para
mongos.Tipo: entero
Por defecto: 15000
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 } )
opportunisticSecondaryTargetingImportante
A partir de MongoDB 8.1, se eliminan las lecturas protegidas y este parámetro no tiene ningún efecto.
orphanCleanupDelaySecsCambiado en la versión 8.2.
Disponible solo para
mongod.Por defecto: 3600 (60 minutos)
Demora mínima antes de que un fragmento migrado se elimine del fragmento de origen.
Antes de borrar un fragmento migrado, MongoDB espera a que las queries en curso que involucran al fragmento se completen en el nodo primario del fragmento y luego espera
orphanCleanupDelaySecssegundos adicionales.A partir de 8.2, el comportamiento de los queries en curso en los secundarios de las particiones se determina por
terminateSecondaryReadsOnOrphanCleanup.Si una partición tiene restricciones de almacenamiento, considere reducir este valor de forma temporal. Si ejecuta queries que superan los 60 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 } ) Tip
En todas las versiones, el nuevo valor de
orphanCleanupDelaySecsse aplica solo 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, fuerza un paso hacia abajo.
persistedChunkCacheUpdateMaxBatchSizeNuevo en la versión 7.2: (y 7.1.1, 7.0.4, 6.0.13, 5.0.25)
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 de forma individual (lo que significa que se eliminaba una entrada y se insertaba una nueva). A partir de MongoDB 7.2, 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 un gran número 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 } )
queryAnalysisSampleExpirationSecsNuevo en la versión 7.0.
Disponible solo para
mongod.Tipo: entero
Por defecto: 7 * 24 * 3600
Cantidad de tiempo, en segundos, durante el cual un documento de query muestreado existe antes de ser eliminado por el monitor TTL. Debe ser mayor que
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.
Este ejemplo establece
queryAnalysisSampleExpirationSecsen691200(8 * 24 * 3600) durante la iniciación en una instanciamongod:mongod --setParameter queryAnalysisSampleExpirationSecs=691200 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, queryAnalysisSampleExpirationSecs: 691200 } )
queryAnalysisSamplerConfigurationRefreshSecsNuevo en la versión 7.0.
Modificado en la versión 7.0.1.
Disponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 10
Intervalo en el que un muestreador (
mongosomongod) actualiza las velocidades de muestra de su analizador de queries.La velocidad de muestra configurada por el comando
configureQueryAnalyzerse divide entremongosinstancias en el clúster fragmentado omongodinstancias en el set de réplicas según el tráfico que pasa. Para que la asignación de la velocidad de muestra para unmongosomongodresponda mejor al tráfico que pasa, reduce este valor.Recomendamos utilizar el valor por defecto.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.A partir de MongoDB 7.0.1, puedes configurar
queryAnalysisSamplerConfigurationRefreshSecsdurante el tiempo de ejecución.Este ejemplo establece
queryAnalysisSamplerConfigurationRefreshSecsen 60 segundos durante la iniciación en una instanciamongod:mongod --setParameter queryAnalysisSamplerConfigurationRefreshSecs=60 Este ejemplo establece
queryAnalysisSamplerConfigurationRefreshSecsen 60 segundos durante la iniciación en una instanciamongos:mongos --setParameter queryAnalysisSamplerConfigurationRefreshSecs=60 Para establecer el valor en 30 segundos, ejecute el siguiente comando:
db.adminCommand( { setParameter: 1, queryAnalysisSamplerConfigurationRefreshSecs: 30 } )
queryAnalysisWriterIntervalSecsNuevo en la versión 7.0.
Modificado en la versión 7.0.1.
Disponible solo para
mongod.Tipo: entero
Por defecto: 90
Intervalo en el que las queries muestreadas se escriben en el disco, en segundos.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.A partir de MongoDB 7.0.1, puedes configurar
queryAnalysisWriterIntervalSecsdurante el tiempo de ejecución.Este ejemplo establece
queryAnalysisWriterIntervalSecsen 60 segundos durante la iniciación en una instanciamongod:mongod --setParameter queryAnalysisWriterIntervalSecs=60 Para establecer el valor en 60 segundos, ejecute el siguiente comando:
db.adminCommand( { setParameter: 1, queryAnalysisWriterIntervalSecs: 60 } )
queryAnalysisWriterMaxBatchSizeNuevo en la versión 7.0.
Disponible solo para
mongod.Tipo: entero
Por defecto: 100000
Número máximo de consultas muestreadas para guardar en disco de una vez. Debe ser mayor que
0y menor o igual a100000.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
queryAnalysisWriterMaxBatchSizeen1000durante la iniciación en una instanciamongod:mongod --setParameter queryAnalysisWriterMaxBatchSize=1000 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, queryAnalysisWriterMaxBatchSize: 1000 } )
queryAnalysisWriterMaxMemoryUsageBytesNuevo en la versión 7.0.
Disponible solo para
mongod.Tipo: entero
Por defecto: 100 * 1024 * 1024
Cantidad máxima de memoria en bytes que el escritor de muestreo de queries tiene permitido usar. Una vez alcanzado el límite, todas las nuevas consultas y diferencias se descartan del muestreo hasta que se vacíe el búfer. Debe ser mayor que
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.
Este ejemplo establece
queryAnalysisWriterMaxMemoryUsageBytesen10000000durante la iniciación en una instanciamongod:mongod --setParameter queryAnalysisWriterMaxMemoryUsageBytes=10000000
rangeDeleterBatchDelayMSDisponible solo para
mongod.Tipo: entero no negativo
Por defecto: 20
La cantidad de tiempo en milisegundos que se esperará antes de la siguiente agrupación de eliminación durante la etapa de limpieza de migración de rango.
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 } ) Tip
En versiones anteriores a 6.0.3, el nuevo valor de
rangeDeleterBatchDelayMSsolo 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.
rangeDeleterBatchSizeDisponible solo para
mongod.Tipo: entero no negativo
Por defecto: 2147483647 a partir de MongoDB 5.1.2 y 5.0.6
El número máximo de documentos que deben borrarse en cada grupo durante la etapa de limpieza de migración de rango.
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.
readHedgingModeImportante
A partir de MongoDB 8.1, se eliminan las lecturas protegidas y este parámetro no tiene ningún efecto.
routingTableCacheChunkBucketSizeNuevo en la versión 7.0.1.
Modificado en la versión 7.2.
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=250
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.
ShardingTaskExecutorPoolHostTimeoutMSDisponible tanto para
mongodcomo paramongos.Tipo: entero
Valor por defecto: 300000 (5 minutos)
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 } )
ShardingTaskExecutorPoolMaxConnectingDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 2
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 } )
ShardingTaskExecutorPoolMaxSizeDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 2 64 - 1
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.
ShardingTaskExecutorPoolMaxQueueDepthNuevo en la versión 8.2.
Disponible tanto para
mongodcomo paramongos.Tipo: entero no negativo
Por defecto: 0
El número máximo de solicitudes de conexión que un ejecutor pone en cola antes de que comience a rechazar solicitudes adicionales.
Un valor de
0significa que no hay límite para el tamaño de la cola.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.
En el siguiente ejemplo, se establece
ShardingTaskExecutorPoolMaxQueueDepthen10durante el inicio:mongos --setParameter ShardingTaskExecutorPoolMaxQueueDepth=10 Durante el tiempo de ejecución, también puedes establecer el parámetro con el comando
setParameter:db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxQueueDepth: 10 } )
ShardingTaskExecutorPoolMaxSizeForConfigServersNovedades en la versión 6.0.
Disponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: -1
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 } )
ShardingTaskExecutorPoolMinSizeDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 1
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.
Disponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: -1
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 } )
ShardingTaskExecutorPoolRefreshRequirementMSDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 60000 (1 minuto)
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 } )
ShardingTaskExecutorPoolRefreshTimeoutMSDisponible tanto para
mongodcomo paramongos.Tipo: entero
Por defecto: 20000 (20 segundos)
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" } )
shutdownTimeoutMillisForSignaledShutdownNuevo en la versión 5.0.
Disponible solo para
mongod.Tipo: entero
Por defecto: 15000
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 } )
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.
taskExecutorPoolSizeDisponible solo para
mongos.Tipo: entero
Por defecto: 1
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.
El valor por defecto de
taskExecutorPoolSizees1: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
terminateSecondaryReadsOnOrphanCleanupDisponible solo para
mongod.Nuevo en la versión 8.2.
Tipo: booleano
Por defecto: true
Controla si las operaciones de lectura de larga duración en nodos secundarios se terminan automáticamente antes de la eliminación de documentos huérfanos tras una migración de fragmentos.
En los clústeres particionados, cuando un fragmento migra con éxito de la partición de origen a la partición de destino, MongoDB no remueve inmediatamente los documentos migrados de la partición de origen. En cambio, el primario de la partición de origen espera a que se complete cualquier lectura en curso que implique el namespace del fragmento migrado y, después de eso, espera un periodo adicional controlado por
orphanCleanupDelaySecs(por defecto: 1 hora). Este retraso adicional permite que cualquier lectura secundaria de larga duración finalice antes de que los documentos huérfanos se borren de la partición de origen.Después de que los documentos huérfanos se eliminen de la partición de origen, cualquier lectura en curso que se ejecute en los nodos secundarios que haya comenzado antes de la migración de fragmentos puede omitir documentos sin devolver un error, a menos que
terminateSecondaryReadsOnOrphanCleanupse establezca entrue.Cuando
terminateSecondaryReadsOnOrphanCleanupse establece entrue, las operaciones de lectura en nodos secundarios que comenzaron antes de la confirmación de la migración de fragmentos se terminan automáticamente antes de que los documentos huérfanos se eliminen del nodo secundario. Esto impide que las lecturas secundarias prolongadas omitan silenciosamente documentos que se trasladaron durante la migración.Cuando se establece en
false, las operaciones de lectura en nodos secundarios continúan ejecutándose incluso después de que se borren los documentos huérfanos. Las operaciones pueden omitir documentos silenciosamente sin notificar un error. Esto coincide con el comportamiento en las versiones de MongoDB anteriores a 8.2.Nota
Este comportamiento solo afecta a las operaciones de lectura que comienzan antes de la confirmación de la migración de fragmentos. Se aplica a todas las operaciones de lectura en los secundarios, incluidos los queries, las agregaciones y las operaciones que abarcan varios namespaces.
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.
Respuesta de error
Cuando una operación de lectura termina debido a
terminateSecondaryReadsOnOrphanCleanup, MongoDB devuelve el siguiente error:{ code: 175, name: QueryPlanKilled, categories: [CursorInvalidatedError], errmsg: "Read has been terminated due to orphan range cleanup" } Este error no se puede reintentar por diseño. Para obtener más información sobre el manejo de estos errores, consulte Lecturas secundarias de larga duración en clústeres particionados.
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.
Parámetros del gestor de verificaciones de estado
activeFaultDurationSecsDisponible solo para
mongos.Tipo: documento
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
healthMonitoringIntensitiesDisponible solo para
mongos.Tipo: arreglo de documentos
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\"} ] }"
healthMonitoringIntervalsDisponible solo para
mongos.Tipo: arreglo de documentos
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}] }"
progressMonitorDisponible solo para
mongos.Tipo: documento
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
enableAutoCompactionDisponible tanto para
mongodcomo paramongos.Nuevo en la versión 8.1.0.
Tipo: booleano
Por defecto: false
Especifica si la instancia ejecuta la compactación automática en segundo plano.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.El siguiente ejemplo permite la compactación automática en segundo plano en la instancia:
mongod --setParameter "enableAutoCompaction=true"
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.
Disponible solo para
mongod.Por defecto:
300El 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.
storageEngineConcurrentReadTransactionsModificado en la versión 7.0.
Disponible solo para
mongod.Tipo: entero
Especifica el número máximo de transacciones de lectura concurrentes (tickets de lectura) permitidos en el motor de almacenamiento.
Nota
A partir de la versión 7.0, MongoDB ajusta dinámicamente la cantidad de tickets para optimizar el rendimiento, con un valor máximo posible de 128.
Modificar este valor puede causar problemas de rendimiento o errores. Para determinar si la desactivación del algoritmo de transacciones dinámicas concurrentes del motor de almacenamiento es la opción óptima para el clúster, póngase en contacto con el soporte de MongoDB.
A partir de MongoDB 7.0, este parámetro está disponible para todos los motores de almacenamiento. En versiones anteriores, este parámetro está disponible únicamente para el motor de almacenamiento WiredTiger.
storageEngineConcurrentWriteTransactionsModificado en la versión 7.0.
Disponible solo para
mongod.Tipo: entero
Especifica el número máximo de transacciones de escritura concurrentes permitidas en el motor de almacenamiento WiredTiger.
Nota
A partir de la versión 7.0, MongoDB ajusta dinámicamente la cantidad de tickets para optimizar el rendimiento, con un valor máximo posible de 128.
Modificar este valor puede causar problemas de rendimiento o errores. Para determinar si la desactivación del algoritmo de transacciones dinámicas concurrentes del motor de almacenamiento es la opción óptima para el clúster, póngase en contacto con el soporte de MongoDB.
A partir de MongoDB 7.0, este parámetro está disponible para todos los motores de almacenamiento. En versiones anteriores, este parámetro está disponible únicamente para el motor de almacenamiento WiredTiger.
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.
temporarilyUnavailableBackoffBaseMsDisponible solo para
mongod.Por defecto: 1000
Especifica la demora inicial antes de volver a intentar una operación de escritura que se revirtió debido a la presión de la caché.
En raras circunstancias, una escritura puede fallar debido a la presión de la caché. Cuando esto sucede, MongoDB emite un error
TemporarilyUnavailablee incrementa el contadortemporarilyUnavailableErrorsen dos lugares: el registro de consultas lentas y la Captura de datos de diagnóstico a tiempo completo (FTDC).Las operaciones individuales dentro de transacciones multi-documento nunca devuelven errores
TemporarilyUnavailable.Ajuste las propiedades de reintento de guardado modificando los parámetros
temporarilyUnavailableBackoffBaseMsytemporarilyUnavailableMaxRetries.El parámetro acepta:
ValorDescripcióninteger >= 0Se establece por defecto en 1 segundo. La demora inicial entre los reintentos. El valor aumenta con cada reintento hasta un máximo de 55 segundos. Un valor mayor aumenta la probabilidad de que la presión de la caché se reduzca antes del siguiente intento.
Para configurar la cantidad de reintentos, utiliza
temporarilyUnavailableMaxRetries.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 establecer un nuevo valor, usa
db.adminCommand():db.adminCommand( { setParameter: 1, temporarilyUnavailableBackoffBaseMs: 3 } ) Nuevo en la versión 6.1.0.
temporarilyUnavailableMaxRetriesDisponible solo para
mongod.Por defecto: 10
Especifica el número máximo de reintentos cuando una operación de escritura se revierte debido a la presión de la caché.
En raras circunstancias, una escritura puede fallar debido a la presión de la caché. Cuando esto sucede, MongoDB emite un error
TemporarilyUnavailablee incrementa el contadortemporarilyUnavailableErrorsen dos lugares: el registro de consultas lentas y la Captura de datos de diagnóstico a tiempo completo (FTDC).Las operaciones individuales dentro de transacciones multi-documento nunca devuelven errores
TemporarilyUnavailable.Ajuste las propiedades de reintento de guardado modificando los parámetros
temporarilyUnavailableBackoffBaseMsytemporarilyUnavailableMaxRetries.El parámetro acepta:
ValorDescripcióninteger >= 0La cantidad máxima de reintentos.
Hay una demora creciente entre los reintentos. Para configurar el tiempo de espera, utiliza
temporarilyUnavailableBackoffBaseMs.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 establecer un nuevo valor, usa
db.adminCommand():db.adminCommand( { setParameter: 1, temporarilyUnavailableMaxRetries: 5 } ) Nuevo en la versión 6.1.0.
upsertMaxRetryAttemptsOnDuplicateKeyErrorDisponible tanto para
mongodcomo paramongos.Nuevo en la versión 8.1.0.
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
wiredTigerConcurrentReadTransactionsDisponible solo para
mongod.Tipo: entero
Especifica el número máximo de transacciones de lectura concurrentes (tickets de lectura) permitidos en el motor de almacenamiento.
Nota
A partir de la versión 7.0, MongoDB ajusta dinámicamente la cantidad de tickets para optimizar el rendimiento, con un valor máximo posible de 128.
Modificar este valor puede causar problemas de rendimiento o errores. Para determinar si la desactivación del algoritmo de transacciones dinámicas concurrentes del motor de almacenamiento es la opción óptima para el clúster, póngase en contacto con el soporte de MongoDB.
A partir de MongoDB 7.0, este parámetro está disponible para todos los motores de almacenamiento. En versiones anteriores, este parámetro está disponible únicamente para el motor de almacenamiento WiredTiger.
Cambiado en la versión 6.0.
Se cambió el nombre del parámetro
wiredTigerConcurrentReadTransactionsastorageEngineConcurrentReadTransactions.
wiredTigerConcurrentWriteTransactionsDisponible solo para
mongod.Tipo: entero
Especifica el número máximo de transacciones de escritura concurrentes permitidas en el motor de almacenamiento WiredTiger.
Nota
A partir de la versión 7.0, MongoDB ajusta dinámicamente la cantidad de tickets para optimizar el rendimiento, con un valor máximo posible de 128.
Modificar este valor puede causar problemas de rendimiento o errores. Para determinar si la desactivación del algoritmo de transacciones dinámicas concurrentes del motor de almacenamiento es la opción óptima para el clúster, póngase en contacto con el soporte de MongoDB.
A partir de MongoDB 7.0, este parámetro está disponible para todos los motores de almacenamiento. En versiones anteriores, este parámetro está disponible únicamente para el motor de almacenamiento WiredTiger.
Cambiado en la versión 6.0.
Se cambió el nombre del parámetro
wiredTigerConcurrentWriteTransactionsastorageEngineConcurrentWriteTransactions.
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
wiredTigerSessionMaxNuevo en la versión 8.1.
Tipo: entero de 32bits
Por defecto: 33000
Disponible solo para
mongod.Cantidad máxima de sesiones qie permite WiredTiger.
Este parámetro solo está disponible al inicio. Para establecer el parámetro, utilice la configuración
setParameter.
Consulte la documentación de WiredTiger para ver todas las opciones de configuración de WiredTiger disponibles.
Parámetros de auditoría
auditAuthorizationSuccessDisponible tanto para
mongodcomo paramongos.Tipo: booleano
Por defecto: false
Nota
Disponible solo en MongoDB Enterprise y MongoDB Atlas.
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
auditConfigPollingFrequencySecsDisponible tanto para
mongodcomo paramongos.Nuevo 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
Al usar el valor por defecto de 300 segundos, los nodos no configurados pueden demorarse hasta 5 minutos después de que configure el parámetro de clúster
auditConfig.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.
Disponible tanto para
mongodcomo paramongos.Tipo: string
Nota
Disponible solo en MongoDB Enterprise. MongoDB Enterprise y Atlas tienen diferentes requisitos de configuración.
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.
Disponible tanto para
mongodcomo paramongos.Tipo: booleano
Por defecto: false
Nota
Disponible solo en MongoDB Enterprise. MongoDB Enterprise y Atlas tienen diferentes requisitos de configuración.
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
AbortExpiredTransactionsSessionCheckoutTimeoutNuevo en la versión 8.1: (también disponible en 8.0.13)
Disponible solo para
mongod.Tipo: entero
Por defecto: 100 milisegundos
Una sesión se toma de un grupo de sesiones para ejecutar operaciones de base de datos.
AbortExpiredTransactionsSessionCheckoutTimeoutestablece la cantidad máxima de milisegundos para que una sesión se revise al intentar finalizar una transacción expirada.Si la transacción caducada se finaliza correctamente, MongoDB incrementa
metrics.abortExpiredTransactions.successfulKills. Si la transacción no se completa con éxito porque se agotó el tiempo de espera al intentar verificar una sesión, MongoDB incrementametrics.abortExpiredTransactions.timedOutKills.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
AbortExpiredTransactionsSessionCheckoutTimeouta120milisegundos:db.adminCommand( { setParameter: 1, AbortExpiredTransactionsSessionCheckoutTimeout: 120 } ) También puede establecer este parámetro durante el inicio: Por ejemplo:
mongod --setParameter AbortExpiredTransactionsSessionCheckoutTimeout=120
coordinateCommitReturnImmediatelyAfterPersistingDecisionNuevo en la versión 5.0.
Se actualizó en la versión 6.1
Disponible solo para
mongod.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.
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 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.2.
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
Parámetros de ejecución basados en ranuras
planCacheSizeNuevo en la versión 6.3.
Disponible solo para
mongod.Tipo: string
Por defecto: 5 %
Nota
Aunque el parámetro
planCacheSizeexistía en versiones anteriores de MongoDB, no tuvo ningún efecto en la caché del plan hasta la versión 6.3.Establece el tamaño de la caché del plan solo para el motor de ejecución de queries basado en ranuras.
Puede establecer el valor de
planCacheSizeen cualquiera de los siguientes:Un porcentaje de la memoria física total del sistema que se debe asignar para la caché del plan. Por ejemplo,
"8.5%".La cantidad exacta de datos que se debe asignar para la caché del plan en
MBoGB. Por ejemplo,"100MB"o"1GB".
Aumentar el tamaño de la caché del plan agrega más formas de query para el planificador de queries. Esto puede mejorar el rendimiento de las queries, pero aumenta el uso de memoria.
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 de inicio configura
planCacheSizea 80 megabytes:mongod --setParameter planCacheSize="80MB" También puede usar el comando
setParameterdentro de MongoDB Shell:db.adminCommand( { setParameter: 1, planCacheSize: "80MB" } )