문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/

MongoDB 서버 매개변수

이 페이지의 내용

  • 개요
  • 매개변수
  • 인증 매개변수
  • 일반 매개변수
  • 로깅 매개변수
  • 진단 매개변수
  • 복제 및 일관성
  • 샤딩 매개변수
  • 상태 관리자 매개변수
  • 스토리지 매개변수
  • WiredTiger 매개변수
  • 감사 매개변수
  • 트랜잭션 매개변수

MongoDB는 다음을 사용하여 설정할 수 있는 다양한 구성 옵션을 제공합니다:

  • setParameter 명령:

    db.adminCommand( { setParameter: 1, <parameter>: <value> } )
  • setParameter 구성 설정:

    setParameter:
    <parameter1>: <value1>
    ...
  • mongos3} 및 에 --setParameter mongod대한 명령줄 옵션을 사용합니다:

    mongod --setParameter <parameter>=<value>
    mongos --setParameter <parameter>=<value>

추가 구성 옵션은 구성 파일 옵션, mongodmongos참조하세요.

authenticationMechanisms

mongodmongos 모두에 사용할 수 있습니다.

서버가 수락하는 인증 메커니즘 목록을 지정합니다. 다음 값 중 하나 이상으로 설정합니다. 여러 값을 지정하는 경우 공백 없이 쉼표로 구분된 목록을 사용하세요. 인증 메커니즘에 대한 설명은 인증을 참조하십시오.

설명
SCRAM-SHA-1
RFC 5802 표준 SHA-1 해시 함수를 사용하는 솔티드 챌린지 응답 인증 메커니즘.
RFC 7677 표준 SHA-256 해시 함수를 사용하는 솔티드 챌린지 응답 인증 메커니즘.
MongoDB TLS/SSL 인증서 인증.
GSSAPI(Kerberos)
Kerberos를 사용한 외부 인증. 이 메커니즘은 MongoDB Enterprise 에서만 사용할 수 있습니다.
PLAIN (LDAP SASL)
LDAP를 사용한 외부 인증. PLAIN 을(를) 사용하여 데이터베이스 내 사용자를 인증할 수도 있습니다. PLAIN 은(는) 비밀번호를 일반 텍스트로 전송합니다. 이 메커니즘은 MongoDB Enterprise 에서만 사용할 수 있습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어, PLAINSCRAM-SHA-256 모두 인증 메커니즘으로 지정하려면 다음 명령을 사용합니다.

mongod --setParameter authenticationMechanisms=PLAIN,SCRAM-SHA-256 --auth
awsSTSRetryCount

버전 6 에서 변경되었습니다.0.7: ( 5.0.18 에서도 시작됨)

이전 버전에서는 서버가 HTTP 500 오류를 반환한 경우에만 AWS IAM 인증을 재시도했습니다.

mongodmongos 모두에 사용할 수 있습니다.

유형: integer

기본값: 2

AWS IAM 자격 증명 을 사용하는 MongoDB deployment의 경우 또는 AWS IAM 환경 변수.

연결 실패 후 AWS IAM 인증을 다시 시도할 수 있는 최대 횟수입니다.

다음 예시에서는 awsSTSRetryCount에서 15의 재시도를 설정합니다.

mongod --setParameter awsSTSRetryCount=15

또는 다음 예제에서는 setParameter 명령을 mongosh 내에서 사용합니다.

db.adminCommand( { setParameter: 1, awsSTSRetryCount: 15 } )
clusterAuthMode

mongodmongos 모두에 사용할 수 있습니다.

clusterAuthModesendX509 또는 x509 으로 설정합니다. 롤링 업그레이드 시 멤버십 인증에 x509를 사용하여 다운타임을 최소화하는 데 유용합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

이 매개변수는 런타임에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 명령을 사용합니다.

db.adminCommand( { setParameter: 1, clusterAuthMode: "sendX509" } )
enableLocalhostAuthBypass

mongodmongos 모두에 사용할 수 있습니다.

로컬 호스트 인증 우회를 사용하지 않으려면 0 또는 false 을 지정합니다. 기본적으로 활성화되어 있습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

자세한 내용은 Localhost 예외를 참조하세요.

KeysRotationIntervalSec

기본값: 7776000초(90일)

HMAC 서명 키 가 유지되는 시간(초)을 지정합니다. 다음 항목으로 회전하기 전에 유효합니다. 이 매개변수는 주로 인증 테스트를 용이하게 하기 위한 것입니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

ldapForceMultiThreadMode

기본값: false

LDAP 작업을 동시에 수행할 수 있도록 설정합니다.

참고

libldap 인스턴스가 이 모드에서 사용하기에 안전하다고 확신하는 경우에만 이 플래그를 활성화하세요. 사용 중인 libldap 버전이 스레드로부터 안전하지 않은 경우 MongoDB 프로세스 충돌이 발생할 수 있습니다.

LDAP 연결 풀을 사용하려면 ldapForceMultiThreadMode 를 사용해야 합니다. LDAP 연결 풀을 활성화하려면 ldapForceMultiThreadModeldapUseConnectionPool 을(를) true(으)로 설정합니다.

MongoDB 버전, OS 버전 또는 libldap 버전과 관련하여 우려 사항이 있는 경우 MongoDB 지원팀에 문의하십시오.

ldapQueryPassword

mongodmongos 모두에 사용할 수 있습니다.

유형: 문자열

LDAP 서버에 바인딩하는 데 사용되는 비밀번호입니다. 이 매개변수와 함께 ldapQueryUser를 사용해야 합니다.

설정하지 않으면 mongod 또는 mongos가 LDAP 서버에 바인딩을 시도하지 않습니다.

ldapQueryUser

mongodmongos 모두에 사용할 수 있습니다.

유형: 문자열

LDAP 서버에 바인딩하는 사용자입니다. 이 매개변수와 함께 ldapQueryPassword 를 사용해야 합니다.

설정하지 않으면 mongod 또는 mongos가 LDAP 서버에 바인딩을 시도하지 않습니다.

ldapRetryCount

버전 6.1에 추가.

mongodmongos 모두에 사용할 수 있습니다.

유형: integer

기본값: 0

LDAP 인증을 사용하는 MongoDB deployment의 경우.

네트워크 오류 후 서버 LDAP 관리자가 작업을 다시 시도한 횟수입니다.

예를 들어 다음은 ldapRetryCount에서 3초로 설정합니다.

mongod --ldapRetryCount=3

또는 mongosh 내에서 setParameter 명령을 사용하는 경우:

db.adminCommand( { setParameter: 1, ldapRetryCount: 3 } )
ldapUserCacheInvalidationInterval

버전 5.2에서 변경되었습니다.

mongod 에만 사용 가능합니다.

참고

MongoDB 5.2부터 LDAP 서버에서 검색된 캐시된 사용자 정보의 업데이트 간격은 ldapShouldRefreshUserCacheEntries에 따라 달라집니다.

LDAP 권한 부여 를 사용하는 MongoDB deployment에 사용됩니다. mongod 인스턴스에만 사용할 수 있습니다.

mongod 2} 인스턴스가 외부 사용자 캐시 플러시 사이에 대기하는 간격(초)입니다. MongoDB가 외부 사용자 캐시를 플러시한 후 MongoDB는 다음에 LDAP 권한이 부여된 사용자가 조작을 발행할 때 LDAP 서버에서 권한 부여 데이터를 다시 가져옵니다.

지정된 값을 늘리면 MongoDB와 LDAP 서버가 동기화되지 않을 수 있는 시간이 늘어나지만 LDAP 서버의 로드는 줄어듭니다. 반대로 지정한 값을 줄이면 MongoDB와 LDAP 서버가 동기화되지 않을 수 있는 시간이 줄어드는 반면 LDAP 서버의 부하가 증가합니다.

기본값은 30초입니다.

ldapUserCacheRefreshInterval

버전 5.2에 추가되었습니다.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 30초

참고

MongoDB 5.2부터 LDAP 서버에서 검색된 캐시된 사용자 정보의 업데이트 간격은 ldapShouldRefreshUserCacheEntries에 따라 달라집니다.

LDAP 인증을 사용하는 MongoDB deployment의 경우.

mongod 2}가 LDAP 서버에서 캐시된 사용자 정보를 새로 고치기 전에 대기하는 간격(초)입니다.

최대 간격은 86,400초(24시간)입니다.

예를 들어 다음은 ldapUserCacheRefreshInterval에서 4000초로 설정합니다.

mongod --setParameter ldapUserCacheRefreshInterval=4000

또는 mongosh 내에서 setParameter 명령을 사용하는 경우:

db.adminCommand( { setParameter: 1, ldapUserCacheRefreshInterval: 4000 } )
ldapUserCacheStalenessInterval

버전 5.2에 추가되었습니다.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 90초

LDAP 인증을 사용하는 MongoDB deployment의 경우.

마지막 캐시 새로 고침 후 mongod 캐시된 LDAP 사용자 정보를 유지하는 간격(초)입니다.

LDAP 서버에서 사용자 정보를 새로 고치지 않고 ldapUserCacheStalenessInterval초 이상 경과하면 mongod는 다음을 수행합니다.

  • 캐시된 LDAP 사용자 정보를 무효화합니다.

  • 2}이 (가) LDAP 서버에 연결하여 LDAP 사용자에게 권한을 부여할 때까지 LDAP 사용자에 대한 새 세션을 인증할 수 없습니다.mongod

  • 2}가 LDAP 서버에 연결할 수 없는 경우 이전에 인증된 LDAP 사용자를 사용하는 모든 기존 세션에 권한을 부여합니다.mongod 5}가 LDAP 서버에 mongod mongod 다시 연결하면 은 LDAP 사용자에게 올바른 권한이 부여되었는지 확인합니다.

최대 간격은 86,400초(24시간)입니다.

예를 들어 다음은 ldapUserCacheStalenessInterval에서 4000초로 설정합니다.

mongod --setParameter ldapUserCacheStalenessInterval=4000

또는 mongosh 내에서 setParameter 명령을 사용하는 경우:

db.adminCommand( { setParameter: 1, ldapUserCacheStalenessInterval: 4000 } )
ldapUseConnectionPool

MongoDB가 인증/권한 부여를 위해 LDAP 서버에 연결할 때 연결 풀링을 사용해야 하는지 여부를 지정합니다.

MongoDB는 다음과 같은 기본값을 사용합니다:

  • Windows에서는 true입니다.

  • libldap_r에 대해 몽고DB 엔터프라이즈 바이너리가 연결된 Linux에서 true입니다.

  • libldap에 대해 몽고DB 엔터프라이즈 바이너리가 연결된 Linux에서는 false입니다.

시작 중에만 ldapUseConnectionPool 를 설정할 수 있으며 setParameter 데이터베이스 명령으로 이 설정을 변경할 수 없습니다.

ldapConnectionPoolUseLatencyForHostPriority

기본값: true

LDAP 연결 풀(ldapUseConnectionPool 참조)에서 LDAP 서버의 대기 시간을 사용하여 연결 순서(대기 시간이 가장 짧은 순서에서 가장 긴 순서로)를 결정할지 여부를 결정하는 부울입니다.

시작 중에만 ldapConnectionPoolUseLatencyForHostPriority 를 설정할 수 있으며, 런타임 중에 setParameter 데이터베이스 명령을 사용하여 이 설정을 변경할 수 없습니다.

ldapConnectionPoolMinimumConnectionsPerHost

기본값: 1

각 LDAP 서버에 대해 열려 있어야 하는 최소 연결 수입니다.

시작 중에만 ldapConnectionPoolMinimumConnectionsPerHost 를 설정할 수 있으며, 런타임 중에 setParameter 데이터베이스 명령을 사용하여 이 설정을 변경할 수 없습니다.

ldapConnectionPoolMaximumConnectionsPerHost

MongoDB 버전 5.0.9 및 6.0.0부터 변경됨 기본값이 2147483647로 변경되었습니다. 이전 버전에서는 기본값이 설정되지 않았습니다.

기본값: 2147483647

각 LDAP 서버에 대해 열려 있어야 하는 최대 연결 수입니다.

시작 중에만 ldapConnectionPoolMaximumConnectionsPerHost 를 설정할 수 있으며, 런타임 중에 setParameter 데이터베이스 명령을 사용하여 이 설정을 변경할 수 없습니다.

ldapConnectionPoolMaximumConnectionsInProgressPerHost

MongoDB 버전 5.0.9 및 6.0.0부터 변경됨 기본값이 2로 변경되었습니다. 이전 버전에서는 기본값이 설정되지 않았습니다.

기본값: 2

각 LDAP 서버에 대해 진행 중인 연결 작업의 최대 수입니다.

시작 중에만 ldapConnectionPoolMaximumConnectionsInProgressPerHost 를 설정할 수 있으며 setParameter 데이터베이스 명령으로 이 설정을 변경할 수 없습니다.

ldapConnectionPoolHostRefreshIntervalMillis

기본값: 60000

풀링된 LDAP 연결의 상태 확인 사이의 시간(밀리초)입니다.

시작 중에만 ldapConnectionPoolHostRefreshIntervalMillis 를 설정할 수 있으며 setParameter 데이터베이스 명령으로 이 설정을 변경할 수 없습니다.

ldapConnectionPoolIdleHostTimeoutSecs

기본값: 300

LDAP 서버에 대한 풀링된 연결이 닫히기 전에 유휴 상태로 유지될 수 있는 최대 시간(초)입니다.

시작 중에만 ldapConnectionPoolIdleHostTimeoutSecs 를 설정할 수 있으며 setParameter 데이터베이스 명령으로 이 설정을 변경할 수 없습니다.

ldapShouldRefreshUserCacheEntries

버전 5.2에 추가되었습니다.

mongod 에만 사용 가능합니다.

유형: 부울

기본값: true

LDAP 인증을 사용하는 MongoDB deployment의 경우.

MongoDB 5.2부터 LDAP 서버에서 검색된 캐시된 사용자 정보의 업데이트 간격은 ldapShouldRefreshUserCacheEntries에 따라 달라집니다.

스타트업 도중 ldapShouldRefreshUserCacheEntriesconfiguration file 또는 --setParameter 명령줄의 옵션으로만 설정할 수 있습니다. 예를 들어, 다음은 ldapShouldRefreshUserCacheEntries를 비활성화합니다.

mongod --setParameter ldapShouldRefreshUserCacheEntries=false
maxValidateMemoryUsageMB

버전 5.0에 추가.

기본값: 200

validate 명령의 최대 메모리 사용 제한 (MB) 입니다. 제한을 초과하면 validate 함수는 가능한 한 많은 결과를 반환하고 제한으로 인해 일부 손상이 보고되지 않을 수도 있다고 경고합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

ocspEnabled

Linux 및 macOS에서 사용할 수 있습니다.

기본값: true

OCSP를 활성화 또는 비활성화하는 플래그입니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 OCSP를 비활성화합니다:

mongod --setParameter ocspEnabled=false ...

MongoDB 6.0부터 초기 동기화 중에 ocspEnabled(이)가 true(으)로 설정된 경우 모든 노드가 OCSP 응답자에 연결할 수 있어야 합니다.

멤버가 STARTUP2 상태에서 실패하면 tlsOCSPVerifyTimeoutSecs 5보다 작은 값으로 설정합니다.

다음도 참조하세요.

ocspValidationRefreshPeriodSecs

Linux에서 사용할 수 있습니다.

스테이플된 OCSP 상태 응답을 새로 고치기 전에 대기할 시간(초)입니다. 1보다 크거나 같은 숫자를 지정합니다.

configuration file에서 시작 중이거나 명령줄의 --setParameter 옵션으로만 ocspValidationRefreshPeriodSecs를 설정할 수 있습니다. 예를 들어 다음은 매개 변수를 3600초로 설정합니다.

mongod --setParameter ocspValidationRefreshPeriodSecs=3600 ...

MongoDB 5.0부터 rotateCertificates 명령과 db.rotateCertificates() 메서드는 스테이플링된 OCSP 응답도 새로 고칩니다.

opensslCipherConfig

Linux에서만 사용 가능

네이티브 TLS/SSL 라이브러리를 사용하는 경우 매개 변수 opensslCipherConfig는 Linux/BSD에서 지원되며 Windows 및 macOS에서는 더 이상 지원되지 않습니다.

TLS/SSL 암호화를 사용할 때 OpenSSL의 암호 문자열을 지정합니다. 암호 문자열 목록은 https://www.openssl.org/docs/man 을 참조하세요.11.1/man1/ciphers.html. 여러 개의 암호 문자열을 콜론으로 구분된 목록으로 제공할 수 있습니다.

참고

이 매개변수는 TLS 1 에만 사용할 수 있습니다.2 이하. TLS와 함께 사용할 암호 모음을 지정하려면 1 을(를) 사용합니다.3, opensslCipherSuiteConfig 매개변수를 사용합니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

SSL 옵션보다 TLS 옵션을 사용하는 것이 좋습니다. TLS 옵션은 SSL 옵션과 동일한 기능을 가지고 있습니다. 다음 예시에서는 'HIGH:!EXPORT:!aNULL@STRENGTH'opensslCipherConfig 암호 string을 사용하여 mongod를 구성합니다.

mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL@STRENGTH' --tlsMode requireTLS --tlsCertificateKeyFile Certs/server.pem
opensslCipherSuiteConfig

버전 5.0에 추가.

Linux에서만 사용 가능

TLS 1.3 암호화를 사용할 때 OpenSSL이 허용해야 하는 지원되는 암호화 제품군 목록을 지정합니다.

TLS 1.3과 함께 사용할 수 있는 암호 모음 목록은 https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_cipher_list.html을 참조하세요. 여러 개의 암호 제품군을 콜론으로 구분된 목록으로 제공할 수 있습니다.

참고

이 매개변수는 TLS 1 에만 사용할 수 있습니다.3. TLS와 함께 사용할 암호 문자열을 지정하려면 1 을(를) 사용합니다.2 이하에서는 opensslCipherConfig 매개변수를 사용하세요.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 TLS 1.3과 함께 사용하기 위해 'TLS_AES_256_GCM_SHA384'opensslCipherSuiteConfig 암호화 제품군으로 mongod(을)를 구성합니다.

mongod --setParameter opensslCipherSuiteConfig='TLS_AES_256_GCM_SHA384' --tlsMode requireTLS --tlsCertificateKeyFile Certs/server.pem
opensslDiffieHellmanParameters

Linux에서만 사용 가능

TLS 1.2 이하 버전을 사용할 경우, OpenSSL Diffie-Hellman 매개 변수를 포함하는 PEM 파일 경로를 지정하세요. OpenSSL Diffie-Hellman 매개변수를 지정하면 TLS/SSL 암호화 과정에서 DHE(임시 Diffie-Hellman) 암호 제품군을 지원할 수 있습니다.

이 매개변수는 TLS 1.3과 함께 사용할 수 없습니다.

DHE(Ephemeral Diffie-Hellman) 암호 제품군(및 ECDHE(Ephemeral Elliptic Curve Diffie-Hellman) 암호 제품군)은 순방향 비밀성을 제공합니다. 순방향 비밀성 밀성 암호 제품군은 서버의 개인 키로 보호되지만 전송되지 않는 임시 세션 키를 생성합니다. 이는 서버의 개인 키가 손상되더라도, 손상된 키로 과거 세션을 해독할 수 없음을 보장합니다.

참고

이(가) 설정되지 opensslDiffieHellmanParameters 않았지만 ECDHE 가 활성화된 경우, MongoDB는 ffdhe3072 RFC-7919#appendix-A2 에 정의된 대로 Diffie-Hellman 매개변수를 사용하여 DHE를 활성화합니다. .ffdhe3072 은(는) 강력한 매개변수입니다(특히 크기가 보다 큼).1024 6 7 Oracle에서 확장 지원을 구매하지 않은 경우 Java 및 에서는 강력한 매개변수가 지원되지 않습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

성능상의 이유로 DHE 암호 모음에 대한 지원을 비활성화해야 하는 경우 opensslCipherConfig 매개변수를 사용합니다.

mongod --setParameter opensslCipherConfig='HIGH:!EXPORT:!aNULL:!DHE:!kDHE@STRENGTH' ...
saslauthdPath

참고

MongoDB Enterprise에서만 사용할 수 있습니다(Windows용 MongoDB Enterprise 제외).

mongodmongos 모두에 사용할 수 있습니다.

프록시 인증에 사용할 saslauthd 인스턴스의 Unix 도메인 소켓 경로를 지정합니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

saslHostName

mongodmongos 모두에 사용할 수 있습니다.

saslHostName SASL 및 Kerberos 인증을 구성하기 위해 MongoDB의 기본 호스트 이름 검색을 재정의합니다.

saslHostName은 SASL 및 Kerberos의 구성 이외의 어떤 목적으로도 mongod 또는 mongos 인스턴스의 호스트 이름에 영향을 주지 않습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

참고

saslHostName 는 Kerberos 인증을 지원하며 MongoDB Enterprise에만 포함되어 있습니다. 자세한 내용은 다음을 참조하세요:

saslServiceName

mongodmongos 모두에 사용할 수 있습니다.

사용자가 인스턴스별로 Kerberos 주체 이름의 기본 Kerberos 서비스 이름 구성 요소를 재정의할 수 있도록 허용합니다. 지정하지 않으면 기본값이 mongodb 사용됩니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

saslServiceName MongoDB Enterprise에서만 사용할 수 있습니다.

중요

드라이버가 대체 서비스 이름을 지원하는지 확인합니다.

scramIterationCount

기본값: 10000

mongodmongos 모두에 사용할 수 있습니다.

모든 새 SCRAM-SHA-1 비밀번호에 사용되는 해싱 반복 횟수를 변경합니다. 반복 횟수가 많을수록 클라이언트가 MongoDB에 인증하는 데 필요한 시간이 늘어나지만, 무차별 암호 대입 시도에 덜 취약해집니다. 기본값은 가장 일반적인 사용 사례 및 요구 사항에 이상적입니다.

이 값을 수정해도 기존 비밀번호의 반복 횟수는 변경되지 않습니다. scramIterationCount 값은 5000 이상이어야 합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 scramIterationCount12000으로 설정합니다.

mongod --setParameter scramIterationCount=12000

또는 mongosh 내에서 setParameter 명령을 사용하는 경우:

db.adminCommand( { setParameter: 1, scramIterationCount: 12000 } )
scramSHA256IterationCount

기본값: 15000

mongodmongos 모두에 사용할 수 있습니다.

모든 새 SCRAM-SHA-256 비밀번호에 사용되는 해싱 반복 횟수를 변경합니다. 반복 횟수가 많을수록 클라이언트가 MongoDB에 인증하는 데 필요한 시간이 늘어나지만, 무차별 암호 대입 시도에 덜 취약해집니다. 기본값은 가장 일반적인 사용 사례 및 요구 사항에 이상적입니다.

이 값을 수정해도 기존 비밀번호의 반복 횟수는 변경되지 않습니다. scramSHA256IterationCount 값은 5000 이상이어야 합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 scramSHA256IterationCount20000으로 설정합니다.

mongod --setParameter scramSHA256IterationCount=20000

또는 mongosh 내에서 setParameter 명령을 사용하는 경우:

db.adminCommand( { setParameter: 1, scramSHA256IterationCount: 20000 } )
sslMode

mongodmongos 모두에 사용할 수 있습니다.

net.ssl.modepreferSSL 또는 requireSSL로 설정합니다. 다운타임을 최소화하기 위해 TLS/SSL로 롤링 업그레이드할 때 유용합니다.

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

이 매개변수는 런타임에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 명령을 사용합니다.

db.adminCommand( { setParameter: 1, sslMode: "preferSSL" } )

다음도 참조하세요.

tlsMode

mongodmongos 모두에 사용할 수 있습니다.

둘 중 하나로 설정합니다:

  • preferTLS

  • requireTLS

tlsMode 매개변수는 다운타임을 최소화하기 위해 TLS/SSL로 롤링 업그레이드할 때 유용합니다.

이 매개변수는 런타임에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 명령을 사용합니다.

db.adminCommand( { setParameter: 1, tlsMode: "preferTLS" } )

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

다음도 참조하세요.

tlsOCSPStaplingTimeoutSecs

Linux에서 사용할 수 있습니다.

mongod / mongos 인스턴스가 대기해야 하는 최대 시간(초)입니다. / 인스턴스가 인증서에 대한 OCSP 상태 응답을 받을 때까지 대기해야 하는 최대 시간입니다.

1보다 크거나 같은(>=) 정수를 지정합니다. 설정하지 않으면 tlsOCSPStaplingTimeoutSecstlsOCSPVerifyTimeoutSecs 값을 사용합니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 tlsOCSPStaplingTimeoutSecs }초를 20 초로 설정합니다.

mongod --setParameter tlsOCSPStaplingTimeoutSecs=20 ...
tlsOCSPVerifyTimeoutSecs

Linux 및 Windows에서 사용할 수 있습니다.

기본값: 5

mongod / mongos이(가) 서버 인증서를확인하기 위해 대기하는 최대 시간(초)입니다. / 가 서버 인증서를 확인할 때 OCSP 응답을 대기해야 하는 최대 시간입니다.

(>=) 1보다 크거나 같은 정수를 지정합니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 tlsOCSPVerifyTimeoutSecs }초를 20 초로 설정합니다.

mongod --setParameter tlsOCSPVerifyTimeoutSecs=20 ...
tlsUseSystemCA

mongod 에만 사용 가능합니다.

유형: 부울

기본값: false

MongoDB가 운영 체제의 인증 기관에서 이미 사용할 수 있는 TLS 인증서를 로드할지 여부를 지정합니다.

중요

TLS/SSL이 활성화 된 상태에서 인스턴스를 mongod 시작할 때는 플래그, 구성 옵션 또는 --tlsCAFile net.tls.CAFile 매개변수의 값을 tlsUseSystemCA 지정해야 합니다.

--tlsCAFile, tls.CAFile, tlsUseSystemCA는 모두 상호 배타적입니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 tlsUseSystemCA true로 설정하려면 다음을 실행합니다.

mongod --setParameter tlsUseSystemCA=true

TLS/SSL 및 MongoDB에 대한 자세한 내용은 TLS/SSL을 위한 mongodmongos 구성클라이언트를 위한 TLS/SSL 구성을 참조하세요.

tlsWithholdClientCertificate

mongodmongos 모두에 사용할 수 있습니다.

TLS 인증서는 mongod mongos --tlsClusterFile 옵션 또는 설정되지 --tlsCertificateKeyFile 않은 경우 옵션에 의해 또는 --tlsClusterFile 에 대해 설정됩니다. TLS 인증서가 설정되어 있으면 기본적으로 인스턴스는 배포의 다른 mongod 또는 mongos 인스턴스와 클러스터 내 통신을 시작할 때 인증서를 보냅니다. tlsWithholdClientCertificate1 또는 true 로 설정하여 이러한 통신 중에 TLS 인증서 전송을 보류하도록 인스턴스에 지시합니다. (인증서 없이 인바운드 연결을 허용하려면) --tlsAllowConnectionsWithoutCertificates과 함께 이 옵션을 배포의 모든 구성원에 사용합니다. tlsWithholdClientCertificate --clusterAuthMode x509와 상호 배타적입니다 .

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

tlsX509ClusterAuthDNOverride

mongodmongos 모두에 사용할 수 있습니다.

인스턴스가 배포 멤버를 식별하는 데 사용할 수도 있는 대체 DN(고유 이름)입니다.

2}에 대해 x.509 인증서를 사용하는 MongoDB 배포의 clusterAuthMode 경우, 배포 구성원은 클러스터 내 통신net.tls.clusterFile net.tls.certificateKeyFile 중에 x.509 인증서(지정된 경우 및 )를 사용하여 서로를 식별합니다. 동일한 배포의 구성원의 경우, 인증서의 DN 는 동일한 조직 특성(O), 조직 단위 특성(OU) 및 도메인 구성 요소(DC)를 가져야 합니다.

구성원에 대해 tlsX509ClusterAuthDNOverride 이(가) 설정된 경우, 구성원은 제시된 인증서의 DN 구성 요소(O, OU, DC)를 비교할 때 재정의 값을 사용할 수도 있습니다. 즉, 회원은 제시된 인증서를 net.tls.clusterFile/net.tls.certificateKeyFile 과 비교하여 확인합니다. DN이 일치하지 않으면 회원은 제시된 인증서를 tlsX509ClusterAuthDNOverride 값과 비교하여 확인합니다.

참고

설정된 경우 배포의 모든 구성원에 대해 이 매개변수를 설정해야 합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

DN 값을 포함하는 새 인증서로 인증서를 롤링 업데이트하는 데 이 매개 변수를 사용할 수 있습니다. 새 DN이 포함된 x.509 클러스터 인증서의 롤링 업데이트를참조하세요.

회원 인증서 요구 사항에 대한 자세한 내용은 회원 인증서 요구 사항을 참조하세요.

tlsX509ExpirationWarningThresholdDays

mongodmongos 모두에 사용할 수 있습니다.

기본값 : 30

MongoDB 4 부터 시작.4, mongod / mongos 는 x가 표시되면 연결 시 경고를 기록합니다.509 인증서가 mongod/mongos 시스템 시계로부터 30 일 이내에 만료됩니다. tlsX509ExpirationWarningThresholdDays 매개 변수를 사용하여 인증서 만료 경고 임계값을 제어합니다.

  • 인증서 만료 날짜보다 훨씬 이전에 경고를 트리거하려면 매개변수 값을 늘립니다.

  • 인증서 만료 날짜에 가까워지면 경고를 트리거하려면 매개변수 값을 줄이세요.

  • 경고를 비활성화하려면 매개 변수를 0 으로 설정합니다.

이 매개 변수의 최소값은 0입니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

x.509 만료 경고에 관한 자세한 내용은 x.509 인증서 만료 임박 트리거 경고를 참조하세요.

x에 대한 자세한 내용은 다음을 참조하세요. 인증서509 5280 4125유효성, RFC 를 참조하세요. . . .

userCacheInvalidationIntervalSecs

기본값: 30

mongos 에만 사용 가능합니다.

mongos 2} 인스턴스에서 인스턴스가 mongos 사용자 개체의 인메모리 캐시에 부실 데이터가 있는지 확인하고 부실 데이터가 있는 경우 캐시를 지우는 간격(초)을 지정합니다. 사용자 개체에 대한 변경 내용이 없으면 캐시 mongos 지우지 않습니다.

이 매개변수의 최소값은 1 초이고 최대값은 86400 초(24시간)입니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

authFailedDelayMs

기본값: 0

mongodmongos 모두에 사용할 수 있습니다.

참고

엔터프라이즈 기능

MongoDB Enterprise에서만 사용할 수 있습니다.

클라이언트에게 인증 시도가 실패했음을 알리기 전에 기다려야 하는 시간(밀리초)입니다. 이 매개변수의 범위는 0 에서 5000 사이일 수 있습니다.

이 매개변수를 설정하면 데이터베이스에 대한 무차별 대입 로그인 공격에 더 많은 시간이 소요됩니다. 그러나 MongoDB 서버의 응답을 기다리는 클라이언트는 여전히 서버 리소스를 소모하며, 서버가 다른 많은 클라이언트의 액세스를 동시에 거부하는 경우 정상적인 로그인 시도에 악영향을 미칠 수 있습니다.

allowRolesFromX509Certificates

기본값: true

mongodmongos 모두에 사용할 수 있습니다.

클라이언트 x.509 인증서에서 권한 부여 역할 검색을 허용하거나 허용하지 않는 부울 플래그입니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

allowDiskUseByDefault

기본값: True

mongod 에만 사용 가능합니다.

MongoDB 6 부터 시작.0, 실행하는 데 100 메가바이트 이상의 메모리가 필요한 파이프라인 단계는 기본적으로 임시 파일을 디스크에 기록합니다. 이전 버전의 MongoDB에서는 이 동작을 활성화하려면 { allowDiskUse: true } 를 개별 findaggregate 명령에 전달해야 합니다.

개별 findaggregate 명령은 다음 중 하나를 통해 allowDiskUseByDefault 매개 변수를 무효화할 수 있습니다.

  • 1}이 로 설정된 경우 을 사용하여 임시 파일을 디스크에 쓰는 것을 허용합니다.{ allowDiskUse: true } allowDiskUseByDefault false

  • 1}이 로 설정된 경우 을 사용하여 임시 파일을 디스크에 쓰는 것을 금지합니다.{ allowDiskUse: false } allowDiskUseByDefault true

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongod --setParameter allowDiskUseByDefault=false

allowDiskUseByDefaultmongos가 아닌 mongod에서만 작동합니다. mongos는 임시 파일을 디스크에 쓰지 않습니다. 실행 중인 mongod에 연결된 mongosh 세션에서 setParameter 명령을 사용하여 서버가 실행되는 동안 매개변수 값을 변경합니다.

db.adminCommand(
{
setParameter: 1,
allowDiskUseByDefault: false
}
)
httpVerboseLogging

mongodmongos 모두에 사용할 수 있습니다.

Linux 및 macOS에서 컬에 대한 자세한 추적을 추가합니다. Windows에는 영향을 미치지 않습니다.

기본적으로 이 매개변수는 설정되지 않습니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongos --setParameter httpVerboseLogging=true
connPoolMaxConnsPerHost

기본값: 200

mongodmongos 모두에 사용할 수 있습니다.

글로벌 연결 풀의 다른 mongod 인스턴스로 나가는 연결에 대한 레거시 연결 풀의 최대 크기를 설정합니다. 풀의 크기는 추가 연결 생성을 막지는 못하지만 연결 풀이 connPoolMaxConnsPerHost 값을 초과하는 연결을 유지하지 못하게 합니다.

참고

이 매개변수는 TaskExecutor 풀의 연결과 별개입니다. ShardingTaskExecutorPoolMaxSize 을(를) 참조하세요.

이 설정은 드라이버가 연결을 풀링하지 않고 샤딩된 클러스터 상황에서 인증을 사용하는 경우에 국한하여 조정하세요.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongod --setParameter connPoolMaxConnsPerHost=250
connPoolMaxInUseConnsPerHost

mongodmongos 모두에 사용할 수 있습니다.

레거시 글로벌 연결 풀의 다른 mongod 인스턴스로 나가는 연결에 대해 주어진 시간에 사용 중인 최대 연결 수를 설정합니다.

기본적으로 이 매개변수는 설정되지 않습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongod --setParameter connPoolMaxInUseConnsPerHost=100

다음도 참조하세요.

globalConnPoolIdleTimeoutMinutes

mongodmongos 모두에 사용할 수 있습니다.

레거시 글로벌 연결 풀의 연결이 닫히기 전에 유휴 상태로 유지될 수 있는 시간 제한을 설정합니다.

기본적으로 이 매개변수는 설정되지 않습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongos --setParameter globalConnPoolIdleTimeoutMinutes=10
cursorTimeoutMillis

기본값: 600000(10분)

mongodmongos 모두에 사용할 수 있습니다.

MongoDB가 유휴 커서를 제거하기 전에 유휴 커서의 만료 임계값을 밀리초 단위로 설정합니다. 특히 MongoDB는 지정된 cursorTimeoutMillis 동안 유휴 상태였던 커서를 제거합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 cursorTimeoutMillis300000 밀리초(5분)로 설정합니다.

mongod --setParameter cursorTimeoutMillis=300000

또는 mongosh 내에서 setParameter 명령을 사용하는 경우:

db.adminCommand( { setParameter: 1, cursorTimeoutMillis: 300000 } )

cursorTimeoutMillis0보다 작거나 같게 설정하면 모든 커서가 즉시 시간 초과될 수 있습니다. 일반적으로 시간 초과 값은 쿼리가 결과를 반환하는 데 걸리는 평균 시간보다 커야 합니다. cursor.explain() 커서 수정자와 같은 도구를 사용하여 평균 쿼리 시간을 분석하고 적절한 시간 초과 기간을 선택하세요.

경고

MongoDB는 세션 관리의 일환으로 세션에 연결된 분리된 커서를 정리합니다. 이는 세션 ID가 있는 분리된 커서가 시간 초과를 제어하기 위해 cursorTimeoutMillis를 사용하지 않음을 의미합니다.

커서를 반환하고 유휴 기간이 localLogicalSessionTimeoutMinutes 이상인 작업의 경우 Mongo.startSession()를 사용하여 명시적 세션 내에서 작업을 수행하세요. 세션을 새로 고침하려면 refreshSessions 명령을 실행합니다. 자세한 내용은 refreshSessions를 사용하여 커서 새로 고침을 참조하세요.

maxNumActiveUserIndexBuilds

mongod 에만 사용 가능합니다.

유형: integer

기본값: 3

프라이머리에서 허용되는 최대 동시 인덱스 빌드 수를 설정합니다. 이는 모든 컬렉션에 적용되는 글로벌 제한입니다.

maxNumActiveUserIndexBuilds 값을 늘리면 추가 동시 인덱스 빌드가 가능하지만 WiredTiger 캐시에 가해지는 부담은 커집니다.

시스템 색인은 maxNumActiveUserIndexBuilds으로 제한되지 않지만 시스템 색인 빌드는 사용자 색인 빌드 제한에 포함됩니다.

서버가 maxNumActiveUserIndexBuilds 수준에 도달하면 동시 인덱스 빌드 수가 maxNumActiveUserIndexBuilds 제한 아래로 떨어질 때까지 추가 사용자 인덱스 빌드를 차단합니다. 인덱스 빌드가 차단되면 서버는 이 메시지를 기록합니다.

Too many index builds running simultaneously, waiting until the
number of active index builds is below the threshold.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 명령은 동시 인덱스 빌드 제한을 4개로 설정합니다.

db.adminCommand( { setParameter: 1, maxNumActiveUserIndexBuilds: 4 } )

다음도 참조하세요.

notablescan

mongod 에만 사용 가능합니다.

모든 쿼리가 인덱스를 사용해야 하는지 여부를 지정합니다. 1인 경우 MongoDB는 컬렉션 스캔이 필요한 쿼리를 실행하지 않고 오류를 반환합니다.

notablescan1 또는 true로 설정하는 다음 예시를 살펴보겠습니다.

db.adminCommand( { setParameter: 1, notablescan: 1 } )

notablescan1로 설정하면 애플리케이션 쿼리를 테스트할 때 유용할 수 있습니다. 예를 들어, 전체 컬렉션을 스캔하지만 인덱스를 사용할 수 없는 쿼리를 식별하는 데 유용할 수 있습니다.

notablescan 없는 인덱싱되지 않은 쿼리를 감지하려면 현재 작업의 성능 평가쿼리 성능 최적화 섹션을 읽고 logLevel 매개 변수, mongostat프로파일링을 사용하는 것이 좋습니다.

컬렉션 스캔을 방지하면 관리 쿼리를 포함한 모든 데이터베이스의 쿼리에 잠재적으로 영향을 미칠 수 있으므로 notablescan(으)로 프로덕션 mongod 인스턴스를 실행하지 마세요.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

참고

notablescan 쿼리에는 전체 컬렉션 스캔이 필요하므로 클러스터형 인덱스를 사용하는 바인딩되지 않은 쿼리는 허용되지 않습니다. 자세한 내용은 컬렉션 스캔을 참조하세요.

ttlMonitorEnabled

mongod 에만 사용 가능합니다.

기본값: true

TTL 인덱스를 지원하기 위해 mongod 인스턴스에는 TTL 인덱스가 있는 컬렉션에서 문서를 삭제하는 작업을 담당하는 백그라운드 스레드가 있습니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongod에서 이 작업자 스레드를 비활성화하려면 다음 작업에서와 같이 ttlMonitorEnabledfalse로 설정합니다.

db.adminCommand( { setParameter: 1, ttlMonitorEnabled: false } )

또는 다음 옵션을 사용하여 mongod 인스턴스를 시작하여 시작 시 스레드를 비활성화할 수 있습니다.

mongod --setParameter ttlMonitorEnabled=false

중요

MongoDB 지원팀의 지침을 따르는 경우를 제외하고 ttlMonitorEnabled 를 비활성화한 상태로 프로덕션 mongod 인스턴스를 실행하지 마십시오. TTL 문서 제거를 방지하면 TTL 인덱스에 의존하는 MongoDB 내부 시스템 작업에 부정적인 영향을 미칠 수 있습니다.

tcpFastOpenServer

mongodmongos 모두에 사용할 수 있습니다.

기본값: true

클라이언트에서 mongod/mongos에 대한 인바운드 TCP Fast Open(TFO) 연결을 허용하기 위한 지원을 활성화합니다. TFO를 사용하려면 클라이언트와 mongod/mongos 호스트 컴퓨터가 모두 지원되어야 하며 TFO를 사용하도록 설정해야 합니다.

Windows

다음 Windows 운영 체제에서 TFO를 지원합니다.

  • Microsoft Windows Server 2016 이상.

  • Microsoft Windows 10 업데이트 1607 이상.

macOS
macOS 10.11(El Capitan) 이상
리눅스

Linux 커널 3.7 이상을 실행하는 Linux 운영 체제는 인바운드 TFO를 지원할 수 있습니다.

인바운드 TFO 연결을 활성화하려면 /proc/sys/net/ipv4/tcp_fastopen 값을 설정합니다.

  • 인바운드 TFO 연결만 활성화하려면 2으로 설정합니다.

  • 인바운드 및 아웃바운드 TFO 연결을 사용하려면 3으로 설정합니다.

호스트 운영 체제가 TFO 연결을 지원하지 않거나 지원하도록 구성되지 않은 경우 이 매개 변수는 영향을 미치지 않습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

MongoDB TFO 지원에 대한 자세한 내용은 TCP 패스트 오픈 지원을 참조하세요.

다음도 참조하세요.

tcpFastOpenClient

mongodmongos 모두에 사용할 수 있습니다.

기본값: true

Linux 운영 체제만 해당

mongod/mongos에서 클라이언트로의 아웃바운드 TCP Fast Open (TFO)연결을 지원할 수 있습니다. TFO에는 클라이언트와 mongod/mongos 호스트 시스템 지원이 모두 필요하며 TFO를 활성화해야 합니다.

Linux 커널 4.11 이상을 실행하는 Linux 운영 체제는 아웃바운드 TFO를 지원할 수 있습니다.

아웃바운드 TFO 연결을 사용하도록 설정하려면 /proc/sys/net/ipv4/tcp_fastopen 값을 설정합니다.

  • 1 를 설정하여 아웃바운드 TFO 연결만 활성화하도록 허용합니다.

  • 3 를 활성화하여 인바운드 및 아웃바운드 TFO 연결을 허용합니다.

호스트 운영 체제가 TFO 연결을 지원하지 않거나 지원하도록 구성되지 않은 경우 이 매개 변수는 영향을 미치지 않습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

MongoDB TFO 지원에 대한 자세한 내용은 TCP 패스트 오픈 지원을 참조하세요.

다음도 참조하세요.

tcpFastOpenQueueSize

mongodmongos 모두에 사용할 수 있습니다.

기본값: 1024

TCP Fast Open (TFO) 연결 설정의 일환으로 클라이언트는 표준 TCP 3방향 핸드셰이크가 완료되기 전에 유효한 TFO 쿠키를 mongod/mongos에 제출합니다. mongod/mongos은 보류 중인 모든 TFO 연결의 대기열을 유지합니다.

tcpFastOpenQueueSize 매개변수는 보류 중인 TFO 연결의 대기열 크기를 설정합니다. 대기열이 가득 차면 mongod/mongos은 들어오는 클라이언트 요청에 대해 일반적인 3자 핸드셰이크로 돌아가서 TFO 쿠키의 존재를 무시합니다. 대기열 크기가 제한 아래로 떨어지면 mongod/mongos가 새 TFO 쿠키를 허용하기 시작합니다.

  • 기본 대기열 크기를 늘리면 TFO가 네트워크 성능에 미치는 영향이 향상될 수 있습니다. 그러나 대기열 크기가 크면 과도한 TFO 요청 수신으로 인해 서버 리소스가 고갈될 위험도 커집니다.

  • 기본 대기열 크기를 줄이면 과도한 수신 TFO 요청으로 인한 리소스 서버 리소스 고갈 위험을 줄일 수 있습니다. 그러나 대기열 크기가 작으면 네트워크 성능에 대한 TFO의 영향도 줄어들 수 있습니다.

    최소 대기열 크기는 0입니다. 대기열 0은 TFO를 효과적으로 비활성화합니다.

이 매개변수는 TFO 연결을 지원하지 않거나 TFO 연결을 위해 구성되지 않은 호스트 운영 체제에는 영향을 주지 않습니다. MongoDB TFO 지원에 대한 자세한 내용은 TCP Fast Open 지원을 참조하세요.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

disableJavaScriptJIT

mongod 에만 사용 가능합니다.

MongoDB JavaScript 엔진은 스크립트 실행 시 성능 향상을 위해 JIT(Just-in-Time) 컴파일을 구현하는 SpiderMonkey를 사용합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

JIT를 사용하려면 다음 예시와 같이 disableJavaScriptJITfalse로 설정합니다.

db.adminCommand( { setParameter: 1, disableJavaScriptJIT: false } )

참고

$where는 기존 JavaScript 인터프리터 컨텍스트를 재사용합니다. 따라서 disableJavaScriptJIT 변경 사항이 이러한 작업에 즉시 적용되지 않을 수 있습니다.

또는 다음 옵션을 사용하여 mongod 인스턴스를 시작하여 시작 시 JIT를 활성화할 수도 있습니다.

mongod --setParameter disableJavaScriptJIT=false
indexMaxNumGeneratedKeysPerDocument

버전 5.3에 추가.

기본값: 100000

메모리 부족 오류를 방지하기 위해 문서에 생성되는 최대 키 수를 제한합니다. 제한을 상향 조정할 수는 있지만 indexMaxNumGeneratedKeysPerDocument 매개 변수가 지정한 것보다 더 많은 키가 필요한 경우 작업이 실패합니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

maxIndexBuildMemoryUsageMegabytes

기본값: 200

하나의 컬렉션에 대한 동시 인덱스 빌드가 빌드 기간 동안 소비할 수 있는 메모리 양을 제한합니다. 지정된 메모리 양은 단일 createIndexes 명령 또는 해당 셸 도우미 db.collection.createIndexes()를사용하여 구축된 모든 인덱스 간에 공유됩니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

인덱스 빌드에 사용되는 메모리는 WiredTiger 캐시 메모리와는 별개입니다( cacheSizeGB 참조).

maxIndexBuildMemoryUsageMegabytes 인덱스 빌드가 한 번에 사용하는 메모리 양에 대한 제한을 설정합니다. 이는 인덱스 빌드 프로세스 에서 인덱스의 키를 생성하고 정렬할 때 성능에 영향을 미칠 수 있습니다. 메모리 제한을 늘리면 인덱스 빌드 중 정렬 성능이 향상됩니다.

인덱스 빌드는 인덱스 생성 과 같은 사용자 명령이나 초기 동기화 와 같은 관리 프로세스를 통해 시작할 수 있습니다. 둘 다 maxIndexBuildMemoryUsageMegabytes 에서 설정한 한도의 적용을 받습니다.

초기 동기화 작업 은 한 번에 하나의 컬렉션만 채우며 메모리 제한을 초과할 위험이 없습니다. 그러나 사용자가 여러 데이터베이스의 여러 컬렉션에 대한 인덱스 빌드를 동시에 시작하면 maxIndexBuildMemoryUsageMegabytes 에 설정된 제한보다 많은 양의 메모리를 사용할 수 있습니다.

인덱스 빌드가 복제본 세트와 복제본 세트 샤드가 포함된 샤드 클러스터에 미치는 영향을 최소화하려면 복제본 세트의 롤링 인덱스 빌드에 설명된 롤링 인덱스 빌드 절차를 사용합니다.

이미 컬렉션 스캔을 시작한 경우 maxIndexBuildMemoryUsageMegabytes 를 변경해도 진행 중인 인덱스 빌드에 영향을 주지 않습니다. 그러나 강제 복제본 세트 재구성은 컬렉션 스캔을 다시 시작하고 제공된 최신 maxIndexBuildMemoryUsageMegabytes 를 사용합니다.

reportOpWriteConcernCountersInServerStatus

기본값: false

2} 메서드와 serverStatus 명령이 db.serverStatus() opWriteConcernCounters 정보를 반환할지 여부를 결정하는 부울 플래그입니다. [1]

mongod --setParameter reportOpWriteConcernCountersInServerStatus=true
[1] reportOpWriteConcernCountersInServerStatus를 활성화하면 성능에 부정적인 영향을 미칠 수 있으며, 특히 TLS 없이 실행할 경우 더욱 그렇습니다.
watchdogPeriodSeconds

mongod 에만 사용 가능합니다.

유형: integer

기본값: -1(비활성화됨)

스토리지 노드 워치독(Storage Node Watchdog)이 모니터링하는 파일시스템의 상태를 확인하는 빈도를 결정합니다:

watchdogPeriodSeconds 의 유효한 값은 다음과 같습니다.

참고

  • 모니터링되는 디렉터리의 파일 시스템이 응답하지 않는 경우 mongod(을)를 종료하는 데 watchdogPeriodSeconds 값의 최대 거의 두 배가 걸릴 수 있습니다.

  • 모니터링되는 디렉토리 중 하나가 다른 볼륨에 대한 심볼릭 링크인 경우 Storage Node Watchdog은 심볼릭 링크 대상을 모니터링하지 않습니다. 예를 들어 mongod storage.directoryPerDB: true (또는 --directoryperdb)를 사용하고 데이터베이스 디렉터리를 다른 볼륨에 심볼릭 링크하는 경우, 스토리지 노드 워치독은 이 심볼릭 링크를 따라 대상을 모니터링하지 않습니다.

Storage Node Watchdog를 활성화하려면 시작 시 watchdogPeriodSeconds를 설정해야 합니다.

mongod --setParameter watchdogPeriodSeconds=60

시작 시에만 Storage Node Watchdog 을 활성화할 수 있습니다. 그러나 일단 활성화하면 런타임 중에 Storage Node Watchdog 을 일시 중지하거나 watchdogPeriodSeconds 을 변경할 수 있습니다.

활성화되면 다음과 같습니다.

  • 런타임 중에 Storage Node Watchdog 을 일시 중지하려면 watchdogPeriodSeconds 를 -1 로 설정합니다.

    db.adminCommand( { setParameter: 1, watchdogPeriodSeconds: -1 } )
  • 런타임 중에 기간을 재개하거나 변경하려면 watchdogPeriodSeconds 를 60 보다 크거나 같은 숫자로 설정합니다.

    db.adminCommand( { setParameter: 1, watchdogPeriodSeconds: 120 } )

참고

시작 시 Storage Node Watchdog watchdogPeriodSeconds 이 활성화되지 않은 경우 런타임에 를 설정하면 오류가 발생합니다.

tcmallocAggressiveMemoryDecommit

유형: 정수(0 또는 1 만 해당)

기본값: 0

0}을(를)tcmallocAggressiveMemoryDecommit 활성화하는 경우 MongoDB:

  • 시스템에 메모리 덩어리를 해제하고

  • 는 인접한 모든 무료 청크를 반환하려고 시도합니다.

0} 값은 을 1 tcmallocAggressiveMemoryDecommit활성화하고, 은0 이 매개 변수를 비활성화합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

이 매개변수를 활성화하면 시스템을 사용하려면 새 메모리 할당이 필요합니다. 메모리가 제한된 시스템에서만 다른 메모리 및 성능 옵션을 추구한 후에는 tcmallocAggressiveMemoryDecommit 활성화하는 것이 좋습니다.

tcmallocAggressiveMemoryDecommit 을(를) 사용할 때 성능이 저하될 수 있지만, tcmallocReleaseRate 를 사용하는 것보다 선호되는 경우가 많습니다.

tcmallocReleaseRate

기본값: 1.0

tcmalloc 릴리스 속도를 지정합니다(TCMALLOC_RELEASE_RATE).https://gperftools.github.io/gperftools/tcmalloc.html#runtime TCMALLOC_RELEASE_RATE는 "사용하지 않는 메모리를 지원하는 시스템에서 매드바이스(MADV_DONTNEED)를 통해 시스템에 해제하는 비율입니다. 0은 메모리를 시스템에 다시 해제하지 않는다는 것을 의미합니다. 메모리를 더 빨리 반환하려면 이 플래그를 늘리고, 줄이려면 이 플래그를 늘리세요. 메모리를 더 느리게 반환합니다. 합리적인 요금은 [0,10] 범위입니다."

참고

tcmallocAggressiveMemoryDecommit(을)를 사용할 때 성능이 크게 저하되지 않는 한 tcmallocReleaseRate 대신 tcmallocAggressiveMemoryDecommit(을)를 사용하는 것을 고려합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

런타임 중에 릴리스 속도를 수정하려면 setParameter 명령을 사용하면 됩니다(예: 명령).

db.adminCommand( { setParameter: 1, tcmallocReleaseRate: 5.0 } )

시작 시 tcmallocReleaseRate를 설정할 수도 있습니다. 예를 들면 다음과 같습니다.

mongod --setParameter "tcmallocReleaseRate=5.0"
fassertOnLockTimeoutForStepUpDown

버전 5.3에 추가.

기본값: 15초

mongodmongos 모두에 사용할 수 있습니다.

스텝 업 또는 스텝 다운 요청을 받은 서버가 제한 시간 내에 규정을 준수하지 못할 경우 (예: 서버 디스크 결함) 종료할 수 있습니다. 이를 통해 클러스터는 새 기본 노드를 성공적으로 선택하여 계속 사용할 수 있습니다.

fassertOnLockTimeoutForStepUpDown 기본값은 15초입니다. 노드의 패싱을 사용하지 않으려면 을 fassertOnLockTimeoutForStepUpDown=0 설정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 노드가 fasserting을 사용하지 않도록 설정합니다.

mongod --setParameter fassertOnLockTimeoutForStepUpDown=0
logLevel

mongodmongos 모두에 사용할 수 있습니다.

0}에서 사이의 정수를 지정하여 0 5 로깅의 상세도를 나타내며, 여기서 5 가 가장 상세합니다. [2]

기본 logLevel0(정보)입니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 logLevel(을)를 2(으)로 설정합니다.

db.adminCommand( { setParameter: 1, logLevel: 2 } )

다음도 참조하세요.

[2] 버전 4.2부터 MongoDB는 로그 메시지에 디버그 상세도 수준(1~5)을 포함합니다. 예를 들어, 상세도 수준이 2인 경우 MongoDB는 D2을(를) 기록합니다. 이전 버전에서는 MongoDB 로그 메시지에 디버그 수준에 D만 지정되었습니다.
logComponentVerbosity

mongodmongos 모두에 사용할 수 있습니다.

로그 메시지 에 대한 다양한컴포넌트의 상세도 수준을 설정합니다. 상세도 수준에 따라 MongoDB가 출력하는 정보 및 디버그 메시지의 양이 결정됩니다. [3]

상세도 수준은 0 에서 5 사이의 범위입니다.

  • 0정보 메시지를 포함하기 위한 MongoDB의 기본 로그 상세도 수준입니다.

  • 1 5 로 설정하면 디버그 메시지를 포함하도록 상세 수준이 높아집니다.

컴포넌트의 경우 -1 을 지정하여 부모의 상세도 수준을 상속할 수도 있습니다.

자세한 수준을 지정하려면 다음과 유사한 문서를 사용하십시오.

{
verbosity: <int>,
<component1>: { verbosity: <int> },
<component2>: {
verbosity: <int>,
<component3>: { verbosity: <int> }
},
...
}

구성 요소의 경우 상위 세부 정보 수준과 하위 구성 요소의 세부 정보 수준을 모두 설정하지 않는 한 문서의 <component>: <int> 만 지정할 수 있습니다.

{
verbosity: <int>,
<component1>: <int> ,
<component2>: {
verbosity: <int>,
<component3>: <int>
}
...
}

최상위 수준 verbosity 필드는 모든 구성 요소의 기본 수준을 설정하는 systemLog.verbosity 해당합니다. systemLog.verbosity 의 기본값은 0 입니다.

구성 요소는 다음 설정에 해당합니다.

명시적으로 설정하지 않는 한 컴포넌트는 부모 컴포넌트의 상세도 수준을 갖습니다. 예를 들어 storagestorage.journal의 부모입니다. 즉, storage 상세 수준을 지정하는 경우 이 수준은 다음에도 적용됩니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 default verbosity level1 으로,query2 로, 을 storage 2 11}로, 을 storage.journal 1 15}로 설정합니다.

db.adminCommand( {
setParameter: 1,
logComponentVerbosity: {
verbosity: 1,
query: { verbosity: 2 },
storage: {
verbosity: 2,
journal: {
verbosity: 1
}
}
}
} )

시작 시 매개 변수 logComponentVerbosity 를 설정하여 상세도 수준 문서를 문자열로 전달할 수도 있습니다.

mongod --setParameter "logComponentVerbosity={command: 3}"

mongosh는 단일 구성 요소에 대한 로그 수준을 설정하는 db.setLogLevel()도 제공합니다. 로그 상세도 수준을 설정하는 다양한 방법은 로그 상세도 수준 구성을 참조하세요.

[3] 버전 4.2부터 MongoDB는 로그 메시지에 디버그 상세도 수준(1~5)을 포함합니다. 예를 들어, 상세도 수준이 2인 경우 MongoDB는 D2을(를) 기록합니다. 이전 버전에서는 MongoDB 로그 메시지에 디버그 수준에 D만 지정되었습니다.
maxLogSizeKB

mongodmongos 모두에 사용할 수 있습니다.

유형: 음수가 아닌 정수

기본값: 10

로그 항목의 개별 속성 필드에 대한 최대 크기 (킬로바이트) 를 지정합니다. 이 제한을 초과하는 속성은 잘립니다.

잘린 속성 필드는 maxLogSizeKB 한도까지 필드 콘텐츠를 인쇄하고 이 한도를 초과하는 필드 콘텐츠는 유효한 JSON 형식을 유지하면서 제외합니다. 잘린 속성이 포함된 로그 항목은 로그 항목 끝에 truncated 객체를 추가합니다.

자세한 내용은 로그 메시지 잘라내기를 참조하십시오.

0} 값은 0 잘림을 완전히 비활성화합니다. 이 매개변수의 음수 값은 유효하지 않습니다.

경고

큰 값을 사용하거나 0 값으로 잘림을 비활성화하면 시스템 성능에 악영향을 미치고 데이터베이스 작업에 부정적인 영향을 미칠 수 있습니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예에서는 최대 로그 줄 크기를 20 KB로 설정합니다.

mongod --setParameter maxLogSizeKB=20
quiet

mongodmongos 모두에 사용할 수 있습니다.

조용한 로깅 모드를 설정합니다. 10}이면 은 다음 이벤트/활동을 기록하지 않는 조용한 로깅 모드로mongod 전환됩니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

quiet 매개변수를 1 로 설정하는 다음 예를 살펴보세요.

db.adminCommand( { setParameter: 1, quiet: 1 } )

다음도 참조하세요.

redactClientLogData

mongodmongos 모두에 사용할 수 있습니다.

유형: 부울

참고

엔터프라이즈 기능

MongoDB Enterprise에서만 사용할 수 있습니다.

2} 또는 mongod 를 구성하여 로깅하기 전에 지정된 로그 이벤트에 수반되는 모든 메시지를 삭제합니다.mongos 이렇게 하면 프로그램이 데이터베이스에 저장된 잠재적으로 중요한 데이터를 진단 로그에 쓸 수 없습니다. 오류 또는 작업 코드, 줄 번호, 소스 파일 이름과 같은 메타데이터는 여전히 로그에 표시됩니다.

redactClientLogData미사용 데이터 암호화TLS/SSL(전송 암호화)과 함께 사용하여 규제 요건을 준수할 수 있습니다.

시작 시 로그 수정을 활성화하려면 다음 중 하나를 수행하세요.

시작 시 --setParameter 옵션을 사용하여 redactClientLogData를 설정할 수 없습니다.

실행 중인 mongod 또는 mongos에서 로그 삭제를 사용 설정하려면 다음 명령을 사용합니다.

db.adminCommand( { setParameter: 1, redactClientLogData : true } )

다음도 참조하세요.

traceExceptions

mongodmongos 모두에 사용할 수 있습니다.

디버깅에 사용할 수 있도록 모든 데이터베이스 및 소켓 C++ 예외에 대한 전체 소스 코드 스택 추적을 기록하도록 mongod 구성합니다. true, mongod 인 경우 전체 스택 추적을 기록합니다.

이 매개변수는 런타임에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 명령을 사용합니다.

0}을 로 설정하는 다음 예제를 traceExceptions true살펴봅니다.

db.adminCommand( { setParameter: 1, traceExceptions: true } )

다음도 참조하세요.

suppressNoTLSPeerCertificateWarning

mongodmongos 모두에 사용할 수 있습니다.

유형: 부울

기본값: false

기본적으로 mongod 또는 mongosTLS/SSL 사용하도록 설정하고 net.ssl.allowConnectionsWithoutCertificates : true를 사용하면 클라이언트는 경고를 기록하는 동안 유효성 검사를 위한 인증서를 제공하지 않고도 연결할 수 있습니다. 해당 경고를 표시하지 않으려면 suppressNoTLSPeerCertificateWarning1 또는 true로 설정하세요.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 작업은 suppressNoTLSPeerCertificateWarningtrue로 설정합니다.

db.adminCommand( { setParameter: 1, suppressNoTLSPeerCertificateWarning: true} )

MongoDB 엔지니어가 MongoDB 서버 동작을 쉽게 분석할 수 있도록 MongoDB는 주기적으로 진단 파일에 서버 통계를 기록합니다.

mongod2}의 경우 진단 데이터 파일은 diagnostic.data mongod 인스턴스의 --dbpath 또는 아래에 storage.dbPath 있는 디렉터리에 저장됩니다.

2}의 mongos경우 mongos 진단 데이터 --logpath systemLog.path 파일은 기본적으로 인스턴스의 또는 디렉터리 아래에 있는 디렉터리에 저장됩니다. 진단 데이터 디렉터리는 logpath의 파일 확장자를 잘라내고 나머지 이름에 diagnostic.data 를 연결하여 계산됩니다.

예를 들어 mongos--logpath /var/log/mongodb/mongos.log.201708015 이 있는 경우 진단 데이터 디렉토리는 /var/log/mongodb/mongos.diagnostic.data/ 디렉토리입니다. mongos 에 대해 다른 진단 데이터 디렉토리를 지정하려면 diagnosticDataCollectionDirectoryPath 매개변수를 설정합니다.

다음 매개변수는 진단 데이터 캡처(FTDC)를 지원합니다.

참고

진단 데이터 캡처 간격과 최대 크기의 기본값은 성능과 스토리지 크기에 미치는 영향을 최소화하면서 MongoDB 엔지니어에게 유용한 데이터를 제공하기 위해 선택됩니다. 일반적으로 이러한 값은 특정 진단 목적을 위해 MongoDB 엔지니어가 요청한 경우에만 수정하면 됩니다.

diagnosticDataCollectionEnabled

mongodmongos 모두에 사용할 수 있습니다.

유형: 부울

기본값: true

진단 목적으로 데이터 수집 및 로깅을 활성화할지 여부를 결정합니다. 진단 로깅은 기본적으로 활성화되어 있습니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 컬렉션을 비활성화합니다.

mongod --setParameter diagnosticDataCollectionEnabled=false
diagnosticDataCollectionDirectoryPath

유형: 문자열

mongos 에만 사용 가능합니다.

경고

(으)로 풀타임 진단 데이터 캡처(FTDC)diagnosticDataCollectionEnabled 비활성화하거나 을(를)systemLog.destination (으)로 syslog 설정한 경우 을(를)mongos 설정한 후 을(를) 다시 시작해야 diagnosticDataCollectionDirectoryPath 합니다.

2}에 mongos 대한 진단 디렉터리의 디렉터리를 지정합니다. 디렉터리가 존재하지 않으면 mongos 디렉터리를 만듭니다.

지정하지 않으면 mongos 인스턴스의 --logpath 또는 systemLog.path 파일 확장자를 잘라내고 diagnostic.data을 연결하여 진단 데이터 디렉터리를 계산합니다.

예를 들어 mongos--logpath /var/log/mongodb/mongos.log.201708015 가 있는 경우 진단 데이터 디렉터리는 /var/log/mongodb/mongos.diagnostic.data/ 입니다.

2}에서 지정된 디렉터리를 만들 수 없는 경우 해당 인스턴스에 대해 진단 데이터 캡처가 mongos 비활성화됩니다. 경로에 같은 이름의 파일이 이미 있거나 프로세스에 디렉터리를 만들 수 있는 권한이 없는 경우 mongos에서 지정한 디렉터리를 만들지 못할 수 있습니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

diagnosticDataCollectionDirectorySizeMB

mongodmongos 모두에 사용할 수 있습니다.

유형: integer

기본값: 200

diagnostic.data 디렉토리의 최대 크기(MB)를 지정합니다. 디렉토리 크기가 이 수를 초과하면 파일 이름의 타임스탬프를 기준으로 디렉토리에서 가장 오래된 진단 파일이 자동으로 삭제됩니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 디렉터리의 최대 크기를 250 메가바이트로 설정합니다.

mongod --setParameter diagnosticDataCollectionDirectorySizeMB=250

diagnosticDataCollectionDirectorySizeMB의 최소값은 10 메가바이트입니다. diagnosticDataCollectionDirectorySizeMB는 최대 진단 파일 크기인 diagnosticDataCollectionFileSizeMB보다 커야 합니다.

diagnosticDataCollectionFileSizeMB

mongodmongos 모두에 사용할 수 있습니다.

유형: integer

기본값: 10

각 진단 파일의 최대 크기(MB)를 지정합니다. 파일이 최대 파일 크기를 초과하면 MongoDB는 새 파일을 생성합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 각 진단 파일의 최대 크기를 20 MB로 설정합니다.

mongod --setParameter diagnosticDataCollectionFileSizeMB=20

diagnosticDataCollectionFileSizeMB의 최소값은 1 메가바이트입니다.

diagnosticDataCollectionPeriodMillis

mongodmongos 모두에 사용할 수 있습니다.

유형: integer

기본값: 1000

진단 데이터를 수집할 간격(밀리초)을 지정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 간격을 5000 밀리초 또는 5초로 설정합니다.

mongod --setParameter diagnosticDataCollectionPeriodMillis=5000

diagnosticDataCollectionPeriodMillis의 최소값은 100 밀리초입니다.

disableSplitHorizonIPCheck

버전 5.0.0에 추가되었습니다.

mongodmongos 모두에 사용할 수 있습니다.

유형: 부울

기본값: false

분할 수평 DNS 에 대한 클러스터 노드를 구성하려면 , IP 주소 대신 호스트 이름을 사용하세요.

MongoDB v5.0부터 replSetInitiatereplSetReconfig 호스트 이름 대신 IP 주소를 사용하는 구성을 거부합니다.

호스트 이름을 사용하도록 업데이트할 수 없는 노드를 수정하려면 disableSplitHorizonIPCheck(을)를 사용합니다. 이 매개 변수는 구성 명령에만 적용됩니다.

mongodmongos는 시작 시 유효성 검사를 위해 disableSplitHorizonIPCheck에 의존하지 않습니다. 호스트 이름 대신 IP 주소를 사용하는 레거시 mongodmongos 인스턴스는 업그레이드 후 시작할 수 있습니다.

IP 주소로 구성된 인스턴스는 IP 주소 대신 호스트 이름을 사용하라는 경고를 기록합니다.

분할 수평 DNS 에 대한 클러스터 노드를 구성하려면 , IP 주소 대신 호스트 이름을 사용하세요.

MongoDB v5.0부터 replSetInitiatereplSetReconfig 호스트 이름 대신 IP 주소를 사용하는 구성을 거부합니다.

호스트 이름을 사용하도록 업데이트할 수 없는 노드를 수정하려면 disableSplitHorizonIPCheck(을)를 사용합니다. 이 매개 변수는 구성 명령에만 적용됩니다.

mongodmongos는 시작 시 유효성 검사를 위해 disableSplitHorizonIPCheck에 의존하지 않습니다. 호스트 이름 대신 IP 주소를 사용하는 레거시 mongodmongos 인스턴스는 업그레이드 후 시작할 수 있습니다.

IP 주소로 구성된 인스턴스는 IP 주소 대신 호스트 이름을 사용하라는 경고를 기록합니다.

IP 주소를 사용하여 구성 변경을 허용하려면 명령줄을 사용하여 disableSplitHorizonIPCheck=true 을 설정합니다.

/usr/local/bin/mongod --setParameter disableSplitHorizonIPCheck=true -f /etc/mongod.conf

IP 주소를 사용하여 구성을 변경할 수 있도록 하려면 노드의 구성 파일을 사용하여 disableSplitHorizonIPCheck=true 를 설정하십시오.

setParameter:
disableSplitHorizonIPCheck: true

런타임에 disableSplitHorizonIPCheck 을(를) 업데이트하려고 하면 db.adminCommand() (가) 오류를 반환합니다.

db.adminCommand( { setParameter: 1, "disableSplitHorizonIPCheck": true } )
MongoServerError: not allowed to change [disableSplitHorizonIPCheck] at runtime
enableOverrideClusterChainingSetting

버전 5.0.2에 추가되었습니다.

mongodmongos 모두에 사용할 수 있습니다.

유형: 부울

기본값: false

enableOverrideClusterChainingSettingtrue인 경우 복제본 세트 세컨더리 노드는 settings.chainingAllowedfalse인 경우에도 다른 세컨더리 노드의 데이터를 복제할 수 있습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 mongod 인스턴스의 enableOverrideClusterChainingSettingtrue로 설정하려면 다음을 수행하세요.

mongod --setParameter enableOverrideClusterChainingSetting=true
logicalSessionRefreshMillis

mongodmongos 모두에 사용할 수 있습니다.

유형: integer

기본값: 300000(5분)

캐시가 기본 세션 저장소에 대해 논리 세션 레코드를 새로 고치는 간격(밀리초)입니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 mongod 인스턴스의 logicalSessionRefreshMillis를 10분으로 설정하려면 다음을 수행하세요.

mongod --setParameter logicalSessionRefreshMillis=600000
localLogicalSessionTimeoutMinutes

mongodmongos 모두에 사용할 수 있습니다.

유형: integer

기본값: 30

경고

테스트 목적으로만 사용

이 매개변수는 테스트 용도로만 사용되며 프로덕션 용도로는 사용할 수 없습니다.

세션이 가장 최근에 사용한 후 활성 상태로 유지되는 시간 (분). 클라이언트로부터 새 읽기/쓰기 작업을 받지 못했거나 이 임계값 내에서 refreshSessions 로 새로 고쳐지지 않은 세션은 캐시에서 지워집니다. 만료된 세션과 관련된 상태는 언제든지 서버에 의해 정리될 수 있습니다.

이 매개변수는 해당 매개변수가 설정된 인스턴스에만 적용됩니다. 복제본 세트 및 샤드 클러스터에서 이 매개변수를 설정하려면 모든 구성원에 동일한 값을 지정해야 하며, 그렇지 않으면 세션이 제대로 작동하지 않습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 테스트 mongod 인스턴스의 localLogicalSessionTimeoutMinutes를 20분으로 설정하려면 다음을 수행하세요.

mongod --setParameter localLogicalSessionTimeoutMinutes=20
maxAcceptableLogicalClockDriftSecs

mongodmongos 모두에 사용할 수 있습니다.

유형: integer

기본값: 31536000 (1년)

현재 클러스터 시간을 앞당길 수 있는 최대값입니다. 구체적으로 maxAcceptableLogicalClockDriftSecs 은 클러스터 시간의 새 값과 현재 클러스터 시간 간의 최대 차이입니다. 클러스터 시간은 작업 순서를 지정하는 데 사용되는 논리적 시간입니다.

새 클러스터 시간이 현재 클러스터 시간과 maxAcceptableLogicalClockDriftSecs 이상 차이가 나면 클러스터 시간을 새 값으로 앞당길 수 없습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 mongod 인스턴스의 maxAcceptableLogicalClockDriftSecs를 15분으로 설정하려면 다음을 수행하세요.

mongod --setParameter maxAcceptableLogicalClockDriftSecs=900
maxSessions

mongodmongos 모두에 사용할 수 있습니다.

유형: integer

기본값: 1000000

캐시할 수 있는 최대 세션 수입니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 mongod 인스턴스의 maxSessions을 1000로 설정하려면 다음을 수행하세요.

mongod --setParameter maxSessions=1000
oplogBatchDelayMillis

버전 6.0에 추가.

mongodmongos 모두에 사용할 수 있습니다.

유형: integer

기본값: 0

보조 노드에 Oplog 작업 일괄 적용을 지연하는 시간(밀리초)입니다. 기본적으로 oplogBatchDelayMillis0이며, 이는 Oplog 배치가 지연 없이 적용됨을 의미합니다. 지연이 없는 경우 MongoDB는 보조 서버에 소량의 Oplog 배치를 자주 적용할 수 있습니다.

oplogBatchDelayMillis 을 늘리면 MongoDB가 세컨더리에 oplog 배치를 적용하는 빈도가 줄어들고 각 배치에 더 많은 양의 데이터가 포함됩니다. 이렇게 하면 세컨더리의 IOPS 가 감소하지만 쓰기 고려 (write concern) "majority" 가 있는 쓰기의 지연 시간이 늘어납니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음 명령을 실행하여 mongod 인스턴스의 oplogBatchDelayMillis 을 20밀리초로 설정합니다.

mongod --setParameter oplogBatchDelayMillis=20
periodicNoopIntervalSecs

mongod 에만 사용 가능합니다.

유형: integer

기본값: 10

각 개별 노드에서 noop 쓰기 사이의 기간 (초) 입니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

참고

MongoDB Atlas 클러스터에 대해 이 값을 수정하려면 Atlas 지원에 문의해야 합니다.

다음 예제에서는 시작 시 periodicNoopIntervalSecs 을 1초로 설정합니다.

mongod --setParameter periodicNoopIntervalSecs=1
storeFindAndModifyImagesInSideCollection

버전 5.0에 추가.

mongodmongos 모두에 사용할 수 있습니다.

유형: 부울

기본값: true

재시도 가능한 findAndModify 명령에 필요한 임시 문서를 사이드 컬렉션(config.image_collection)에 저장할지 여부를 결정합니다.

storeFindAndModifyImagesInSideCollection인 경우:

  • true를 클릭하면 임시 문서가 측면 컬렉션에 저장됩니다.

  • false, 임시 문서는 복제 세트 Oplog에 저장됩니다.

다음과 같은 경우 storeFindAndModifyImagesInSideCollectiontrue 로 설정된 상태로 유지합니다.

참고

세컨더리storeFindAndModifyImagesInSideCollectiontrue일 때 CPU 사용량이 증가할 수 있습니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 시작 중에 storeFindAndModifyImagesInSideCollectionfalse로 설정합니다.

mongod --setParameter storeFindAndModifyImagesInSideCollection=false

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, storeFindAndModifyImagesInSideCollection: false } )
TransactionRecordMinimumLifetimeMinutes

mongod 에만 사용 가능합니다.

유형: integer

기본값: 30

레코드가 정리 대상이 되기 전에 트랜잭션 레코드가 transactions 컬렉션에 존재하는 최소 수명입니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 mongod 인스턴스의 TransactionRecordMinimumLifetimeMinutes를 20분으로 설정하려면 다음을 수행하세요.

mongod --setParameter TransactionRecordMinimumLifetimeMinutes=20

다음도 참조하세요.

enableFlowControl

유형: 부울

기본값: true

보조 멤버의 majority committed 지연을 구성 가능한 최대값 이하로 유지하기 위해 주 멤버가 쓰기를 적용하는 속도를 제어하는 메커니즘을 사용하거나 사용하지 않도록 설정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

참고

흐름 제어가 작동하려면 복제본 세트/샤딩된 클러스터에 4.2featureCompatibilityVersion(fCV)majority enabled 읽기 우려 사항이 있어야 합니다. 즉, fCV가 4.2 가 아니거나 읽기 문제 과반수가 비활성화된 경우 활성화된 흐름 제어는 효과가 없습니다.

flowControlTargetLagSeconds

유형: integer

기본값: 10

흐름 제어로 실행할 때 목표 최대 majority committed 지연입니다. 흐름 제어가 활성화되면 메커니즘은 majority committed 지연을 지정된 초 미만으로 유지하려고 시도합니다. 흐름 제어가 비활성화되어 있으면 이 매개변수는 영향을 미치지 않습니다.

지정된 값은 0보다 커야 합니다.

일반적으로 기본 설정으로도 충분하지만 기본값에서 값을 높이는 대신 줄여서 수정하는 것이 더 유용할 수 있습니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

flowControlWarnThresholdSeconds

유형: integer

기본값: 10

흐름 제어 메커니즘이 대다수 커밋 지점을 감지한 후 경고를 기록하기 위해 기다리는 시간이 이동되지 않았습니다.

지정된 값은 0보다 크거나 같아야 하며, 경고를 비활성화하려면 0을 사용해야 합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

initialSyncTransientErrorRetryPeriodSeconds

유형: integer

기본값: 86400

일시적인 네트워크 오류로 인해 초기 동기화를 수행하는 보조 프로세스가 중단된 경우 프로세스를 재개하기 위해 시도하는 시간(초)입니다. 기본값은 24시간에 해당합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

initialSyncSourceReadPreference

mongod 에만 사용 가능합니다.

유형: 문자열

초기 동기화를 수행하기 위한 기본 소스입니다. 다음 읽기 설정 모드 중 하나를 지정합니다.

복제본 세트가 chaining를 비활성화한 경우, initialSyncSourceReadPreference 읽기 설정 모드의 기본값은 primary입니다.

태그 세트나 maxStalenessSecondsinitialSyncSourceReadPreference로 지정할 수 없습니다.

mongod 에서 지정된 읽기 기본 설정에 따라 동기화 소스를 찾을 수 없는 경우 오류를 기록하고 초기 동기화 프로세스를 다시 시작합니다. 5}가 번 시도한 후에도 초기 동기화 프로세스를 mongod 완료하지 10 못하면 오류와 함께 종료됩니다. 동기화 소스 선택에 대한 자세한 내용은 초기 동기화 소스 선택을 참조하십시오.

초기 동기화 소스를 선택할 때 initialSyncSourceReadPreference가 복제본 세트의 settings.chainingAllowed 설정보다 우선합니다. 복제 세트 구성원이 초기 동기화를 성공적으로 완료한 후에는 복제 동기화 소스를 선택할 때 chainingAllowed 값을 사용합니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

initialSyncMethod

버전 5.2에 추가되었습니다.

mongod 에만 사용 가능합니다.

유형: 문자열

기본값: logical

MongoDB Enterprise에서만 사용할 수 있습니다.

초기 동기화에 사용되는 방법입니다.

논리적 초기 동기화를 사용하려면 logical 로 설정합니다. 파일 복사 기반 초기 동기화를 사용하려면 fileCopyBased 로 설정합니다.

이 매개변수는 매개변수가 지정된 구성원의 동기화 방법에만 영향을 미칩니다. 단일 복제본 세트 멤버에서 이 매개 변수를 설정해도 다른 복제본 세트 멤버의 sync 메서드에는 영향을 주지 않습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

maxNumSyncSourceChangesPerHour

버전 5.0에 추가.

유형: integer

기본값: 3

동기화 소스는 동기화 소스가 업데이트될 때마다, 그리고 노드가 Oplog 항목의 배치를 가져올 때마다 평가됩니다. 한 시간 동안 maxNumSyncSourceChangesPerHour 개 이상의 소스 변경이 있는 경우 노드는 해당 동기화 소스 재평가를 일시적으로 중지합니다. 이 매개변수를 높은 값으로 설정하면 노드가 불필요한 소스 변경을 수행할 수 있습니다.

이 파라미터는 동기화 소스가 없는 노드가 다른 노드에서 동기화를 시작하는 것을 막지 않습니다. 동기화 소스가 유효하지 않은 경우 노드가 다시 평가합니다. 마찬가지로 기본 변경 사항 및 체인이 비활성화된 경우 새 기본 노드에서 동기화되도록 노드가 업데이트됩니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

oplogFetcherUsesExhaust

mongod 에만 사용 가능합니다.

유형: 부울

기본값: true

스트리밍 복제를 활성화하거나 비활성화합니다. 스트리밍 복제를 사용하려면 값을 true 로 설정합니다.

스트리밍 복제를 사용하지 않으려면 값을 false으로 설정합니다. 비활성화된 경우 보조 노드는 소스에서 동기화 요청을 보내고 응답을 기다려 Oplog 항목의 배치를 가져옵니다. 이를 위해서는 각 배치의 Oplog 항목에 대해 네트워크 왕복이 필요합니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

oplogInitialFindMaxSeconds

유형: integer

기본값: 60

mongod 에만 사용 가능합니다.

데이터 동기화 중에 복제본 세트의 find구성원이 명령이 완료될 때까지 대기하는 최대 시간(초)입니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

replWriterThreadCount

유형: integer

기본값: 16

mongod 에만 사용 가능합니다.

복제된 작업을 병렬로 적용하는 데 사용할 최대 스레드 수입니다. 값의 범위는 1에서 256까지입니다. 그러나 사용되는 최대 스레드 수는 사용 가능한 코어 수의 두 배로 제한됩니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음도 참조하세요.

replWriterMinThreadCount

버전 5.0에 추가.

유형: integer

기본값: 0

mongod 에만 사용 가능합니다.

복제된 작업을 병렬로 적용하는 데 사용할 최소 스레드 수입니다. 값의 범위는 0에서 256까지 입니다. 시작 시에만 replWriterMinThreadCount를 설정할 수 있으며 setParameter 명령으로 이 설정을 변경할 수 없습니다.

복제 작업의 병렬 적용은 최대 replWriterThreadCount 스레드를 사용합니다. replWriterMinThreadCountreplWriterThreadCount 보다 작은 값으로 구성된 경우 스레드 풀은 스레드 풀의 총 스레드 수가 replWriterMinThreadCount 가 될 때까지 유휴 스레드를 시간 초과합니다.

replWriterMinThreadCountreplWriterThreadCount 보다 작거나 같은 값으로 구성해야 합니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

rollbackTimeLimitSecs

유형: 64비트 정수

기본값: 86400 (1일)

롤백할 수 있는 데이터의 최대 보관 기간입니다. 이 매개변수의 음수 값은 유효하지 않습니다.

롤백 대상 인스턴스의 Oplog 끝에서 공통 지점 (소스 노드와 롤백 대상 노드가 동일한 데이터를 갖는 마지막 지점) 이후의 첫 번째 작업 사이의 시간이 이 값을 초과하면 롤백이 실패합니다.

사실상 무제한 롤백 기간을 가지려면 값을 2147483647 로 설정하십시오. 이 값은 허용된 최대값이며 대략 68년에 해당합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

waitForSecondaryBeforeNoopWriteMS

mongod 에만 사용 가능합니다.

유형: integer

기본값: 10

afterClusterTime 값이 Oplog에서 마지막으로 적용된 시간보다 클 경우 보조 서버가 대기해야 하는 시간 (밀리초) 입니다. waitForSecondaryBeforeNoopWriteMS 통과 후 afterClusterTime 값이 여전히 마지막 적용 시간보다 크면 보조 서버에서 no-op 쓰기를 실행하여 마지막 적용 시간을 앞당깁니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예에서는 waitForSecondaryBeforeNoopWriteMS }밀리초를 20 밀리초로 설정합니다.

mongod --setParameter waitForSecondaryBeforeNoopWriteMS=20

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, waitForSecondaryBeforeNoopWriteMS: 20 } )
createRollbackDataFiles

mongod 에만 사용 가능합니다.

유형: 부울

기본값: true

MongoDB가 롤백 중에 영향을 받는 문서가 포함된 롤백 파일을 생성할지 여부를 결정하는 플래그입니다.

기본적으로 createRollbackDataFilestrue이며 MongoDB가 롤백 파일을 생성합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예에서는 createRollbackDataFiles 를 false로 설정하여 롤백 파일이 생성되지 않도록 합니다.

mongod --setParameter createRollbackDataFiles=false

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, createRollbackDataFiles: false } )

자세한 내용은 롤백 데이터 수집을 참조하십시오.

replBatchLimitBytes

기본값: 104857600 (100MB)

최대 oplog 애플리케이션 배치 크기를 바이트 단위로 설정합니다.

값의 범위는 16777216(16MB)에서 104857600(100MB)까지입니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예에서는 replBatchLimitBytes ~ 64 MB를 설정하여 oplog 애플리케이션 배치 크기를 제한합니다.

mongod --setParameter replBatchLimitBytes=67108864

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, replBatchLimitBytes: 64 * 1024 * 1024 } )
mirrorReads

mongod 에만 사용 가능합니다.

버전 4.4에 추가되었습니다.

유형: 문서

기본값: { samplingRate: 0.01, maxTimeMS: 1000 }

4} 인스턴스에 대한 mongod 미러링된 읽기에 대한 설정을 지정합니다. 설정은 구성원이 기본 구성원인 경우에만 적용됩니다.

mirrorReads 매개변수는 다음 필드가 포함된 JSON 문서를 사용합니다.

필드
설명
samplingRate

선택 가능한(특히priority greater than 0) 보조의 하위 집합에 미러링을 지원하는 작업의 하위 집합을 미러링하는 데 사용되는 샘플링 속도입니다. 즉, 1차 미러는 지정된 샘플링 속도로 선택 가능한 각 2차 미러를 읽습니다.

유효한 값은 다음과 같습니다.

0.0
미러링을 끕니다.
1.0
프라이머리 설정은 미러링이 지원되는 모든 작업을 각 선택 가능한 세컨더리 복제본에 반영합니다.
0.0 0}에서 사이의 1.0 숫자(고유)
프라이머리는 선택 가능한 각 보조 데이터를 지정된 속도로 랜덤하게 샘플링하여 미러링된 읽기를 전송합니다.

예를 들어, 1차 및 2개의 선택 가능한 2차가 있고 샘플링 속도가 0.10인 복제본 세트가 주어진다면, 1차는 10%의 샘플링 속도로 각 선택 가능한 2차에 읽기를 미러링하여 한 번의 읽기가 한 2차에 미러링되고 다른 2차에는 미러링되지 않거나 둘 다 또는 둘 다에 미러링되지 않을 수 있습니다. 즉, 1차에서 100 미러링할 0.10 8 수 있는 개의 연산을 수신하는 경우, 의 샘플링 속도로 인해 개의 읽기가 2차에 미러링되고 13 개의 읽기가 다른 2차에 미러링되거나 10 각각 {5개}가 미러링되는 등의 결과가 발생할 수 있습니다.

기본값은 0.01입니다.

maxTimeMS

미러링된 읽기의 최대 시간(밀리초)입니다. 기본값은 1000 입니다.

미러링된 읽기의 maxTimeMS 는 미러링되는 원본 읽기의 maxTimeMS 와 별개입니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

구성 파일이나 명령줄에서 지정하는 경우 mirrorReads 문서를 따옴표로 묶어야 합니다.

예를 들어 다음은 명령줄에서 미러 읽기 샘플링 속도를 0.10 로 설정합니다.

mongod --setParameter mirrorReads='{ samplingRate: 0.10 }'

또는 구성 파일에서 지정할 수 있습니다.

setParameter:
mirrorReads: '{samplingRate: 0.10}'

또는, 실행 중인 mongod에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우에는 문서를 따옴표로 묶으면 안 됩니다.

db.adminCommand( { setParameter: 1, mirrorReads: { samplingRate: 0.10 } } )
allowMultipleArbiters

mongod 에만 사용 가능합니다.

버전 5.3에 추가.

유형: 부울

기본값: false

복제 세트에서 여러 중재자 사용을 허용할지 여부를 설정합니다.

여러 중재자를 사용하는 것은 권장하지 않습니다.

  • 다수의 중재자는 다수의 쓰기 문제를 안정적으로 사용하는 것을 방해합니다. MongoDB는 회원 과반수를 계산할 때 중재자를 포함하지만 중재자는 데이터를 저장하지 않습니다. 여러 중재자를 포함하면 쓰기가 대다수의 데이터 베어링 노드에 복제되기 전에 과반수 쓰기 작업이 성공을 반환할 수 있습니다.

  • 다중 중재자를 사용하면 복제본 세트에 데이터 복제를 위한 충분한 보조 장치가 없는 경우에도 복제본 세트가 쓰기를 수락할 수 있습니다.

자세한 내용은 다중 중재자 관련 문제를 참조하세요.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongod --setParameter allowMultipleArbiters=true
balancerMigrationsThrottlingMs

버전 6 에 추가되었습니다.0.6: ( 5.0.18부터 사용 가능)

유형: integer

기본값: 1000

mongod 에만 사용 가능합니다.

두 개의 연속 균형 조정 라운드 사이의 최소 시간을 지정합니다. 이를 통해 밸런싱 비율을 조절할 수 있습니다. 이 매개변수는 구성 서버 노드에만 적용됩니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

이 예에서는 시작 시 balancerMigrationsThrottlingMs 을 2000밀리초로 설정합니다.

mongod --setParameter balancerMigrationsThrottlingMs=2000

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, balancerMigrationsThrottlingMs: 2000 } )
chunkDefragmentationThrottlingMS

버전 5.3에 추가.

유형: integer

기본값: 0

mongodmongos 모두에 사용할 수 있습니다.

샤드 컬렉션의 청크 가 조각 모음될 때 밸런서 가 실행하는 연속적인 분할chunkDefragmentationThrottlingMS 및 병합 명령 사이의 최소 기간(밀리초)을 지정합니다. 는 분할 및 병합 명령의 속도를 제한합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예에서는 chunkDefragmentationThrottlingMS10밀리초로 설정합니다.

mongod --setParameter chunkDefragmentationThrottlingMS=10

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, chunkDefragmentationThrottlingMS: 10 } )
chunkMigrationConcurrency

MongoDB 6.0.6(및 5.0.15)부터 사용할 수 있습니다.

유형: integer

기본값: 1

mongod 에만 사용 가능합니다.

청크 마이그레이션을 위해 소스 샤드와 목적지 샤드의 스레드 수를 설정하는 정수값을 지정합니다. 청크 마이그레이션은 목적지 샤드에서 설정한 스레드 수를 소스 샤드와 목적지 샤드 모두에 적용합니다.

동시성을 높이면 청크 마이그레이션 성능이 향상되지만 소스 샤드와 수신 샤드의 작업 부하와 디스크 IOPS 사용량도 늘어납니다.

최대 값은 500입니다.

일반적으로 총 CPU 코어 수의 절반을 스레드로 사용해야 합니다. 예를 들어 총 코어가 16개인 경우 chunkMigrationConcurrency 을 8개(또는 그 이하)로 설정합니다.

chunkMigrationConcurrency1 보다 크면 _secondaryThrottle 구성 설정이 무시됩니다. _secondaryThrottle 설정은 청크 마이그레이션이 청크의 다음 문서로 진행되는 시기를 결정합니다. 자세한 내용은 범위 마이그레이션 및 복제를 참조하세요.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예제에서는 chunkMigrationConcurrency5로 설정합니다.

mongod --setParameter chunkMigrationConcurrency=5

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, chunkMigrationConcurrency: 5 } )
disableResumableRangeDeleter

mongod 에만 사용 가능합니다.

유형: 부울

기본값: false

샤드의 기본에 설정된 경우, 샤드에서 범위 삭제가 일시 중지되는지 여부를 지정합니다. 로 true 설정하면 분리된 문서 가 포함된 청크 범위 정리가 일시 중지됩니다. 샤드는 다른 샤드에 청크를 계속 기부할 수 있지만, 이 매개변수를 false 로 설정할 때까지 기부된 문서는 이 샤드에서 제거되지 않습니다. 이 샤드는 들어오는 청크의 범위와 겹치는 config.rangeDeletions 컬렉션에 보류 중인 범위 삭제 작업이 없는 한 다른 샤드로부터 청크를 계속 받을 수 있습니다.

disableResumableRangeDeletertrue인 경우, 수신자 샤드의 프라이머리에 수신되는 청크와 동일한 범위의 고아 문서가 존재하는 경우 청크 마이그레이션이 실패합니다.

2}가 샤드의 기본이 아닌 경우 이 매개변수는mongod에 영향을 미치지 않습니다.

중요

disableResumableRangeDeleter 매개 변수를 true 로 설정하는 경우 샤드의 복제본 세트에 있는 모든 구성원에 대해 일관되게 적용해야 합니다. 페일오버가 발생하는 경우 새 프라이머리의 이 설정 값에 따라 범위 삭제자의 동작이 결정됩니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongod --setParameter disableResumableRangeDeleter=false
enableShardedIndexConsistencyCheck

mongod 에만 사용 가능합니다.

유형: 부울

기본값: true

구성 서버의 주 서버에 설정된 경우 분할된 컬렉션에 대한 인덱스 일관성 검사를 사용하거나 사용하지 않도록 설정합니다. 2}가 구성 서버의 기본값이 아닌 경우 이 매개 변수는mongod에 영향을 미치지 않습니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 구성 서버 기본값으로 enableShardedIndexConsistencyCheckfalse로 설정합니다.

mongod --setParameter enableShardedIndexConsistencyCheck=false

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, enableShardedIndexConsistencyCheck: false } )

다음도 참조하세요.

opportunisticSecondaryTargeting

버전 6.0.0 에 추가 되었습니다.

유형: 부울

기본값: false

mongos 에만 사용 가능합니다.

0}이 복제본 집합에 대해 기회주의 읽기를 수행할지 여부를 결정합니다.mongos

이 매개 변수를 true으로 설정하면 mongos 보조 읽기를 활성 연결이 있는 보조로 지정합니다. 연결을 수락하는 첫 번째 보조 복제본에 요청을 보냅니다. 이 매개 변수를 false로 설정하면 mongos 특정 보조에 대한 연결을 설정할 수 있을 때까지 보조 읽기를 보류합니다(헤지된 읽기의 경우 제외).

참고

특정 워크로드에서는 기회주의적 읽기로 인해 mongos에서 mongod까지 불필요한 연결이 열리고 전체 성능이 저하될 수 있습니다. 애플리케이션에 특정 기능이 필요한 경우가 아니면 이 매개변수를 활성화하면 안 됩니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 시작 중에 opportunisticSecondaryTargeting 을 설정합니다.

mongos --setParameter opportunisticSecondaryTargeting=true
shardedIndexConsistencyCheckIntervalMS

mongod 에만 사용 가능합니다.

유형: integer

기본값: 600000

구성 서버의 기본 서버에 설정된 경우 구성 서버의 기본 서버가 샤딩된 컬렉션의 인덱스 일관성을 확인하는 간격(밀리초)입니다. 2}가 구성 서버의 기본값이 아닌 경우 이 매개 변수는mongod에 영향을 미치지 않습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어, 다음은 시작 시 간격을 300000밀리초(5분)로 설정합니다.

mongod --setParameter shardedIndexConsistencyCheckIntervalMS=300000

다음도 참조하세요.

enableFinerGrainedCatalogCacheRefresh

mongodmongos 모두에 사용할 수 있습니다.

유형: 부울

기본값: true

이 매개 변수를 사용하면 샤드를 새로 고쳐야 하는 경우에만 카탈로그 캐시를 새로 고칠 수 있습니다. 비활성화하면 오래된 청크가 있으면 컬렉션에 대한 전체 청크 배포가 오래된 것으로 간주되어 샤드에 접속하는 모든 라우터가 샤드 카탈로그 캐시를 새로 고쳐야 합니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongod --setParameter enableFinerGrainedCatalogCacheRefresh=true
mongos --setParameter enableFinerGrainedCatalogCacheRefresh=true

다음도 참조하세요.

maxTimeMSForHedgedReads

mongos 에만 사용 가능합니다.

유형: integer

기본값: 150

헤지된 읽기( hedged read)에 대한 최대 시간 제한(밀리초)을 지정합니다. 즉, 읽기 작업을 헤지하기 위해 전송된 추가 읽기는 maxTimeMSForHedgedReadsmaxTimeMS 값을 사용하는 반면, 헤지 중인 읽기 작업은 작업에 지정된 maxTimeMS 값을 사용합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 제한을 200밀리초로 설정하려면 시작 중에 다음을 실행하면 됩니다.

mongos --setParameter maxTimeMSForHedgedReads=200

또는 실행 중인 mongos에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우입니다.

db.adminCommand( { setParameter: 1, maxTimeMSForHedgedReads: 200 } )

다음도 참조하세요.

maxCatchUpPercentageBeforeBlockingWrites

버전 5.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 10

moveChunk moveRange 2} 및 작업의 경우 마이그레이션 프로토콜에서 catchup 단계에서 commit 단계로 전환하기 위해 허용하는 전송되지 않은 데이터의 최대 백분율(전체 청크 크기의 백분율로 표시)을 지정합니다.

따라잡기 비율을 높게 설정하면 upsertdelete 작업이 동시에 진행되는 동안 지연 시간이 증가하는 대신 마이그레이션이 완료되는 데 걸리는 시간이 단축될 수 있습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

버전 7 에서 변경되었습니다.1: (및 7.0.1), 런타임 중에 매개 변수를 설정할 수 있습니다.

예를 들어 최대 백분율을 20으로 설정하려면 시작 중에 다음을 실행하면 됩니다.

mongod --setParameter maxCatchUpPercentageBeforeBlockingWrites=20

런타임 중에는 maxCatchUpPercentageBeforeBlockingWrites 을 변경할 수 없습니다.

metadataRefreshInTransactionMaxWaitBehindCritSecMS

버전 5.2의 새로운 기능: (5.1.0, 5.0.4부터 사용 가능)

유형: integer

기본값: 500

mongod 에만 사용 가능합니다.

샤드가 트랜잭션 내 중요 섹션을 기다리는 시간을 제한합니다.

쿼리가 샤드에 액세스할 때, 청크 마이그레이션 또는 DDL 작업이 이미 컬렉션의 중요한 섹션을 보유하고 있을 수 있습니다. 쿼리 결과 중요 섹션이 점유된 것으로 확인되면 샤드는 중요 섹션이 해제될 때까지 대기합니다. 샤드가 제어를 mongos으로 반환하면 mongos는 쿼리를 재시도합니다. 그러나 다중 샤드 트랜잭션이 여러 샤드에서 중요한 부분을 차지하는 작업과 상호 작용하는 경우 상호 작용으로 인해 분산 교착 상태가 발생할 수 있습니다.

metadataRefreshInTransactionMaxWaitBehindCritSecMS 임계 섹션이 해제될 때까지 트랜잭션 내에서 샤드가 기다리는 최대 시간을 제한합니다.

트랜잭션 내 중요 섹션의 최대 대기 시간을 줄이려면 metadataRefreshInTransactionMaxWaitBehindCritSecMS 값을 낮추세요.

경고

metadataRefreshInTransactionMaxWaitBehindCritSecMS 값이 너무 낮으면 mongos 에서 재시도 시도를 모두 사용하고 오류를 반환할 수 있습니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어, metadataRefreshInTransactionMaxWaitBehindCritSecMS을 400밀리초로 설정하려면 다음을 입력해야 합니다.

db.adminCommand( { setParameter: 1, metadataRefreshInTransactionMaxWaitBehindCritSecMS: 400 } )
readHedgingMode

mongos 에만 사용 가능합니다.

유형: 문자열

기본값: 켜짐

읽기 기본 설정에서 헤지 읽기 mongos 옵션을 사용하도록 설정한 읽기 작업에 대해 헤지 읽기를 지원하는지 여부를 지정합니다.

사용 가능한 값은 다음과 같습니다.

설명
on
2} 인스턴스는 읽기 기본 mongos 설정에서 헤지된 읽기 옵션을 활성화한 읽기 작업에 대해 헤지된 읽기를 지원합니다.
off
mongos 인스턴스는 헤지된 읽기를 지원하지 않습니다. 즉, 읽기 기본 설정에서 헤지된 읽기 옵션을 활성화한 읽기 작업의 경우에도 헤지된 읽기는 사용할 수 없습니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 mongos 인스턴스에 대한 헤지된 읽기 지원을 해제하려면 시작 중에 다음을 실행하면 됩니다.

mongos --setParameter readHedgingMode=off

또는 실행 중인 mongos에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우입니다.

db.adminCommand( { setParameter: 1, readHedgingMode: "off" } )

다음도 참조하세요.

routingTableCacheChunkBucketSize

버전 6.0.10의 새로운 기능.

mongodmongos 모두에 사용할 수 있습니다.

유형: integer

기본값: 500

청크 그룹화 최적화를 구현하는 데 사용되는 라우팅 테이블 캐시 버킷의 크기를 지정합니다. 0}보다 커야 합니다.0

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 mongod 에서 캐시 청크 버킷 크기를 250 로 설정하려면 시작 시 다음 명령을 실행합니다.

mongod --setParameter routingTableCacheChunkBucketSize=1000
shutdownTimeoutMillisForSignaledShutdown

버전 5.0에 추가.

유형: integer

기본값: 15000

mongod 에만 사용 가능합니다.

SIGTERM 신호에 대한 응답으로 mongod 종료를 시작하기 전에 진행 중인 데이터베이스 작업이 완료될 때까지 대기할 시간 (밀리초) 을 지정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 시간을 250밀리초로 설정하려면 시작 중에 다음을 실행하면 됩니다.

mongod --setParameter shutdownTimeoutMillisForSignaledShutdown=250

또는 실행 중인 mongod에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우입니다.

db.adminCommand( { setParameter: 1, shutdownTimeoutMillisForSignaledShutdown: 250 } )
mongosShutdownTimeoutMillisForSignaledShutdown

버전 5.0에 추가.

유형: integer

기본값: 15000

mongos 에만 사용 가능합니다.

SIGTERM 신호에 대한 응답으로 mongos 종료를 시작하기 전에 진행 중인 데이터베이스 작업이 완료될 때까지 대기할 시간 (밀리초) 을 지정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 시간을 250밀리초로 설정하려면 시작 중에 다음을 실행하면 됩니다.

mongos --setParameter mongosShutdownTimeoutMillisForSignaledShutdown=250

또는 실행 중인 mongos에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우입니다.

db.adminCommand( { setParameter: 1, mongosShutdownTimeoutMillisForSignaledShutdown: 250 } )
ShardingTaskExecutorPoolHostTimeoutMS

유형: 정수

기본값: 300000(5분)

mongodmongos 모두에 사용할 수 있습니다.

5}가 호스트에 mongos 대한 모든 mongos 연결을 끊기 전까지 가 호스트와 통신하지 않는 최대 시간입니다.

설정된 경우 ShardingTaskExecutorPoolHostTimeoutMSShardingTaskExecutorPoolRefreshRequirementMSShardingTaskExecutorPoolRefreshTimeoutMS의 합보다 커야 합니다. 그렇지 않으면 mongosShardingTaskExecutorPoolHostTimeoutMS 값이 합계보다 커지도록 조정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 시작 중에 ShardingTaskExecutorPoolHostTimeoutMS120000으로 설정합니다.

mongos --setParameter ShardingTaskExecutorPoolHostTimeoutMS=120000

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolHostTimeoutMS: 120000 } )
ShardingTaskExecutorPoolMaxConnecting

유형: 정수

기본값: 2

mongodmongos 모두에 사용할 수 있습니다.

각 TaskExecutor 연결 풀이 mongod 인스턴스에 대해 가질 수 있는 동시 시작 연결의 최대 수(설정/새로 고침 상태의 보류 중인 연결 포함)입니다. 이 매개 변수를 설정하여 mongos mongod 인스턴스에 연결을 추가하는 속도를 제어할 수 있습니다.

설정된 경우 ShardingTaskExecutorPoolMaxConnectingShardingTaskExecutorPoolMaxSize보다 작거나 같아야 합니다. 이보다 크면 mongosShardingTaskExecutorPoolMaxConnecting 값을 무시합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 시작 중에 ShardingTaskExecutorPoolMaxConnecting20으로 설정합니다.

mongos --setParameter ShardingTaskExecutorPoolMaxConnecting=20

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxConnecting: 20 } )
ShardingTaskExecutorPoolMaxSize

유형: 정수

기본값: 2 64 - 1

mongodmongos 모두에 사용할 수 있습니다.

각 TaskExecutor 연결 풀이 지정된 mongod 인스턴스에 대해 열 수 있는 아웃바운드 연결의 최대 수입니다. 모든 TaskExecutor 풀에서 특정 호스트에 대해 가능한 최대 연결 수는 다음과 같습니다.

ShardingTaskExecutorPoolMaxSize * taskExecutorPoolSize

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 시작 중에 ShardingTaskExecutorPoolMaxSize20으로 설정합니다.

mongos --setParameter ShardingTaskExecutorPoolMaxSize=20

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxSize: 20 } )

mongos는 최대 n TaskExecutor 연결 풀을 가질 수 있으며, 여기서 n은 코어 수입니다. taskExecutorPoolSize를 참조하세요.

다음도 참조하세요.

ShardingTaskExecutorPoolMaxSizeForConfigServers

버전 6.0에 추가.

유형: 정수

기본값: -1

mongodmongos 모두에 사용할 수 있습니다.

각 TaskExecutor 연결 풀이 구성 서버에 열 수 있는 최대 아웃바운드 연결 수를 설정하는 ShardingTaskExecutorPoolMaxSize에 대한 선택적 재정의입니다.

다음으로 설정하는 경우:

  • -1, ShardingTaskExecutorPoolMaxSize 이 사용됩니다. 이것이 기본값입니다.

  • -1 보다 큰 정수 값은 각 TaskExecutor 연결 풀이 구성 서버에 열 수 있는 최대 아웃바운드 연결 수를 무시합니다.

매개 변수는 샤딩된 배포에만 적용됩니다.

다음 예제에서는 시작 중에 ShardingTaskExecutorPoolMaxSize2 로 설정하여 각 TaskExecutor 연결 풀이 구성 서버에 열 수 있는 아웃바운드 연결의 최대 수를 2 로 설정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongos --setParameter ShardingTaskExecutorPoolMaxSizeForConfigServers=2

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMaxSizeForConfigServers: 2 } )
ShardingTaskExecutorPoolMinSize

유형: 정수

기본값: 1

mongodmongos 모두에 사용할 수 있습니다.

각 작업 실행기 연결 풀이 주어진 mongod 인스턴스에 대해 열 수 있는 아웃바운드 연결의 최소 개수입니다.

ShardingTaskExecutorPoolMinSize 풀에서 새 호스트에 대한 연결이 처음 요청될 때 연결이 생성됩니다. 풀이 유휴 상태인 동안 풀은 해당 풀을 사용하는 애플리케이션 없이 ShardingTaskExecutorPoolHostTimeoutMS 밀리초가 경과할 때까지 이 연결 수를 유지합니다.

warmMinConnectionsInShardingTaskExecutorPoolOnStartup 매개 변수를 사용하는 mongos의 경우 ShardingTaskExecutorPoolMinSize 매개 변수는 mongos 인스턴스가 시작될 때 들어오는 클라이언트 연결을 수락하기 전에 각 샤드 호스트에 설정되는 연결 수를 제어합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 시작 중에 ShardingTaskExecutorPoolMinSize2으로 설정합니다.

mongos --setParameter ShardingTaskExecutorPoolMinSize=2

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMinSize: 2 } )

mongos는 최대 n TaskExecutor 연결 풀을 가질 수 있으며, 여기서 n은 코어 수입니다. taskExecutorPoolSize를 참조하세요.

ShardingTaskExecutorPoolMinSizeForConfigServers

버전 6.0에 추가.

유형: 정수

기본값: -1

mongodmongos 모두에 사용할 수 있습니다.

선택적으로 ShardingTaskExecutorPoolMinSize를 재정의하여 각 TaskExecutor 연결 풀이 구성 서버에 대해 열 수 있는 최소 아웃바운드 연결 수를 설정하세요.

다음으로 설정하는 경우:

  • -1, ShardingTaskExecutorPoolMinSize 이 사용됩니다. 이것이 기본값입니다.

  • -1보다 큰 정수 값으로 설정하면 각 작업 실행기 연결 풀이 구성 서버에 열 수 있는 아웃바운드 연결의 최소 개수를 재정의합니다.

매개 변수는 샤딩된 배포에만 적용됩니다.

다음 예시에서는 스타트업 도중 ShardingTaskExecutorPoolMinSize2로 설정해 각 TaskExecutor 연결 풀이 구성 서버에 열 수 있는 아웃바운드 연결의 최소수를 2로 설정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongos --setParameter ShardingTaskExecutorPoolMinSizeForConfigServers=2

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolMinSizeForConfigServers: 2 } )
ShardingTaskExecutorPoolRefreshRequirementMS

유형: 정수

기본값: 60000(1분)

mongodmongos 모두에 사용할 수 있습니다.

풀에서 유휴 연결을 하트비트하기 전에 mongos 가 대기하는 최대 시간입니다. 풀이 최소 크기를 초과하는 경우 새로 고침 중에 유휴 연결이 삭제될 수 있습니다.

설정된 경우 ShardingTaskExecutorPoolRefreshRequirementMSShardingTaskExecutorPoolRefreshTimeoutMS보다 커야 합니다. 그렇지 않으면 mongosShardingTaskExecutorPoolRefreshTimeoutMS 값을 ShardingTaskExecutorPoolRefreshRequirementMS보다 작게 조정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 시작 중에 ShardingTaskExecutorPoolRefreshRequirementMS90000으로 설정합니다.

mongos --setParameter ShardingTaskExecutorPoolRefreshRequirementMS=90000

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolRefreshRequirementMS: 90000 } )
ShardingTaskExecutorPoolRefreshTimeoutMS

유형: 정수

기본값: 20000(20초)

mongodmongos 모두에 사용할 수 있습니다.

2}가 하트비트 타이밍을 초과하기 전에 하트비트를 기다리는 mongos 최대 시간입니다.

설정된 경우 ShardingTaskExecutorPoolRefreshTimeoutMSShardingTaskExecutorPoolRefreshRequirementMS보다 작아야 합니다. 그렇지 않으면 mongosShardingTaskExecutorPoolRefreshTimeoutMS 값을 ShardingTaskExecutorPoolRefreshRequirementMS 미만으로 조정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 시작 중에 ShardingTaskExecutorPoolRefreshTimeoutMS30000으로 설정합니다.

mongos --setParameter ShardingTaskExecutorPoolRefreshTimeoutMS=30000

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolRefreshTimeoutMS: 30000 } )
ShardingTaskExecutorPoolReplicaSetMatching

버전 5.0에서 변경됨

mongodmongos 모두에 사용할 수 있습니다.

유형: 문자열

기본값: "자동"

mongos 인스턴스에서 이 매개변수는 복제본 세트 내의 노드에 대한 연결 풀의 최소 크기 제한을 결정하는 정책을 설정합니다.

mongod 2} 인스턴스에서 이 매개 변수는 다른 복제본 집합 내의 노드에 대한 연결 풀의 최소 크기 제한을 결정하는 정책을 설정합니다.

이 매개변수는 사용자 요청 및 CRUD 작업과 직접 관련된 작업에 대한 연결만 관리합니다.

사용 가능한 값은 다음과 같습니다.

매칭 정책
설명
"automatic" (기본값)

5.0부터 "automatic"은 새로운 기본값입니다.

mongos에 대해 설정된 경우 인스턴스는 "matchPrimaryNode" 옵션에 지정된 동작을 따릅니다.

mongod에 대해 설정된 경우 인스턴스는 "disabled" 옵션에 지정된 동작을 따릅니다.

참고

ShardingTaskExecutorPoolReplicaSetMatching"automatic"으로 설정된 경우 replicaSetMatchingStrategy"automatic"이 아닌 실제 사용 중인 정책을 설명합니다. ShardingTaskExecutorPoolReplicaSetMatching의 값을 찾으려면 서버 매개변수의 값을 반환하는 getParameter를 사용합니다.

"matchPrimaryNode"

2}로 설정된 경우, 샤드 클러스터의 각 복제 세트(특히, 샤드 복제 세트 및 구성 서버)에 대한 인스턴스 연결 풀의 최소 크기 제한은 해당 복제 세트의 기본 연결 풀의 크기와 mongos 동일합니다.

2}로 설정된 경우, 샤드된 클러스터의 다른 복제 세트(특히, 샤드 복제 세트 및 구성 서버)의 각 보조에 대한 인스턴스 연결 풀의 최소 크기 제한은 해당 복제 세트의 기본에 대한 연결 풀의 크기와 mongod 동일합니다.

프라이머리 스텝다운의 경우 matchPrimaryNode 를 사용하면 프라이머리가 되는 모든 보조 서버가 현재 레벨의 프라이머리 읽기 및 쓰기를 처리할 수 있습니다.

"matchBusiestNode"

2}로 설정된 경우, 샤드 클러스터의 각 복제 세트 구성원(특히, 샤드 복제 세트 및 구성 서버)에 대한 인스턴스의 연결 풀의 최소 크기 제한은 해당 복제 세트의 기본 및 각 보조 구성원에 대한 활성 연결 수 중 가장 큰 값과 mongos 동일합니다.

mongod에 대해 설정된 경우, 샤드된 클러스터의 다른 복제 세트(특히, 샤드 복제 세트 및 구성 서버)의 각 구성원에 대한 인스턴스의 연결 풀의 최소 크기 제한은 해당 복제 세트의 기본 및 각 보조 구성원에 대한 활성 연결 수 중 가장 큰 값과 동일합니다.

"matchBusiestNode", mongos 를 사용하면 각 보조 서버에 대한 충분한 연결을 유지하여 현재 수준의 기본 및 보조 읽기 및 쓰기를 처리할 수 있습니다. 활성 연결 수가 감소하면 풀에서 유지해야 하는 연결 수도 줄어듭니다.

"disabled"

mongos로 설정된 경우, 인스턴스의 연결 풀에서 샤드된 clusterv에 있는 복제본 세트의 각 노드(특히 샤드 복제본 세트 및 config 서버)에 대한 인스턴스의 최소 연결 수가 ShardingTaskExecutorPoolMinSize 와 같습니다.

mongod(으)로 설정된 경우 샤드 클러스터(구체적으로 샤드 복제본 세트 및 구성 서버)에 있는 다른 복제본 세트의 각 노드에 대한 인스턴스 연결 풀의 인스턴스 최소 연결 수는 ShardingTaskExecutorPoolMinSize(과)와 같습니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 시작 중에 ShardingTaskExecutorPoolReplicaSetMatching"automatic"로 설정합니다.

mongod --setParameter ShardingTaskExecutorPoolReplicaSetMatching="automatic"

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolReplicaSetMatching: "automatic" } )
taskExecutorPoolSize

유형: 정수

기본값: 1

mongos 에만 사용 가능합니다.

지정된mongos에 사용할 Task Executor 연결 풀의 수입니다.

매개 변수 값이 0 이하이면 Task Executor 연결 풀 수는 코어 수와 같지만 다음과 같은 예외가 있습니다.

  • 코어 수가 4개 미만인 경우 Task Executor 연결 풀 수는 4개입니다.

  • 코어 수가 64보다 크면 Task Executor 연결 풀 수는 64입니다.

Linux에서 MongoDB를 실행하는 경우 기본값인 1 에서 taskExecutorPoolSize 를 수정할 수 없습니다. Windows 또는 macOS에서 MongoDB를 실행할 때 이 매개변수를 수정할 수 있습니다.

taskExecutorPoolSize 의 기본값은 1 입니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongos --setParameter taskExecutorPoolSize=6
loadRoutingTableOnStartup

mongos 에만 사용 가능합니다.

유형: 부울

기본값: true

2} 인스턴스가 시작 시 샤드된 클러스터의 라우팅 테이블을 미리 로드하도록 mongos 구성합니다. 이 설정을 사용하면 mongos 클라이언트 연결을 수락하기 전에 시작 절차의 일부로 샤드된 각 컬렉션에 대한 클러스터 전체 라우팅 테이블을 캐시합니다.

이 설정을 사용하지 않으면 mongos 들어오는 클라이언트 연결에 필요한 라우팅 테이블만 로드하고 지정된 요청의 네임스페이스에 대한 특정 라우팅 테이블만 로드합니다.

loadRoutingTableOnStartup 매개 변수가 활성화된 mongos 인스턴스는 스타트업 시간이 길어질 수 있지만, 일단 시작되면 초기 클라이언트 연결의 서비스 속도가 빨라집니다.

loadRoutingTableOnStartup 은(는) 기본적으로 활성화되어 있습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

warmMinConnectionsInShardingTaskExecutorPoolOnStartup

mongos 에만 사용 가능합니다.

유형: 부울

기본값: true

스타트업 시 연결 풀을 미리 워밍하도록 mongos 인스턴스를 구성합니다. 이 매개 변수를 활성화하면 mongos(은)는 클라이언트 연결을 수락하기 전에 스타트업 절차의 일부로 각 샤드 서버에 ShardingTaskExecutorPoolMinSize 네트워크 연결을 설정하려고 시도합니다.

이 동작에 대한 시간 초과는 warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMS 매개변수를 사용하여 구성할 수 있습니다. 이 시간 초과에 도달하면 mongos는 연결 풀의 크기에 관계없이 클라이언트 연결을 수락하기 시작합니다.

이 매개 변수를 사용하도록 설정한 mongos 인스턴스는 시작 시간이 길어질 수 있지만, 일단 시작되면 초기 클라이언트 연결의 서비스 속도가 빨라집니다.

warmMinConnectionsInShardingTaskExecutorPoolOnStartup 은(는) 기본적으로 활성화되어 있습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMS

mongos 에만 사용 가능합니다.

유형: 정수

기본값: 2000(2초)

warmMinConnectionsInShardingTaskExecutorPoolOnStartup 매개변수를 사용할 때 샤드 호스트당 ShardingTaskExecutorPoolMinSize 연결이 설정될 때까지 mongos가 대기하는 시간 초과 임계값을 밀리초 단위로 설정합니다. 이 시간 제한에 도달하면 mongos는 연결 풀의 크기에 관계없이 클라이언트 연결을 수락하기 시작합니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

migrateCloneInsertionBatchDelayMS

mongod 에만 사용 가능합니다.

유형: 음수가 아닌 정수

기본값: 0

마이그레이션 프로세스의 복제 단계 중 일괄 삽입 사이에 대기하는 시간(밀리초)입니다. 이 대기 시간은 secondaryThrottle에 추가됩니다.

기본값인 0 은 추가 대기 시간이 없음을 나타냅니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음은 migrateCloneInsertionBatchDelayMS ~ 200 밀리초를 설정합니다.

mongod --setParameter migrateCloneInsertionBatchDelayMS=200

매개변수는 setParameter 명령을 사용하여 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, migrateCloneInsertionBatchDelayMS: 200 } )
migrateCloneInsertionBatchSize

mongod 에만 사용 가능합니다.

유형: 음수가 아닌 정수

기본값: 0

마이그레이션 프로세스의 복제 단계 동안 단일 배치에 삽입할 최대 문서 수입니다.

기본값 0 은 배치당 최대 문서 수가 없음을 나타냅니다. 그러나 실제로는 최대 16MB의 문서를 포함하는 일괄 처리가 생성됩니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음은 migrateCloneInsertionBatchSize를 100개의 문서로 설정합니다.

mongod --setParameter migrateCloneInsertionBatchSize=100

매개변수는 setParameter 명령을 사용하여 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, migrateCloneInsertionBatchSize: 100 } )
orphanCleanupDelaySecs

기본값: 900(15분)

mongod 에만 사용 가능합니다.

마이그레이션된 청크가 소스 샤드에서 삭제되기 전의 최소 지연입니다.

청크 마이그레이션 중에 청크를 삭제하기 전에, MongoDB는 orphanCleanupDelaySecs 또는 청크와 관련된 진행 중인 쿼리가 샤드 프라이머리에서 완료될 때까지 둘 중 더 긴 시간을 기다립니다.

그러나 샤드 프라이머리는 샤드 세컨더리에서 실행되는 진행 중인 쿼리에 대한 지식이 없기 때문에 청크를 사용하지만 세컨더리에서 실행되는 쿼리의 경우, 쿼리가 샤드 프라이머리 쿼리를 완료하는 데 걸리는 시간보다 오래 걸리고 orphanCleanupDelaySecs.

참고

이 동작은 청크 마이그레이션 전에 시작되는 진행 중인 쿼리에만 영향을 미칩니다. 청크 마이그레이션이 시작된 후에 시작되는 쿼리는 마이그레이션하는 청크를 사용하지 않습니다.

샤드에 스토리지 제약이 있는 경우, 이 값을 일시적으로 줄이는 것이 좋습니다. 샤드 보조 데이터베이스에서 15분을 초과하는 쿼리를 실행하는 경우 이 값을 늘리는 것이 좋습니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음은 orphanCleanupDelaySecs ~ 20 분을 설정합니다.

mongod --setParameter orphanCleanupDelaySecs=1200

이는 setParameter 명령을 사용하여 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, orphanCleanupDelaySecs: 1200 } )
persistedChunkCacheUpdateMaxBatchSize

버전 6.0.13에 새로 추가됨: (및 5.0.25)

mongod 에만 사용 가능합니다.

유형: 유형: 정수

기본값: 1000

작업을 라우팅하고 제공하려면 샤드가 컬렉션과 관련된 라우팅 및 소유권 정보를 알아야 합니다. 이 정보는 내부 캐시 컬렉션 config.cache.collectionsconfig.cache.chunks.<collectionName> 복제를 통해 샤드의 기본 노드에서 보조 노드로 전파됩니다.

이전 버전에서는 청크 캐시 collection에 대한 업데이트가 개별적으로 수행되었습니다(즉, 항목이 삭제되고 새 항목이 삽입됨). MongoDB 6.0.13부터는 이러한 업데이트는 일괄적인 삭제와 그 뒤를 이은 일괄적인 삽입 과정으로 수행됩니다. 업데이트된 로직은 많은 수의 청크가 포함된 컬렉션의 성능을 개선합니다.

persistedChunkCacheUpdateMaxBatchSize 매개변수는 지속형 청크 캐시를 업데이트하는 데 사용되는 최대 배치 크기를 지정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예에서는 시작 시 persistedChunkCacheUpdateMaxBatchSize 을 700으로 설정합니다.

mongod --setParameter persistedChunkCacheUpdateMaxBatchSize=700

런타임 중에 persistedChunkCacheUpdateMaxBatchSize 을 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, persistedChunkCacheUpdateMaxBatchSize: 700 } )
rangeDeleterBatchDelayMS

mongod 에만 사용 가능합니다.

유형: 음수가 아닌 정수

기본값: 20

범위 마이그레이션의 정리 단계(또는 cleanupOrphaned 명령)에서 다음 삭제 일괄 처리 전에 대기할 시간(밀리초)입니다.

_secondaryThrottle 복제 지연은 각 배치 삭제 후에 발생합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음은 rangeDeleterBatchDelayMS ~ 200 밀리초를 설정합니다.

mongod --setParameter rangeDeleterBatchDelayMS=200

매개변수는 setParameter 명령을 사용하여 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, rangeDeleterBatchDelayMS: 200 } )
rangeDeleterBatchSize

mongod 에만 사용 가능합니다.

유형: 음수가 아닌 정수

기본값: 2147483647 MongoDB 5 에서 시작하는 .1.2 및 5.0.6

범위 마이그레이션의 정리 단계(또는 cleanupOrphaned 명령)에서 삭제할 각 배치의 최대 문서 수입니다.

값이 0 이면 시스템이 기본값을 선택함을 나타냅니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 rangeDeleterBatchSize 문서를 32개로 설정합니다.

mongod --setParameter rangeDeleterBatchSize=32

매개변수는 setParameter 명령을 사용하여 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, rangeDeleterBatchSize: 32 } )

6 이전 버전.0.3, rangeDeleterBatchSize 의 새 값은 값이 변경된 후에 생성된 범위 삭제에만 적용됩니다. 기존 범위 삭제에 새 값을 적용하려면 한 단계씩 강제로 종료합니다.

6.0.3부터는 범위 삭제가 생성된 시기와 상관없이 업데이트 후 처리된 모든 범위 삭제에 매개변수의 새 값이 적용됩니다.

skipShardingConfigurationChecks

mongod 에만 사용 가능합니다.

유형: 부울

기본값: false

true 인 경우 샤드 멤버 또는 구성 서버 멤버를 유지 관리 작업을 위한 독립 실행형으로 시작할 수 있습니다. 이 매개 변수는 --configsvr 또는 --shardsvr 옵션과 상호 배타적입니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongod --setParameter skipShardingConfigurationChecks=true

중요

유지 관리가 완료되면 mongod를 다시 시작할 때 skipShardingConfigurationChecks 매개변수를 제거합니다.

findChunksOnConfigTimeoutMS

버전 5.0에 추가.

mongodmongos 모두에 사용할 수 있습니다.

유형: 음수가 아닌 정수

기본값: 900000

chunks 에서 찾기 작업의 제한 시간 (밀리초) 입니다.

클러스터에 청크 수가 많고 ExceededTimeLimit 오류로 인해 청크 로드가 실패하는 경우 매개변수 값을 늘립니다.

mongod --setParameter findChunksOnConfigTimeoutMS=1000000

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

activeFaultDurationSecs

유형: 문서

mongos 에만 사용 가능합니다.

상태 관리자 개요 오류가 발생한 후 클러스터에서 mongos가 제거될 때까지 기다리는 시간을 초 단위로 설정합니다.

장애가 감지되고 Health Manager가 critical으로 구성된 경우 서버는 클러스터에서 mongos를 제거하기 전에 지정된 간격만큼 대기합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어, 실패부터 충돌까지의 기간을 5분으로 설정하려면 시작 시 다음을 실행하십시오.

mongos --setParameter activeFaultDurationSecs=300

또는 실행 중인 mongos에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우입니다.

db.adminCommand(
{
setParameter: 1,
activeFaultDurationSecs: 300
}
)

setParameter 로 설정된 파라미터는 재시작 시에도 유지되지 않습니다. 자세한 내용은 SetParameter 페이지를 참조하십시오.

이 설정을 영구적으로 activeFaultDurationSecs 유지하려면 setParameter 다음 예제에서와 같이 옵션을 사용하여 mongos 구성 파일에서 을 설정합니다.

setParameter:
activeFaultDurationSecs: 300
healthMonitoringIntensities

유형: 문서 배열

mongos 에만 사용 가능합니다.

이 매개변수를 사용하여 상태 관리자의 강도 수준을 설정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

healthMonitoringIntensities values은 문서 배열을 받아들입니다. values 각 문서에는 두 개의 필드가 있습니다.

  • type를 클릭하고 상태 관리자 패싯

  • intensity강도 수준

패싯
상태 관리자가 확인하는 사항
configServer
config 서버에 대한 연결과 관련된 클러스터 상태 문제.
dns
DNS 가용성 및 기능과 관련된 클러스터 상태 문제.
ldap
LDAP 가용성 및 기능과 관련된 클러스터 상태 문제.
강도 수준
설명
critical
이 패싯의 상태 관리자는 활성화되어 있으며 오류가 발생하면 실패한 mongos를 클러스터 밖으로 옮길 수 있습니다. 상태 관리자는 activeFaultDurationSecs로 지정된 시간 동안 기다렸다가 mongos를 중지하고 클러스터 밖으로 자동으로 이동합니다.
non-critical
이 패싯의 상태 관리자가 활성화되어 있고 오류를 기록하지만 오류가 발생하면 mongos 클러스터에 남아 있습니다.
off
이 패싯의 상태 관리자는 비활성화되어 있습니다. mongos는 이 패싯에 대해 상태 확인을 수행하지 않습니다. 이것이 기본 강도 수준입니다.

예를 들어 dns Health Manager 패싯을 critical 강도 수준으로 설정하려면 시작 시 다음을 실행하십시오.

mongos --setParameter 'healthMonitoringIntensities={ values:[ { type:"dns", intensity: "critical"} ] }'

또는 실행 중인 mongos에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우입니다.

db.adminCommand(
{
setParameter: 1,
healthMonitoringIntensities: { values: [ { type: "dns", intensity: "critical" } ] } } )
}
)

setParameter 로 설정된 파라미터는 재시작 시에도 유지되지 않습니다. 자세한 내용은 SetParameter 페이지를 참조하십시오.

이 설정을 영구적으로 healthMonitoringIntensities 유지하려면 setParameter 다음 예제에서와 같이 옵션을 사용하여 mongos 구성 파일에서 을 설정합니다.

setParameter:
healthMonitoringIntensities: "{ values:[ { type:\"dns\", intensity: \"critical\"} ] }"
healthMonitoringIntervals

유형: 문서 배열

mongos 에만 사용 가능합니다.

이 상태 관리자가 실행되는 빈도(밀리초)입니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

healthMonitoringIntervals values은 문서 배열을 받아들입니다. values 각 문서에는 두 개의 필드가 있습니다.

  • type를 클릭하고 상태 관리자 패싯

  • interval 실행하는 시간 간격(밀리초)

패싯
상태 관리자가 확인하는 사항
configServer
config 서버에 대한 연결과 관련된 클러스터 상태 문제.
dns
DNS 가용성 및 기능과 관련된 클러스터 상태 문제.
ldap
LDAP 가용성 및 기능과 관련된 클러스터 상태 문제.

예를 들어, 30초마다 상태 검사를 실행하도록 ldap Health Manager 패싯을 설정하려면 시작 시 다음을 실행하십시오.

mongos --setParameter 'healthMonitoringIntervals={ values:[ { type:"ldap", interval: "30000"} ] }'

또는 실행 중인 mongos에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우입니다.

db.adminCommand(
{
setParameter: 1,
healthMonitoringIntervals: { values: [ { type: "ldap", interval: "30000" } ] } } )
}
)

setParameter 로 설정된 파라미터는 재시작 시에도 유지되지 않습니다. 자세한 내용은 SetParameter 페이지를 참조하십시오.

이 설정을 영구적으로 healthMonitoringIntervals 유지하려면 setParameter 다음 예제에서와 같이 옵션을 사용하여 mongos 구성 파일에서 을 설정합니다.

setParameter:
healthMonitoringIntervals: "{ values: [{type: \"ldap\", interval: 200}] }"
progressMonitor

유형: 문서

mongos 에만 사용 가능합니다.

진행률 모니터는 테스트를 실행하여 상태 관리자 검사가 멈추거나 응답하지 않는지 확인합니다. 진행률 모니터는 interval로 지정된 간격으로 이러한 테스트를 실행합니다. 상태 점검이 시작되었지만 deadline 지정된 제한 시간 내에 완료되지 않는 경우 Progress Monitor는 mongos를 중지하고 클러스터에서 제거합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

필드
설명
단위
interval
상태 관리자가 정체되거나 응답하지 않는지 확인하는 빈도입니다.
밀리초
deadline
mongos가 상태 관리자 검사를 통과하지 못할 경우 자동으로 실패하기 전의 타임아웃을 설정합니다.

interval 시간을 1000밀리초로 설정하고 deadline 를 300초로 설정하려면 시작 시 다음을 실행하십시오.

mongos --setParameter 'progressMonitor={"interval": 1000, "deadline": 300}'

또는 실행 중인 mongos에 연결된 mongosh 세션에서 setParameter 명령을 사용하는 경우입니다.

db.adminCommand(
{
setParameter: 1,
progressMonitor: { interval: 1000, deadline: 300 } )
}
)

setParameter 로 설정된 파라미터는 재시작 시에도 유지되지 않습니다. 자세한 내용은 SetParameter 페이지를 참조하십시오.

이 설정을 영구적으로 progressMonitor 유지하려면 setParameter 다음 예제에서와 같이 옵션을 사용하여 mongos 구성 파일에서 을 설정합니다.

setParameter:
progressMonitor: "{ interval: 1000, deadline: 300 }"
honorSystemUmask

mongod 에만 사용 가능합니다.

기본값: false

honorSystemUmask(이)가 true(으)로 설정되면 MongoDB에서 만든 새 파일은 사용자의 umask 설정에 따라 권한을 갖습니다. honorSystemUmask(이)가 true(으)로 설졍된 경우 processUmask(을)를 설정할 수 없습니다.

honorSystemUmask false 로 설정하면 MongoDB에서 만든 새 파일의 권한이 600 로 설정되어 소유자에게만 읽기 및 쓰기 권한이 부여됩니다. 새 디렉토리의 권한이 700 로 설정되어 있습니다. processUmask 를 사용하여 MongoDB에서 만든 모든 새 파일에 대한 그룹 및 기타 사용자의 기본 권한을 재정의할 수 있습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

mongod --setParameter honorSystemUmask=true

참고

honorSystemUmask 은(는) Windows 시스템에서 사용할 수 없습니다.

journalCommitInterval

mongod 에만 사용 가능합니다.

저널 커밋 사이의 밀리초(ms) 수를 나타내는 1500 사이의 정수를 지정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

journalCommitInterval200 ms로 설정하는 다음 예제를 살펴보겠습니다.

db.adminCommand( { setParameter: 1, journalCommitInterval: 200 } )

다음도 참조하세요.

minSnapshotHistoryWindowInSeconds

버전 5.0에 추가.

기본값: 300

mongod 에만 사용 가능합니다.

스토리지 엔진이 스냅샷 기록을 유지하는 최소 시간 창(초)입니다. 읽기 관심사 를 사용하여 데이터를 "snapshot" 쿼리하고 지정된 보다 오래된 atClusterTime 값을 지정하는 minSnapshotHistoryWindowInSeconds mongod 경우 에서 SnapshotTooOld { 9} 오류를 반환합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

(>=) 0보다 크거나 같은 정수를 지정합니다.

minSnapshotHistoryWindowInSeconds 을(를)600 초로 설정하는 다음 예제를 살펴보겠습니다.

db.adminCommand( { setParameter: 1, minSnapshotHistoryWindowInSeconds: 600 } )

참고

minSnapshotHistoryWindowInSeconds 값을 늘리면 디스크 사용량이 늘어납니다. 자세한 내용은 스냅샷 기록 보존을 참조하세요.

MongoDB Atlas 클러스터에 대해 이 값을 수정하려면 Atlas 지원에 문의해야 합니다.

processUmask

mongod 에만 사용 가능합니다.

honorSystemUmaskfalse로 설정된 경우 그룹 및 기타 사용자에게 사용되는 기본 권한을 재정의합니다. 기본적으로 honorSystemUmaskfalse로 설정된 경우 MongoDB에서 만든 새 파일은 600으로 권한이 설정됩니다. processUmask 매개 변수를 사용하여 사용자 지정 umask 값으로 이 기본값을 재정의합니다. 파일 소유자는 umask 시스템에서 사용 권한을 상속받습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

honorSystemUmasktrue로 설정된 경우에는 이 매개 변수를 설정할 수 없습니다.

그룹 및 기타 사용자에게 읽기/쓰기 전용 권한을 설정하고 소유자에 대한 시스템 umask 설정을 유지하는 다음 예를 고려하십시오.

mongod --setParameter processUmask=011

참고

processUmask 은(는) Windows 시스템에서 사용할 수 없습니다.

storageEngineConcurrentReadTransactions

mongod 에만 사용 가능합니다.

버전 6.0에서 변경되었습니다: 0} wiredTigerConcurrentReadTransactions 매개변수의 이름이 로 변경되었습니다.storageEngineConcurrentReadTransactions

WiredTiger 스토리지 엔진에서만 사용할 수 있습니다.

WiredTiger storage engine에 허용되는 최대 동시 읽기 트랜잭션 수를 지정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

db.adminCommand( { setParameter: 1, storageEngineConcurrentReadTransactions: <num> } )

다음도 참조하세요.

storageEngineConcurrentWriteTransactions

mongod 에만 사용 가능합니다.

버전 6.0에서 변경되었습니다: 0} wiredTigerConcurrentReadTransactions 매개변수의 이름이 로 변경되었습니다.storageEngineConcurrentReadTransactions

WiredTiger 스토리지 엔진에서만 사용할 수 있습니다.

WiredTiger 스토리지 엔진에 허용되는 최대 동시 쓰기 트랜잭션 수를 지정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

db.adminCommand( { setParameter: 1, storageEngineConcurrentWriteTransactions: <num> } )

다음도 참조하세요.

syncdelay

mongod 에만 사용 가능합니다.

mongod가 작업 메모리를 디스크로 플러시하는 간격을 초 단위로 지정합니다. 기본적으로 mongod는 60초마다 메모리를 디스크로 플러시합니다. 거의 모든 상황에서 이 값을 설정하지 말고 기본 설정을 사용해야 합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

syncdelay 을(를)60 초로 설정하는 다음 예제를 살펴보겠습니다.

db.adminCommand( { setParameter: 1, syncdelay: 60 } )

WiredTiger내구성 있는 데이터를 제공하기 위해 체크포인트를 사용합니다. 자세한 내용은 저널링 및 WiredTiger 스토리지 엔진을 참조하세요.

wiredTigerEngineRuntimeConfig

mongod 에만 사용 가능합니다.

실행 중인 mongod 인스턴스에 대해 wiredTiger 스토리지 엔진 구성 옵션을 지정합니다.

이 매개변수는 런타임에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 명령을 사용합니다.

경고

이 설정은 WiredTiger와 MongoDB 모두에 중요한 영향을 미치므로 MongoDB 엔지니어의 지시가 없는 한 wiredTigerEngineRuntimeConfig를 수정하지 마세요.

다음 작업 프로토타입을 고려하세요.

db.adminCommand({
"setParameter": 1,
"wiredTigerEngineRuntimeConfig": "<option>=<setting>,<option>=<setting>"
})
wiredTigerFileHandleCloseIdleTime

mongod 에만 사용 가능합니다.

유형: integer

기본값: 600

wiredTiger의 파일 핸들이 닫히기 전에 유휴 상태로 남아 있을 수 있는 시간(초)을 지정합니다.

wiredTigerFileHandleCloseIdleTime0으로 설정하면 유휴 핸들이 닫히지 않습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들면 다음과 같습니다.

mongod --setParameter wiredTigerFileHandleCloseIdleTime=100000

사용 가능한 모든 WiredTiger 구성 옵션은 WiredTiger 문서를 참조하세요.

auditAuthorizationSuccess

유형: 부울

기본값: false

참고

MongoDB EnterpriseMongoDB Atlas 에서만 사용할 수 있습니다.

mongodmongos 모두에 사용할 수 있습니다.

authCheck 조치에 대한 권한 부여 성공 사례를 감사하도록 설정합니다.

auditAuthorizationSuccessfalse인 경우 감사 시스템authCheck에 대한 권한 부여 실패만 기록합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

권한 부여 성공에 대한 감사를 사용하려면 다음 명령을 실행하십시오.

db.adminCommand( { setParameter: 1, auditAuthorizationSuccess: true } )

auditAuthorizationSuccess(을)를 사용하도록 설정하면 권한 부여 실패만 로그하는 것보다 성능이 더 저하됩니다.

런타임 감사 구성 이 활성화된 경우 auditAuthorizationSuccess 매개 변수가 mongod 또는 mongos 구성 파일에 나타나지 않아야 합니다. 매개 변수가 있는 경우 서버가 시작되지 않습니다.

다음도 참조하세요.

auditConfigPollingFrequencySecs

버전 5.0에 추가.

유형: integer

기본값: 300

샤딩된 클러스터에는 클러스터에 대한 감사 구성 설정을 유지 관리하는 서버가 있을 수 있습니다. 구성되지 않은 서버가 현재 감사 생성에 대해 구성 서버를 폴링하는 간격(초)을 설정합니다. 반환된 이 값이 이전에 알려진 값과 다른 경우 시작 노드는 현재 구성을 요청하고 내부 상태를 업데이트합니다.

참고

기본값인 300초를 사용하면 구성되지 않은 노드는 setAuditConfig 명령보다 최대 5분 정도 지연될 수 있습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

auditEncryptionHeaderMetadataFile

버전 6.0에 추가.

유형: 문자열

참고

MongoDB Enterprise에서만 사용할 수 있습니다. MongoDB Enterprise와 Atlas의 구성 요구 사항은 서로 다릅니다.

mongodmongos 모두에 사용할 수 있습니다.

감사 로그 암호화를 위한 메타데이터 감사 헤더 로깅의 경로 및 파일 이름입니다. 헤더는 각 로그 파일의 맨 위에 위치하며 감사 로그를 해독하기 위한 메타데이터를 포함합니다. 헤더는 감사 로그에도 저장됩니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

예를 들어 다음은 auditEncryptionHeaderMetadataFile 의 경로와 파일을 설정합니다.

mongod --setParameter auditEncryptionHeaderMetadataFile=/auditFiles/auditHeadersMetadataFile.log
auditEncryptKeyWithKMIPGet

버전 6.0에 추가.

유형: 부울

기본값: false

참고

MongoDB Enterprise에서만 사용할 수 있습니다. MongoDB Enterprise와 Atlas의 구성 요구 사항은 서로 다릅니다.

mongodmongos 모두에 사용할 수 있습니다.

KMIP 프로토콜 버전 1.0 또는 1.1만 지원하는 KMIP(Key Management Interoperability Protocol) 서버의 경우 감사 로그 암호화를 활성화합니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 auditEncryptKeyWithKMIPGet(을)를 true(으)로 설정합니다.

mongod --setParameter auditEncryptKeyWithKMIPGet=true
coordinateCommitReturnImmediatelyAfterPersistingDecision

버전 5.0에 추가.

버전 6.0 및 5.0.10에서 업데이트됨

유형: 부울

기본값: false

  • false 로 설정하면, 샤드 트랜잭션 코디네이터는 참여하는 모든 샤드가 다중 문서 트랜잭션 을 커밋하거나 취소하기로 한 결정을 승인할 때까지 기다렸다가 결과를 클라이언트에 반환합니다.

  • true 로 설정하면, 샤드 트랜잭션 코디네이터는 요청된 트랜잭션 쓰기 고려로 결정이 지속 형이 되는 즉시 다중 문서 트랜잭션커밋 결정을 클라이언트에 반환합니다.

    클라이언트가 "majority" 미만의 쓰기 문제를 요청한 경우 결정이 클라이언트에 반환된 후 커밋이 롤백될 수 있습니다.

    트랜잭션에 '쓰기 읽기' 일관성이 없을 수 있습니다. 즉, 읽기 작업은 이전 쓰기 작업의 결과를 표시하지 않을 수 있습니다. 다음과 같은 경우에 발생할 수 있습니다.

    • 트랜잭션은 여러 개의 샤드에 기록해야 합니다.

    • 읽기와 이전 쓰기는 서로 다른 세션에서 발생합니다.

    인과적 일관성은 동일한 세션 내에서 발생하는 읽기 및 쓰기의 인과적 관계만 보장합니다.

샤드 트랜잭션 코디네이터는 요청된 트랜잭션의 쓰기 고려에 따른 결정이 영속성있게 되는 즉시 다중 문서 트랜잭션 커밋 결정을 클라이언트에 반환합니다.

클라이언트가 "majority" 미만의 쓰기 문제를 요청한 경우 결정이 클라이언트에 반환된 후 커밋이 롤백될 수 있습니다.

트랜잭션에 "읽기/쓰기" 일관성이 없을 수 있습니다. 즉, 읽기 작업은 이전 쓰기 작업의 결과를 반영하지 않을 수 있습니다. 다음과 같은 경우에 발생할 수 있습니다.

  • 트랜잭션은 여러 개의 샤드에 기록해야 합니다.

  • 읽기와 이전 쓰기는 서로 다른 세션에서 발생합니다.

인과적 일관성 은 동일한 세션 내에서 발생하는 읽기 및 쓰기의 인과 관계만 보장합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예제에서는 coordinateCommitReturnImmediatelyAfterPersistingDecisiontrue로 설정합니다.

mongod --setParameter coordinateCommitReturnImmediatelyAfterPersistingDecision=true

런타임 중에 setParameter 명령을 사용하여 파라미터를 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, coordinateCommitReturnImmediatelyAfterPersistingDecision: true } )
internalSessionsReapThreshold

버전 6.0에 추가.

mongodmongos 모두에 사용할 수 있습니다.

기본값: 1000

내부 세션 메타데이터 삭제에 대한 세션 제한입니다. 메타데이터입니다:

  • 사용자 작업에 대한 세션 트랜잭션 정보를 포함합니다.

  • config.transactions 컬렉션에 저장됩니다.

내부 세션 수가 internalSessionsReapThreshold 보다 크면 메타데이터가 삭제됩니다.

internalSessionsReapThreshold0 로 설정하면 사용자 세션이 종료될 때만 내부 세션 메타데이터가 삭제됩니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음 예시에서는 internalSessionsReapThreshold500 세션으로 설정합니다.

db.adminCommand( { setParameter: 1, internalSessionsReapThreshold: 500 } )

시작 시 internalSessionsReapThreshold를 설정할 수도 있습니다. 예를 들면 다음과 같습니다.

mongod --setParameter internalSessionsReapThreshold=500
transactionLifetimeLimitSeconds

mongod 에만 사용 가능합니다.

기본값: 60

다중 문서 트랜잭션의 수명을 지정합니다. 이 한도를 초과하는 거래는 만료된 것으로 간주되며 주기적인 정리 프로세스를 통해 중단됩니다. 정리 프로세스는 transactionLifetimeLimitSeconds/2초마다 또는 60초에 한 번 이상 실행됩니다.

정리 프로세스는 스토리지 캐시 압박을 완화하는 데 도움이 됩니다.

transactionLifetimeLimitSeconds의 최소값은 1 초입니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음은 transactionLifetimeLimitSeconds(을)를 30초로 설정합니다.

db.adminCommand( { setParameter: 1, transactionLifetimeLimitSeconds: 30 } )

스타트업 시 매개 변수 transactionLifetimeLimitSeconds를 설정할 수도 있습니다.

mongod --setParameter "transactionLifetimeLimitSeconds=30"

샤딩된 클러스터의 파라미터를 설정하려면 모든 샤드 복제본 세트 멤버에 대해 파라미터를 수정해야 합니다.

MongoDB 5 부터 시작.0, transactionLifetimeLimitSeconds 매개 변수를 변경하는 경우 모든 config 서버 복제본 세트 멤버에서 transactionLifetimeLimitSeconds 도 동일한 값으로 변경해야 합니다. 이 값을 일관되게 유지합니다.

  • 적어도 샤드 복제본 세트 멤버의 트랜잭션 수명 제한만큼 라우팅 테이블 기록이 유지되도록 합니다.

  • 트랜잭션 재시도 빈도를 줄여 성능을 향상시킵니다.

transactionTooLargeForCacheThreshold

버전 6.0.5에 추가 되었습니다.

mongod 에만 사용 가능합니다.

유형: 십진수

기본값: 0.75

캐시 압박으로 인해 실패한 트랜잭션을 다시 시도하기 위한 임계값입니다. 이 값은 더티 캐시 크기의 백분율입니다. 기본값인 0.75은 더티 캐시의 75%를 의미합니다.

더티 캐시는 전체 캐시 크기의 20%로 제한됩니다. transactionTooLargeForCacheThreshold0.75으로 설정하면 서버는 전체 스토리지 엔진 캐시의 15% (0.75 * 20%) 미만을 사용하는 트랜잭션만 재시도합니다.

제한은 재시도에만 적용됩니다. 대규모 트랜잭션은 transactionTooLargeForCacheThreshold % 이상의 더티 캐시를 사용할 수 있습니다. 하지만 캐시 압력으로 인해 대용량 트랜잭션이 롤백되면 서버는 TransactionTooLargeForCache 오류를 발생시키고 트랜잭션을 재시도하지 않습니다.

이 동작을 비활성화하려면 transactionTooLargeForCacheThreshold1.0로 설정합니다.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

WiredTiger 스토리지에 대한 자세한 내용은 storage.wiredTiger 옵션을 참조하세요.

maxTransactionLockRequestTimeoutMillis

mongod 에만 사용 가능합니다.

유형: integer

기본값: 5

다중 문서 트랜잭션이 트랜잭션 작업에 필요한 잠금을 획득하기 위해 대기해야 하는 최대 시간을 밀리초 단위로 설정합니다.

maxTransactionLockRequestTimeoutMillis 동안 기다린 후에도 트랜잭션이 잠금을 획득할 수 없으면 트랜잭션이 중단됩니다.

기본적으로 다중 문서 트랜잭션은 5 밀리초 동안 대기합니다. 즉, 트랜잭션이 5 밀리초 내에 잠금을 획득하지 못하면 트랜잭션이 중단됩니다. 작업이 잠금 요청에서 더 긴 시간 제한을 제공하는 경우 maxTransactionLockRequestTimeoutMillis 이 작업별 시간 제한을 재정의합니다.

maxTransactionLockRequestTimeoutMillis를 다음과 같이 설정할 수 있습니다.

  • 0 따라서 트랜잭션이 필요한 잠금을 즉시 획득할 수 없으면 트랜잭션이 중단됩니다.

  • 필요한 잠금을 획득하기 위해 지정된 시간 동안 기다릴 0 보다 큰 숫자입니다. 이를 통해 빠르게 실행되는 메타데이터 작업과 같이 일시적인 동시 잠금 획득 시 트랜잭션이 중단되는 것을 방지할 수 있습니다. 그러나 이렇게 하면 교착 상태에 빠진 트랜잭션 작업의 중단이 지연될 수 있습니다.

  • -1 작업별 타임아웃을 사용하려면 해당 옵션을 선택하세요.

해당 매개변수는 런타임과 시작 시 모두 사용할 수 있습니다.

  • 런타임 중에 매개 변수를 설정하려면 setParameter 명령을 사용합니다.

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용하세요.

다음은 maxTransactionLockRequestTimeoutMillis ~ 20 밀리초를 설정합니다.

db.adminCommand( { setParameter: 1, maxTransactionLockRequestTimeoutMillis: 20 } )

시작 중에도 이 매개변수를 설정할 수 있습니다.

mongod --setParameter maxTransactionLockRequestTimeoutMillis=20
← install_compass