Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

자체 관리형 배포서버를 위한 MongoDB Server 매개변수

이 페이지의 내용

  • Synopsis
  • 매개변수
  • 인증 매개변수
  • 일반 매개변수
  • 로깅 매개변수
  • 진단 매개변수
  • 복제 및 일관성
  • 샤딩 매개변수
  • 상태 관리자 매개변수
  • 스토리지 매개변수
  • 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 모두에 사용할 수 있습니다.

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

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

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

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

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

버전 7.0 변경 사항: (또한 6.0.7 및 5.0.18부터)

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

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

유형: integer

기본값: 2

AWS IAM 자격 증명 또는 AWS IAM 환경 변수를 사용하는 MongoDB 배포의 경우.

연결 실패 후 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 모두에 사용할 수 있습니다.

기본값: true

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

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

자세한 내용 은 자체 관리 배포서버의 로컬 호스트 예외를 참조하세요.

enforceUserClusterSeparation

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

구성 파일에서 clusterAuthModekeyFile 인 경우 O/OU/DC 검사를 비활성화하려면 false 로 설정합니다. 이를 통해 멤버 인증서를 보유한 클라이언트는 $external 데이터베이스에 저장된 사용자로 인증할 수 있습니다. 구성 파일에 clusterAuthModekeyFile 이 아닌 경우 서버가 시작되지 않습니다.

enforceUserClusterSeparation 매개변수를 false 로 설정하려면 시작 중에 다음 명령을 실행합니다.

mongod --setParameter enforceUserClusterSeparation=false

enforceUserClusterSeparation 매개 변수를 false 로 설정하면 서버는 애플리케이션이 인증에 사용하는 클라이언트 인증서와 액세스 권한이 있는 클러스터 내 인증서를 구분하지 않습니다. clusterAuthModekeyFile 인 경우에는 효과가 없습니다. 그러나 clusterAuthMode 이(가) x509 인 경우 허용된 체계를 사용하는 사용자 인증서는 클러스터 인증서와 병합되어 권한 있는 액세스 권한이 부여됩니다.

다음을 수행하면 기존 인증서에 내부 권한이 부여됩니다.

  1. 이 매개변수에서 허용하는 이름으로 사용자를 생성합니다.

  2. enforceUserClusterSeparation 매개 변수를 false 로 설정합니다.

  3. clusterAuthModex509로 설정합니다.

enforceUserClusterSeparation 플래그에서 생성할 수 있는 상승된 권한을 가진 사용자를 제거했는지 확인하지 않고는 keyFile 에서 x509 으)로 업그레이드해서는 안 됩니다.

KeysRotationIntervalSec

기본값: 7776000초(90일)

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

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

ldapForceMultiThreadMode

기본값: false

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

참고

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

LDAP 연결 풀을 사용하려면 ldapForceMultiThreadMode를 사용해야 합니다. LDAP 연결 풀을 활성화하려면 ldapForceMultiThreadModeldapUseConnectionPooltrue로 설정하세요.

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 배포서버의 경우.

네트워크 오류 후 서버 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 배포와 함께 사용합니다.

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 배포서버의 경우.

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 배포서버의 경우.

마지막 캐시 새로 고침 후 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 배포서버의 경우.

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

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

mongod --setParameter ldapShouldRefreshUserCacheEntries=false
maxValidateMemoryUsageMB

버전 5.0에 추가.

기본값: 200

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

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

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

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

oidcIdentityProviders

버전 7.0에 추가.

이 매개 변수를 사용하여 OpenID Connect 인증을사용할 때 ID 공급자(IDP) 구성을 지정할 수 있습니다.

oidcIdentityProviders 는 0개 이상의 IDP(ID 제공자) 구성 배열을 허용합니다. 빈 배열(기본값)은 OpenID Connect 지원이 활성화되어 있지 않음을 나타냅니다.

둘 이상의 IDP가 정의된 경우 oidcIdentityProvidersmatchPattern 필드를 사용하여 IDP를 선택합니다. 배열 순서에 따라 우선 순위가 결정되며 항상 첫 번째 IDP가 선택됩니다.

MongoDB 7 부터 시작.3 여러 ID 제공자(IDP)가 정의된 경우 oidcIdentityProviders 매개변수는 audience 값이 각 발급자에 대해 고유한 한 중복 issuer 값을 허용합니다. 이 기능은 버전 7 에서도 사용할 수 있습니다.0.

필드
필요성
유형
설명
issuer
필수 사항
문자열

서버가 토큰을 수락해야 하는 IDP의 발급자 URI입니다. 이는 인증에 사용되는 모든 JWT의 iss 필드와 일치해야 합니다.

MongoDB 7 부터 시작.3 여러 ID 제공자(IDP)가 정의된 경우 oidcIdentityProviders 매개변수는 audience 값이 각 발급자에 대해 고유한 한 중복 issuer 값을 허용합니다. 이 기능은 버전 7 에서도 사용할 수 있습니다.0.

연결할 수 없는 발급자 URI를 지정하면 MongoDB는 다음을 수행합니다.

  1. 경고를 기록합니다.

  2. 서버 시작을 계속하여 발급자 URI를 업데이트할 수 있습니다.

  3. 발급자 연락처를 다시 시도합니다. MongoDB가 발급자 URI에 도달하여 액세스 토큰의 유효성을 검사하면 인증이 성공합니다. 발급자 URI에 연결할 수 없는 경우 인증이 실패합니다.

authNamePrefix
필수 사항
문자열

인증에 사용되는 UserNameRoleName 이 생성될 때마다 고유한 접두사가 적용됩니다. authNamePrefix 는 다음 문자만 포함할 수 있습니다:

  • 영숫자 문자( a ~ z0 ~ 9 의 조합)

  • 하이픈 (-)

  • 밑줄 (_)

matchPattern
조건부
문자열

어떤 IDP를 사용할지 결정하는 데 사용되는 정규식 패턴입니다. 사용자 이름에 matchPattern 개가 일치합니다. 배열 순서에 따라 우선순위가 결정되며 항상 첫 번째 IDP가 선택됩니다.

matchPattern supportsHumanFlows은 사용자가 을 설정하는 방법에 따라 일부 구성이 필요합니다:

  • 하나의 IdP에만 supportsHumanFlowstrue (기본값)으로 설정되어 있는 경우 matchPatterns 는 선택 사항입니다.

  • 여러 IdP에서 supportsHumanFlowstrue (기본값) 으로 설정한 경우 각 IdP에는 matchPatterns 가 필요합니다.

  • matchPatterns supportsHumanFlowsfalse이 로 설정된 IdP의 경우 선택 사항입니다.

이는 보안 메커니즘이 아닙니다. matchPattern 은 고객에 대한 자문 역할만 수행합니다. MongoDB는 주체 이름이 이 패턴과 일치하지 않는 IDP에서 발행한 토큰을 허용합니다.

clientId
조건부
문자열

액세스 토큰을 받는 클라이언트를 식별하기 위해 IDP에서 제공하는 ID입니다.

0}이 (기본값)으로 설정된 supportsHumanFlows 경우 필수입니다.true

audience
필수 사항
문자열

액세스 토큰이 사용되는 애플리케이션 또는 서비스를 지정합니다.

MongoDB 7 부터 시작.0, OIDC 액세스 토큰에 대해 하나의 audience oidcIdentityProviders 필드만 지정할 수 있습니다. 빈 배열이나 여러 문자열의 배열이 있는 audience 필드는 유효하지 않습니다.

둘 이상의 IDP가 정의된 경우 이는 issuer 을 공유하는 각 구성에 대해 고유한 값이어야 합니다.

requestScopes
옵션
배열[ 문자열 ]
MongoDB가 IDP에 요청하는 권한 및 액세스 수준입니다.
principalName
옵션
문자열

MongoDB 사용자 식별자가 포함된 액세스 토큰에서 추출할 클레임입니다.

기본값은 sub (subject을 의미)입니다.

useAuthorizationClaim
옵션
부울

authorizationClaim 이(가) 필요한지 여부를 결정합니다. 기본값은 true 입니다.

useAuthorizationClaim 필드가 true 로 설정된 경우 서버에는 ID 제공업체 구성에 대한 authorizationClaim 가 필요합니다. 이것이 기본 설정된 동작입니다.

useAuthorizationClaim 필드가 false 으로 설정된 경우 authorizationClaim 필드는 선택 사항입니다 (제공된 경우 무시됨). 대신 서버는 다음을 수행합니다:

  • principalNameClaim 필드에 이름이 나열된 클레임에 대한 토큰을 검색합니다. 일반적으로 sub이라는 이름이 지정됩니다. 예를 들면 다음과 같습니다.

    sub: "spencer.jackson@example.com"

  • 액세스 토큰 내에서 authNamePrefix, 슬래시 (/), principalNameClaim 로 식별되는 클레임 내용을 결합하여 내부 사용자 이름을 구성합니다. 예를 들어 authNamePrefix 필드 값이 " mdbinc " 인 경우 내부 사용자 이름은 다음과 같습니다.

    mdbinc/spencer.jackson@example.com

  • 이 사용자 이름을 가진 사용자를 찾아 클라이언트에 다음 역할을 부여합니다.

    { user: "mdbinc/spencer.jackson@example.com",
    db: "$external" }

버전 7 에 추가되었습니다.2: ( 7.0.5 에서도 사용 가능).

authorizationClaim
조건부
문자열

useAuthorizationClaimfalse로 설정되지 않은 경우 필수입니다.

MongoDB 역할 이름이 포함된 액세스 토큰에서 추출한 클레임입니다.

logClaims
옵션
배열[ 문자열 ]
인증 완료 시 로그 및 감사 메시지에 포함할 액세스 토큰 클레임 목록입니다.
JWKSPollSecs
옵션
integer

IDP에서 업데이트된 JSON 웹 키 집합(JWKS)을 요청하는 빈도(초)입니다. 0으로 설정하면 폴링이 비활성화됩니다.

둘 이상의 IDP가 정의된 경우 issuer 을 공유하는 각 구성에 대해 이 값이 동일해야 합니다.

supportsHumanFlows
옵션
부울

OIDC 제공업체가 사람 또는 기계 워크플로를 지원하는지 여부. 이는 clientIdmatchPattern 필드에 영향을 줍니다.

시스템 워크로드 IdP의 경우 이 필드를 false 로 설정하여 불필요한 경우 clientId 를 생략할 수 있도록 하는 것이 유용할 수 있습니다.

기본값: true.

버전 7.2에 새로 추가되었습니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 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/man1.1.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는 RFC-7919#appendix-A.2에 정의된 대로 ffdhe3072 Diffie-Hellman 매개변수를 사용하여 DHE를 사용하도록 설정합니다. ffdhe3072는 강력한 매개변수입니다(구체적으로 크기가 1024보다 큰 경우). Oracle에서 확장 지원을 구입하지 않는 한 Java 6 및 7에서는 강력한 매개변수가 지원되지 않습니다.

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

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

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

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

참고

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

프록시 인증에 사용할 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

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

기본값: 10000

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

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

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

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

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

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

mongod --setParameter scramIterationCount=12000

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

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

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

기본값: 15000

모든 새 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 구성을 참조하세요.

다음도 참조하세요.

tlsClusterAuthX509Override

버전 7.0에 추가.

clusterAuthX509 구성 옵션을 재정의합니다.

setParameter:
tlsClusterAuthX509Override: { attributes: O=MongoDB, OU=MongoDB Server }

이 매개변수는 attributesextensionValue 오버라이드를 지원합니다.

서버는 구성원의 연결을 인증할 때 X.509 인증서를 분석하여 해당 인증서가 클러스터 구성원에 속하는지 확인합니다. 서버가 attributes 설정 또는 tlsClusterAuthX509Override 매개변수의 attributes 필드를 사용하는 경우, 인증서의 DN(고유 이름) 값을 확인합니다. extensionValue 설정 또는 tlsClusterAuthX509Override 매개변수의 extensionValue 필드가 설정된 경우 인증서의 확장자 값을 확인합니다. 일치하는 항목을 찾으면 연결을 피어로 인증합니다.

새 인증서에 다른 속성이나 확장 값이 있는 경우 이 매개변수를 사용하여 인증서를 교체합니다.

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

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 모두에 사용할 수 있습니다.

기본값: false

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 값이 포함된 새 인증서로 인증서를 롤링 업데이트할 수 있습니다. x의 롤링 업데이트를 참조하세요.509 자체 관리형 클러스터에 새 DN이 포함된 인증서.

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

tlsX509ExpirationWarningThresholdDays

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

기본값 : 30

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

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

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

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

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

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

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

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

userCacheInvalidationIntervalSecs

mongos 에만 사용 가능합니다.

기본값: 30

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

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

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

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

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

authFailedDelayMs

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

기본값: 0

참고

엔터프라이즈 기능

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

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

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

allowRolesFromX509Certificates

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

기본값: true

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

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

allowDiskUseByDefault

mongod 에만 사용 가능합니다.

기본값: True

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
slowConnectionThresholdMillis

버전 6.3에 추가.

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

기본값: 100

느린 서버 연결 설정을 기록하는 시간 제한을 밀리초 단위로 설정합니다.

연결 설정에 slowConnectionThresholdMillis 매개 변수보다 시간이 오래 걸리면 msg 메시지 필드가 "Slow connection establishment"로 설정된 이벤트가 로그에 추가됩니다.

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

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

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

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

mongod --setParameter slowConnectionThresholdMillis=250

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

db.adminCommand( { setParameter: 1, slowConnectionThresholdMillis: 250 } )
connPoolMaxConnsPerHost

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

기본값: 200

글로벌 연결 풀의 다른 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

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

기본값: 600000(10분)

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

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
indexBuildMinAvailableDiskSpaceMB

버전 7.1에 새로 추가되었습니다.

mongod 에만 사용 가능합니다.

기본값: 500MB

인덱스 빌드에 필요한 최소 사용 가능한 디스크 공간을 메가바이트 단위로 설정합니다.

용량은 0MB 이상 8TB 이하여야 합니다. 0은 최소 디스크 공간 요구 사항을 비활성화합니다.

사용 가능한 디스크 공간이 indexBuildMinAvailableDiskSpaceMB 미만이면 새 인덱스 빌드를 시작할 수 없으며 현재 인덱스 빌드가 취소됩니다.

경고

indexBuildMinAvailableDiskSpaceMB 을 늘리는 경우 서버의 사용 가능한 디스크 공간이 충분한지 확인합니다. 또한 indexBuildMinAvailableDiskSpaceMB 을 너무 높게 설정하면 사용 가능한 디스크 공간이 충분하고 indexBuildMinAvailableDiskSpaceMB 를 낮게 설정할 수 있음에도 인덱스 빌드가 불필요하게 방지될 수 있습니다.

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

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

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

다음 예에서는 indexBuildMinAvailableDiskSpaceMB 를 650 MB로 설정합니다.

db.adminCommand( { setParameter: 1, indexBuildMinAvailableDiskSpaceMB: 650 } )

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

mongod --setParameter indexBuildMinAvailableDiskSpaceMB=650
indexMaxNumGeneratedKeysPerDocument

버전 5.3에 추가.

기본값: 100000

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

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

maxIndexBuildMemoryUsageMegabytes

기본값: 200

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

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

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

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

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

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

인덱스 빌드는 createIndexes와 같은 사용자 명령이나 초기 동기화 같은 관리 프로세스에 의해 시작될 수 있습니다. 두 경우 모두 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 } )

참고

시작 시 스토리지 노드 감시를 활성화하지 않은 경우 실행 시간에 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는 이를 지원하는 시스템에서 madvise(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에 추가.

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

기본값: 15초

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

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
profileOperationResourceConsumptionMetrics

mongod 에만 사용 가능합니다.

유형: 부울

기본값: false

작업에서 리소스 소비 지표를 수집하여 느린 쿼리 로그에 보고할지 여부를 결정하는 플래그입니다. 프로파일링을 사용하도록 설정하면 이러한 지표도 포함됩니다.

true로 설정된 경우 executionStats 이상으로 자세하면 explain 명령을 실행하면 OperationMetrics가 반환됩니다.

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

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 } )

다음도 참조하세요.

redactEncryptedFields

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

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

유형: 부울

기본값: true

2} 및 가 모든 mongod 로그 mongos Binary메시지에서 암호화된 데이터의 필드 값을 삭제하도록 구성합니다.

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

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

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

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} )
enableDetailedConnectionHealthMetricLogLines

버전 7.0에 추가.

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

유형: 부울

기본값: true

클러스터 연결 상태 지표와 관련된 특정 로그 메시지를 활성화할지 여부를 결정합니다. enableDetailedConnectionHealthMetricLogLinesfalse로 설정하면 다음 로그 메시지는 꺼지지만 MongoDB는 클러스터 연결 상태 지표에 대한 데이터를 계속 수집합니다.

로그 메시지
설명
피어에서 TLS 연결 수락
허용된 수신 연결을 사용하여 TLS 핸드셰이크 중에 서버가 피어 인증서를 성공적으로 구문 분석했음을 나타냅니다.
인그레스 TLS 핸드셰이크 완료
수신 연결을 통한 TLS 핸드셰이크가 완료되었음을 나타냅니다.
안녕하세요 완료

들어오는 클라이언트 연결에서 초기 연결 핸드셰이크가 완료되었음을 나타냅니다.

MongoDB는 첫 번째 hello 명령으로만 로그 메시지를 표시합니다.

인증 메트릭 보고서
인증 대화에서 단계의 완료를 지정합니다.
세션 시작 또는 인증 핸드셰이크 이후 수신 연결에서 첫 번째 명령을 받았습니다.
수신 연결이 핸드셰이크의 일부가 아닌 첫 번째 명령을 수신했음을 나타냅니다.
느린 네트워크 응답 전송 시간
수신 연결을 통해 클라이언트에 응답을 다시 보내는 데 소요된 시간 (밀리초) 이 slowMS server 매개변수로 정의된 기간보다 더 오래 걸린다는 것을 나타냅니다.
OCSP 요청에 대한 클라이언트 측 확인 완료
송신 TLS 연결이 설정될 때 피어가 TLS 핸드셰이크에 OCSP 응답을 포함하지 않는 경우, 서버는 인증 기관에 OCSP 요청을 보내야 합니다. MongoDB는 인증 기관이 OCSP 응답을 받으면 이 로그 메시지를 작성합니다.
느린 연결 설정
수신 연결을 통해 클라이언트에 응답을 다시 보내는 데 걸리는 시간이 slowConnectionThresholdMillis 매개 변수로 지정된 임계값보다 오래 걸림을 나타냅니다. MongoDB는 연결 설정 시간이 초과되면 이 로그 메시지도 내보냅니다.
연결 획득을 기다리는 동안 작업이 시간 초과되었습니다.
송신 연결 획득을 기다리는 동안 작업 시간이 초과되었음을 나타냅니다.
원격 조작을 위한 연결 획득 및 와이어에 쓰기 완료
서버가 송신 연결에 발신 요청을 쓰는 데 1밀리초 이상이 걸렸음을 나타냅니다. 이 시간은 연결이 설정된 순간부터 계산합니다.

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

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

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

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.destinationsyslog로 설정된 경우 diagnosticDataCollectionDirectoryPath를 설정한 후 mongos를 다시 시작해야 합니다.

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 디렉토리의 최대 크기(메가바이트)를 지정합니다. 디렉토리 크기가 이 숫자를 초과하면 파일 이름의 타임스탬프를 기준으로 디렉토리에서 가장 오래된 진단 파일이 자동으로 삭제됩니다.

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

  • 런타임 중에 매개 변수를 설정하려면 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 주소 대신 호스트 이름을 사용하라는 경고를 기록합니다.

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

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

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

setParameter:
disableSplitHorizonIPCheck: true
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가 감소하지만 쓰기 우려 "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

mongod 에만 사용 가능합니다.

유형: integer

기본값: 60

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

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

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

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

replWriterThreadCount

mongod 에만 사용 가능합니다.

유형: integer

기본값: 16

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

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

다음도 참조하세요.

replWriterMinThreadCount

버전 5.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 0

복제된 작업을 병렬로 적용하는 데 사용할 최소 스레드 수입니다. 값의 범위는 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

Default: 104857600 (100MB)

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

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

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

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

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

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

mongod --setParameter replBatchLimitBytes=67108864

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

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

mongod 에만 사용 가능합니다.

유형: 문서

기본값: { 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

버전 5.3에 추가.

mongod 에만 사용 가능합니다.

유형: 부울

기본값: false

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

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

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

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

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

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

mongod --setParameter allowMultipleArbiters=true
analyzeShardKeyCharacteristicsDefaultSampleSize

버전 7.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 10000000

sampleRate 2}를 sampleSize 실행할 때 및 이 analyzeShardKey 설정되지 않은 경우, 샤드 주요 특성 메트릭을 계산할 때 샘플링할 문서 수를 지정합니다. 3}보다 커야 합니다.0

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

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

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

이 예에서는 시작 시 analyzeShardKeyCharacteristicsDefaultSampleSize10000 로 설정합니다.

mongod --setParameter analyzeShardKeyCharacteristicsDefaultSampleSize=10000

런타임 중에 setParameter 명령을 사용하여 매개변수를 설정하거나 수정할 수 있습니다.

db.adminCommand( { setParameter: 1, analyzeShardKeyCharacteristicsDefaultSampleSize: 10000 } )
analyzeShardKeyNumMostCommonValues

버전 7.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 5

반환할 가장 일반적인 샤드 키 값의 수를 지정합니다. 컬렉션에 포함된 고유 샤드 키가 이 값보다 적은 경우 analyzeShardKeyNumMostCommonValues 는 가장 일반적인 값의 수를 반환합니다. 1}보다 크고 보다 0 작아야 합니다.1000

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

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

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

이 예에서는 시작 시 analyzeShardKeyNumMostCommonValues3 로 설정합니다.

mongod --setParameter analyzeShardKeyNumMostCommonValues=3

런타임 중에 setParameter 명령을 사용하여 매개변수를 설정하거나 수정할 수 있습니다.

db.adminCommand( { setParameter: 1, analyzeShardKeyNumMostCommonValues: 3 } )
analyzeShardKeyNumRanges

버전 7.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 100

샤드 키 범위의 핫스팟을 계산할 때 샤드 키 공간을 분할할 범위의 수를 지정합니다. 2}보다 크고 보다 0 작아야 합니다.10000

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

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

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

이 예에서는 시작 시 analyzeShardKeyNumRanges50 로 설정합니다.

mongod --setParameter analyzeShardKeyNumRanges=50

런타임 중에 setParameter 명령을 사용하여 매개변수를 설정하거나 수정할 수 있습니다.

db.adminCommand( { setParameter: 1, analyzeShardKeyNumRanges: 50 } )
analyzeShardKeyMonotonicityCorrelationCoefficientThreshold

버전 7.0에 추가.

mongod 에만 사용 가능합니다.

유형: double

기본값: 0.7

샤드 키의 삽입 순서가 단조롭게 변경되는지 여부를 결정하는 데 사용되는 RecordId 상관 계수 임계값을 지정합니다. 1}보다 크고 보다 0 작아야 합니다.1

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

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

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

이 예에서는 시작 시 analyzeShardKeyMonotonicityCorrelationCoefficientThreshold1 로 설정합니다.

mongod --setParameter analyzeShardKeyMonotonicityCorrelationCoefficientThreshold=1

런타임 중에 setParameter 명령을 사용하여 매개변수를 설정하거나 수정할 수 있습니다.

db.adminCommand( { setParameter: 1, analyzeShardKeyMonotonicityCorrelationCoefficientThreshold: 1 } )
autoMergerIntervalSecs

버전 7.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 3600

AutoMerger가 활성화되면 자동 병합 라운드 사이의 시간(초)을 지정합니다. 기본값은 3600초 또는 1시간입니다.

autoMergerIntervalSecs 는 구성 서버에서만 설정할 수 있습니다.

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

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

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

이 예에서는 시작 시 autoMergerIntervalSecs 을 7200초 또는 2시간으로 설정합니다.

mongod --setParameter autoMergerIntervalSecs=7200

런타임 중에 setParameter 명령을 사용하여 매개변수를 설정하거나 수정할 수 있습니다.

db.adminCommand( { setParameter: 1, autoMergerIntervalSecs: 7200 } )
autoMergerThrottlingMS

버전 7.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 15000

AutoMerger가 활성화된 경우 동일한 컬렉션에서 AutoMerger가 시작한 병합 간의 최소 시간 (밀리초) 을 지정합니다.

autoMergerThrottlingMS 는 구성 서버에서만 설정할 수 있습니다.

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

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

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

이 예에서는 시작 시 autoMergerThrottlingMS 을 60000밀리초 또는 1분으로 설정합니다.

mongod --setParameter autoMergerThrottlingMS=60000

런타임 중에 setParameter 명령을 사용하여 매개변수를 설정하거나 수정할 수 있습니다.

db.adminCommand( { setParameter: 1, autoMergerThrottlingMS: 60000 } )
balancerMigrationsThrottlingMs

버전 7.0의 새로운 기능:(6.3.1, 6.0.6, 5.0.18부터 사용 가능)

mongod 에만 사용 가능합니다.

유형: integer

기본값: 1000

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

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

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

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

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

mongod --setParameter balancerMigrationsThrottlingMs=2000

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

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

버전 5.3에 추가.

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

유형: integer

기본값: 0

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

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

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

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

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

mongod --setParameter chunkDefragmentationThrottlingMS=10

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

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

MongoDB 7.0, 6.3, 6.0.6(및 5.0.15)부터 사용 가능합니다.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 1

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

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

최대 값은 500입니다.

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

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

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

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

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

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

mongod --setParameter chunkMigrationConcurrency=5

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

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

컬렉션 밸런싱을 구성하려면 configureCollectionBalancing 를 참조하십시오.

샤드된 컬렉션 조각 모음에 대해 자세히 알아보려면 샤드된 컬렉션 조각모음을 참조하세요.

disableResumableRangeDeleter

mongod 에만 사용 가능합니다.

유형: 부울

기본값: false

샤드의 기본에 설정된 경우, 샤드에서 범위 삭제가 일시 중지되는지 여부를 지정합니다. 0}으로 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.1.0에 추가되었습니다.

mongos 에만 사용 가능합니다.

유형: 부울

기본값: false

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

헤지된 읽기에 대한 최대 시간 제한(밀리초)을 지정합니다. 즉, 읽기 작업을 헤지하기 위해 전송된 추가 읽기는 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 설정을 사용하세요.

MongoDB 7 부터 시작.1 (및 7.0.1), 런타임 중에 매개 변수를 설정할 수 있습니다.

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

mongod --setParameter maxCatchUpPercentageBeforeBlockingWrites=20

MongoDB 7.1(및 7.0.1)부터 시작됩니다, 런타임 중에setParameter 명령을 사용하여 매개 변수를 설정할 수 있습니다.

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

다음도 참조하세요.

metadataRefreshInTransactionMaxWaitBehindCritSecMS

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

mongod 에만 사용 가능합니다.

유형: integer

기본값: 500

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

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

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

트랜잭션 내의 임계 영역에 대한 최대 대기 시간을 줄이려면 metadataRefreshInTransactionMaxWaitBehindCritSecMS 값을 낮추세요.

경고

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

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

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

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

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

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

버전 7.0에 추가.

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

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

유형: integer

기본값: 10

샘플러(mongos 또는 mongod{1)가 쿼리 분석기 샘플 속도를 새로 고치는 간격입니다.

configureQueryAnalyzer 명령으로 구성된 샘플 레이트는 샤딩된 클러스터의 mongos 인스턴스 또는 이를 통과하는 트래픽을 기반으로 복제본 세트의 mongod 인스턴스로 나누어집니다. mongos 또는 mongod 에 샘플 레이트를 할당하여 이를 통과하는 트래픽에 더 잘 반응하도록 하려면 이 값을 낮추십시오.

기본값을 사용하는 것이 좋습니다.

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

MongoDB 7 부터 시작.0.1, 런타임 중에 queryAnalysisSamplerConfigurationRefreshSecs 을 설정할 수 있습니다.

이 예에서는 mongod 인스턴스에서 시작 시 queryAnalysisSamplerConfigurationRefreshSecs 초를 60초로 설정합니다.

mongod --setParameter queryAnalysisSamplerConfigurationRefreshSecs=60

이 예에서는 mongos 인스턴스에서 시작 시 queryAnalysisSamplerConfigurationRefreshSecs 초를 60초로 설정합니다.

mongos --setParameter queryAnalysisSamplerConfigurationRefreshSecs=60

값을 30초로 설정하려면 다음을 실행합니다.

db.adminCommand( { setParameter: 1, queryAnalysisSamplerConfigurationRefreshSecs: 30 } )
queryAnalysisWriterIntervalSecs

버전 7.0에 추가.

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

mongod 에만 사용 가능합니다.

유형: integer

기본값: 90

샘플링된 쿼리가 디스크에 기록되는 간격(초)입니다.

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

MongoDB 7 부터 시작.0.1, 런타임 중에 queryAnalysisWriterIntervalSecs 을 설정할 수 있습니다.

이 예에서는 mongod 인스턴스에서 시작 시 queryAnalysisWriterIntervalSecs 초를 60초로 설정합니다.

mongod --setParameter queryAnalysisWriterIntervalSecs=60
To set the value to 60 seconds, run the following:
db.adminCommand( { setParameter: 1, queryAnalysisWriterIntervalSecs: 60 } )
queryAnalysisWriterMaxMemoryUsageBytes

버전 7.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 100 * 1024 * 1024

쿼리 샘플링 쓰기에서 사용할 수 있는 최대 메모리 용량(바이트)입니다. 한도에 도달하면 버퍼가 플러시될 때까지 모든 새 쿼리와 차이점이 샘플링에서 삭제됩니다. 0}보다 커야 합니다.0

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

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

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

이 예에서는 mongod 인스턴스에서 시작할 때 queryAnalysisWriterMaxMemoryUsageBytes10000000 로 설정합니다.

mongod --setParameter queryAnalysisWriterMaxMemoryUsageBytes=10000000
queryAnalysisWriterMaxBatchSize

버전 7.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 100000

한 번에 디스크에 쓸 수 있는 최대 샘플링된 쿼리 수입니다. 0}보다 크고 보다 0 작아야 합니다.100000

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

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

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

이 예에서는 mongod 인스턴스에서 시작할 때 queryAnalysisWriterMaxBatchSize1000 로 설정합니다.

mongod --setParameter queryAnalysisWriterMaxBatchSize=1000

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

db.adminCommand( { setParameter: 1, queryAnalysisWriterMaxBatchSize: 1000 } )
queryAnalysisSampleExpirationSecs

버전 7.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 7 * 24 * 3600

TTL 모니터에 의해 제거되기 전에 샘플링된 쿼리 문서가 존재하는 시간(초)입니다. 0}보다 커야 합니다.0

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

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

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

이 예에서는 mongod 인스턴스에서 시작할 때 queryAnalysisSampleExpirationSecs691200 (8 * 24 * 3600)로 설정합니다.

mongod --setParameter queryAnalysisSampleExpirationSecs=691200

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

db.adminCommand( { setParameter: 1, queryAnalysisSampleExpirationSecs: 691200 } )
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

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

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

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

유형: integer

기본값: 500

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

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

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

mongod --setParameter routingTableCacheChunkBucketSize=250
shutdownTimeoutMillisForSignaledShutdown

버전 5.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 15000

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

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

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

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

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

mongod --setParameter shutdownTimeoutMillisForSignaledShutdown=250

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

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

버전 5.0에 추가.

mongos 에만 사용 가능합니다.

유형: integer

기본값: 15000

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

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

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

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

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

mongos --setParameter mongosShutdownTimeoutMillisForSignaledShutdown=250

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

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

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

유형: 정수

기본값: 300000(5분)

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

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

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

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

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

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

mongos --setParameter ShardingTaskExecutorPoolHostTimeoutMS=120000

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

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

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

유형: 정수

기본값: 2

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

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

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

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

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

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

mongos --setParameter ShardingTaskExecutorPoolMaxConnecting=20

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

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

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

유형: 정수

기본값: 2 64 - 1

각 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에 추가.

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

유형: 정수

기본값: -1

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

다음으로 설정하는 경우:

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

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

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

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

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

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

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

mongos --setParameter ShardingTaskExecutorPoolMaxSizeForConfigServers=2

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

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

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

유형: 정수

기본값: 1

각 작업 실행기 연결 풀이 주어진 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에 추가.

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

유형: 정수

기본값: -1

선택적으로 ShardingTaskExecutorPoolMinSize를 재정의하여 각 TaskExecutor 연결 풀이 구성 서버에 대해 열 수 있는 최소 아웃바운드 연결 수를 설정하세요.

다음으로 설정하는 경우:

  • -1, ShardingTaskExecutorPoolMinSize가 사용됩니다. 기본값입니다.

  • -1보다 큰 정수 값으로 설정하면 각 작업 실행기 연결 풀이 구성 서버에 열 수 있는 아웃바운드 연결의 최소 개수를 재정의합니다.

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

다음 예시에서는 스타트업 도중 ShardingTaskExecutorPoolMinSize2로 설정해 각 TaskExecutor 연결 풀이 구성 서버에 열 수 있는 아웃바운드 연결의 최소수를 2로 설정합니다.

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

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

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

mongos --setParameter ShardingTaskExecutorPoolMinSizeForConfigServers=2

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

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

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

유형: 정수

기본값: 60000(1분)

풀에서 유휴 연결을 하트비트하기 전에 mongos가 대기하는 최대 시간입니다. 풀이 최소 크기를 초과하는 경우 새로 고침 중에 유휴 연결이 삭제될 수 있습니다.

설정된 경우 ShardingTaskExecutorPoolRefreshRequirementMSShardingTaskExecutorPoolRefreshTimeoutMS보다 커야 합니다. 그렇지 않으면 mongosShardingTaskExecutorPoolRefreshTimeoutMS 값을 ShardingTaskExecutorPoolRefreshRequirementMS보다 작게 조정합니다.

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

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

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

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

mongos --setParameter ShardingTaskExecutorPoolRefreshRequirementMS=90000

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

db.adminCommand( { setParameter: 1, ShardingTaskExecutorPoolRefreshRequirementMS: 90000 } )
ShardingTaskExecutorPoolRefreshTimeoutMS

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

유형: 정수

기본값: 20000(20초)

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

mongos 에만 사용 가능합니다.

유형: 정수

기본값: 1

지정된mongos에 사용할 Task Executor 연결 풀의 수입니다.

매개 변수 값이 0 이하이면 Task Executor 연결 풀 수는 코어 수와 같지만 다음과 같은 예외가 있습니다.

  • 코어 수가 4개 미만인 경우 Task Executor 연결 풀 수는 4개입니다.

  • 코어 수가 64보다 크면 Task Executor 연결 풀 수는 64입니다.

Linux에서 MongoDB 6.2 이상을 실행하는 경우 taskExecutorPoolSize를 기본값인 1에서 수정할 수 없습니다. 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

mongod 에만 사용 가능합니다.

기본값: 900(15분)

마이그레이션된 청크가 소스 샤드에서 삭제되기 전의 최소 지연입니다.

청크 마이그레이션 중에 청크를 삭제하기 전에, MongoDB는 orphanCleanupDelaySecs 또는 청크와 관련된 진행 중인 쿼리가 샤드 프라이머리에서 완료될 때까지 둘 중 더 긴 시간을 기다립니다.

그러나 샤드 프라이머리는 샤드 세컨더리에서 실행되는 진행 중인 쿼리에 대한 지식이 없기 때문에 청크를 사용하지만 세컨더리에서 실행되는 쿼리는 이러한 쿼리가 샤드 프라이머리 쿼리를 완료하는 데 걸리는 시간 및 orphanCleanupDelaySecs보다 오래 걸리는 경우 문서가 사라지는 것을 볼 수 있습니다.

참고

이 동작은 청크 마이그레이션 전에 시작되는 진행 중인 쿼리에만 영향을 미칩니다. 청크 마이그레이션이 시작된 후에 시작되는 쿼리는 마이그레이션하는 청크를 사용하지 않습니다.

샤드에 스토리지 제약이 있는 경우, 이 값을 일시적으로 줄이는 것이 좋습니다. 샤드 보조 데이터베이스에서 15분을 초과하는 쿼리를 실행하는 경우 이 값을 늘리는 것이 좋습니다.

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

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

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

다음은 orphanCleanupDelaySecs를 20분으로 설정합니다.

mongod --setParameter orphanCleanupDelaySecs=1200

이는 setParameter 명령을 사용하여 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, orphanCleanupDelaySecs: 1200 } )

모든 버전에서 orphanCleanupDelaySecs의 새 값은 값이 변경된 후에 생성된 범위 삭제에만 적용됩니다. 기존 범위 삭제에 새 값을 적용하려면 강제로 강등하세요.

persistedChunkCacheUpdateMaxBatchSize

버전 7.2에 새로 추가됨: (및 7.1.1, 7.0.4, 6.0.13, 5.0.25)

mongod 에만 사용 가능합니다.

유형: 유형: 정수

기본값: 1000

작업을 라우팅하고 제공하려면 샤드가 컬렉션과 관련된 라우팅 및 소유권 정보를 알아야 합니다. 이 정보는 내부 캐시 컬렉션 config.cache.collectionsconfig.cache.chunks.<collectionName> 복제를 통해 샤드의 기본 노드에서 보조 노드로 전파됩니다.

이전 버전에서는 청크 캐시 collection에 대한 업데이트가 개별적으로 수행되었습니다(즉, 항목이 삭제되고 새 항목이 삽입됨). MongoDB 7.2부터 이러한 업데이트는 배치 삭제와 그 뒤를 이은 배치 삽입으로 수행됩니다. 업데이트된 로직은 많은 수의 청크가 포함된 collection의 성능을 개선합니다.

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 } )

6.0.3 이전 버전에서 rangeDeleterBatchDelayMS의 새 값은 값이 변경된 후에 생성된 범위 삭제에만 적용됩니다. 기존 범위 삭제에 새 값을 적용하려면 강제로 강등하세요.

6.0.3부터는 범위 삭제가 생성된 시기와 상관없이 업데이트 후 처리된 모든 범위 삭제에 매개변수의 새 값이 적용됩니다.

rangeDeleterBatchSize

mongod 에만 사용 가능합니다.

유형: 음수가 아닌 정수

기본값: MongoDB 5.1.2 및 5.0.6부터 2147483647

범위 마이그레이션의 정리 단계(또는 cleanupOrphaned 명령)에서 삭제할 각 배치의 최대 문서 수입니다.

값이 0 이면 시스템이 기본값을 선택함을 나타냅니다.

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

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

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

다음 예시에서는 rangeDeleterBatchSize 문서를 32개로 설정합니다.

mongod --setParameter rangeDeleterBatchSize=32

매개변수는 setParameter 명령을 사용하여 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, rangeDeleterBatchSize: 32 } )

6.0.3 이전 버전에서 rangeDeleterBatchSize의 새 값은 값이 변경된 후에 생성된 범위 삭제에만 적용됩니다. 기존 범위 삭제에 새 값을 적용하려면 강제로 강등하세요.

6.0.3부터는 범위 삭제가 생성된 시기와 상관없이 업데이트 후 처리된 모든 범위 삭제에 매개변수의 새 값이 적용됩니다.

rangeDeleterHighPriority

버전 7.0에 추가.

mongod 에만 사용 가능합니다.

유형: 부울

기본값: false

true경우 분리된 문서 정리를 사용자 작업보다 우선시합니다. 기본적으로 이 설정은 false 로 설정되어 있어 연결이 끊긴 문서를 정리하는 것보다 사용자 작업의 우선 순위를 지정합니다.

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

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

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

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

mongod --setParameter rangeDeleterHighPriority=true

매개변수는 setParameter 명령을 사용하여 설정할 수도 있습니다.

db.adminCommand( { setParameter: 1, rangeDeleterBatchSize: true } )
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(을)를 설정할 수 없습니다.

honorSystemUmaskfalse로 설정되어 있으면 MongoDB에서 만든 새 파일의 권한이 600로 설정되어 소유자에게만 읽기 및 쓰기 권한이 부여됩니다. 새 디렉토리의 권한이 700으로 설정되어 있습니다. processUmask를 사용하여 MongoDB에서 만든 모든 새 파일에 대한 그룹 및 기타 사용자의 기본 권한을 재정의할 수 있습니다.

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

mongod --setParameter honorSystemUmask=true

참고

honorSystemUmask 은(는) Windows 시스템에서 사용할 수 없습니다.

journalCommitInterval

mongod 에만 사용 가능합니다.

저널 커밋 사이의 밀리초(ms) 수를 나타내는 1500 사이의 정수를 지정합니다.

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

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

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

journalCommitInterval200ms로 설정하는 다음 예시를 살펴보세요.

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

다음도 참조하세요.

minSnapshotHistoryWindowInSeconds

버전 5.0에 추가.

mongod 에만 사용 가능합니다.

기본값: 300

스토리지 엔진이 스냅샷 기록을 유지하는 최소 시간 창(초)입니다. 읽기 관심사 를 사용하여 데이터를 "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

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

mongod 에만 사용 가능합니다.

유형: integer

기본값: 128

MongoDB 7.0부터 모든 스토리지 엔진에서 이 매개변수를 사용할 수 있습니다. 이전 버전에서는 이 매개 변수를 WiredTiger 스토리지 엔진에서만 사용할 수 있었습니다.

스토리지 엔진에 허용되는 최대 동시 읽기 트랜잭션(읽기 티켓) 수를 지정합니다.

기본값을 사용하는 경우 MongoDB는 티켓 수를 동적으로 조정하여 성능을 최적화하며, 가능한 최대 값은 128입니다.

MongoDB 7.0부터 storageEngineConcurrentReadTransactions 기본값이 아닌 값으로 설정하면 동시 스토리지 엔진 트랜잭션 수를 동적으로 조정하는 알고리즘이 비활성화됩니다.

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

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

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

db.adminCommand( { setParameter: 1, storageEngineConcurrentReadTransactions: <int> } )

버전 6.0에서 변경되었습니다: 0} wiredTigerConcurrentReadTransactions 매개변수의 이름이 로 변경되었습니다.storageEngineConcurrentReadTransactions

다음도 참조하세요.

storageEngineConcurrentWriteTransactions

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

mongod 에만 사용 가능합니다.

유형: integer

MongoDB 7.0부터 모든 스토리지 엔진에서 이 매개변수를 사용할 수 있습니다. 이전 버전에서는 이 매개 변수를 WiredTiger 스토리지 엔진에서만 사용할 수 있었습니다.

WiredTiger 스토리지 엔진에 허용되는 최대 동시 쓰기 트랜잭션 수를 지정합니다.

기본적으로 MongoDB는 storageEngineConcurrentWriteTransactions 을 더 높은 값으로 설정합니다.

  • MongoDB를 실행하는 머신의 코어 수

  • 4

기본값을 사용하는 경우 MongoDB는 티켓 수를 동적으로 조정하여 성능을 최적화하며, 가능한 최대 값은 128입니다.

MongoDB 7.0부터 storageEngineConcurrentWriteTransactions 기본값이 아닌 값으로 설정하면 동시 스토리지 엔진 트랜잭션 수를 동적으로 조정하는 알고리즘이 비활성화됩니다.

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

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

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

db.adminCommand( { setParameter: 1, storageEngineConcurrentWriteTransactions: <int> } )

버전 6.0에서 변경되었습니다: 0} wiredTigerConcurrentWriteTransactions 매개변수의 이름이 로 변경되었습니다.storageEngineConcurrentWriteTransactions

다음도 참조하세요.

syncdelay

mongod 에만 사용 가능합니다.

mongod가 작업 메모리를 디스크로 플러시하는 간격을 초 단위로 지정합니다. 기본적으로 mongod는 60초마다 메모리를 디스크로 플러시합니다. 거의 모든 상황에서 이 값을 설정하지 말고 기본 설정을 사용해야 합니다.

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

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

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

syncdelay 을(를)60 초로 설정하는 다음 예제를 살펴보겠습니다.

db.adminCommand( { setParameter: 1, syncdelay: 60 } )

WiredTiger내구성 있는 데이터를 제공하기 위해 체크포인트를 사용합니다. 자세한 내용은 저널링 및 WiredTiger 스토리지 엔진을 참조하세요.

다음도 참조하세요.

temporarilyUnavailableBackoffBaseMs

mongod 에만 사용 가능합니다.

캐시 부족으로 인해 롤백된 쓰기 작업을 다시 연결하기 전의 초기 지연을 지정합니다.

드문 경우지만 캐시 압력으로 인해 쓰기가 실패할 수 있습니다. 이 경우 MongoDB는 TemporarilyUnavailable 오류를 발생시키고 두 곳, 즉 느린 쿼리 로그와 풀타임 진단 데이터 캡처(FTDC)에서 temporarilyUnavailableErrors 카운터를 증가시킵니다.

다중 문서 트랜잭션 내의 개별 작업은 TemporarilyUnavailable 오류를 반환하지 않습니다.

temporarilyUnavailableBackoffBaseMstemporarilyUnavailableMaxRetries 매개변수를 수정하여 쓰기 재시도 속성을 조정합니다.

매개 변수가 허용됩니다.

설명
integer >= 0

기본값은 1초입니다. 재시도 사이의 초기 지연 시간입니다. 이 값은 재시도할 때마다 최대 55초까지 증가합니다. 값이 클수록 다음 재시도 전에 캐시 압력이 줄어들 가능성이 높아집니다.

재시도 횟수를 구성하려면 temporarilyUnavailableMaxRetries(을)를 사용합니다.

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

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

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

새 값을 설정하려면 db.adminCommand() 사용하십시오.

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

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

temporarilyUnavailableMaxRetries

mongod 에만 사용 가능합니다.

캐시 부족으로 인해 쓰기 작업이 롤백될 때 최대 재시도 횟수를 지정합니다.

드문 경우지만 캐시 압력으로 인해 쓰기가 실패할 수 있습니다. 이 경우 MongoDB는 TemporarilyUnavailable 오류를 발생시키고 두 곳, 즉 느린 쿼리 로그와 풀타임 진단 데이터 캡처(FTDC)에서 temporarilyUnavailableErrors 카운터를 증가시킵니다.

다중 문서 트랜잭션 내의 개별 작업은 TemporarilyUnavailable 오류를 반환하지 않습니다.

temporarilyUnavailableBackoffBaseMstemporarilyUnavailableMaxRetries 매개변수를 수정하여 쓰기 재시도 속성을 조정합니다.

매개 변수가 허용됩니다.

설명
integer >= 0

기본값은 10입니다. 최대 재시도 횟수입니다.

재시도 간의 지연 시간이 증가합니다. 백오프 시간을 구성하려면 temporarilyUnavailableBackoffBaseMs를 사용하세요.

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

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

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

새 값을 설정하려면 db.adminCommand() 사용하십시오.

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

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

wiredTigerConcurrentReadTransactions

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

mongod 에만 사용 가능합니다.

유형: integer

기본값: 128

MongoDB 7.0부터 모든 스토리지 엔진에서 이 매개변수를 사용할 수 있습니다. 이전 버전에서는 이 매개 변수를 WiredTiger 스토리지 엔진에서만 사용할 수 있었습니다.

스토리지 엔진에 허용되는 최대 동시 읽기 트랜잭션(읽기 티켓) 수를 지정합니다.

기본값을 사용하는 경우 MongoDB는 티켓 수를 동적으로 조정하여 성능을 최적화하며, 가능한 최대 값은 128입니다.

MongoDB 7.0부터 wiredTigerConcurrentReadTransactions 기본값이 아닌 값으로 설정하면 동시 스토리지 엔진 트랜잭션 수를 동적으로 조정하는 알고리즘이 비활성화됩니다.

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

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

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

db.adminCommand( { setParameter: 1, wiredTigerConcurrentReadTransactions: <int> } )

다음도 참조하세요.

wiredTigerConcurrentWriteTransactions

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

mongod 에만 사용 가능합니다.

유형: integer

MongoDB 7.0부터 모든 스토리지 엔진에서 이 매개변수를 사용할 수 있습니다. 이전 버전에서는 이 매개 변수를 WiredTiger 스토리지 엔진에서만 사용할 수 있었습니다.

WiredTiger 스토리지 엔진에 허용되는 최대 동시 쓰기 트랜잭션 수를 지정합니다.

기본적으로 MongoDB는 wiredTigerConcurrentWriteTransactions 을 더 높은 값으로 설정합니다.

  • MongoDB를 실행하는 머신의 코어 수

  • 4

기본값을 사용하는 경우 MongoDB는 티켓 수를 동적으로 조정하여 성능을 최적화하며, 가능한 최대 값은 128입니다.

MongoDB 7.0부터 wiredTigerConcurrentWriteTransactions 기본값이 아닌 값으로 설정하면 동시 스토리지 엔진 트랜잭션 수를 동적으로 조정하는 알고리즘이 비활성화됩니다.

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

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

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

db.adminCommand( { setParameter: 1, wiredTigerConcurrentWriteTransactions: <int> } )

다음도 참조하세요.

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

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

유형: 부울

기본값: false

참고

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

authCheck 조치에 대한 권한 부여 성공 사례를 감사하도록 설정합니다.

auditAuthorizationSuccessfalse인 경우 감사 시스템authCheck에 대한 권한 부여 실패만 기록합니다.

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

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

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

권한 부여 성공에 대한 감사를 사용하려면 다음 명령을 실행하십시오.

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

auditAuthorizationSuccess(을)를 사용하도록 설정하면 권한 부여 실패만 로그하는 것보다 성능이 더 저하됩니다.

런타임 감사 구성이 활성화된 경우 auditAuthorizationSuccess 매개 변수가 mongod 또는 mongos 구성 파일에 나타나지 않아야 합니다. 매개 변수가 있는 경우 서버가 시작되지 않습니다.

다음도 참조하세요.

auditConfigPollingFrequencySecs

버전 5.0에 추가.

유형: integer

기본값: 300

샤딩된 클러스터에는 클러스터에 대한 감사 구성 설정을 유지 관리하는 서버가 있을 수 있습니다. 구성되지 않은 서버가 현재 감사 생성에 대해 구성 서버를 폴링하는 간격(초)을 설정합니다. 반환된 이 값이 이전에 알려진 값과 다른 경우 시작 노드는 현재 구성을 요청하고 내부 상태를 업데이트합니다.

참고

기본값인 300초를 사용하면 비구성 노드는 auditConfig cluster 매개변수를 설정한 후 최대 5분까지 지연될 수 있습니다.

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

auditEncryptionHeaderMetadataFile

버전 6.0에 추가.

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

유형: 문자열

참고

MongoDB Enterprise에서만 사용할 수 있습니다. MongoDB Enterprise와 Atlas의 구성 요구 사항은 서로 다릅니다.

감사 로그 암호화를 위한 메타데이터 감사 헤더 로깅의 경로 및 파일 이름입니다. 헤더는 각 로그 파일의 맨 위에 위치하며 감사 로그를 해독하기 위한 메타데이터를 포함합니다. 헤더는 감사 로그에도 저장됩니다.

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

예를 들어 다음은 auditEncryptionHeaderMetadataFile의 경로와 파일을 설정합니다.

mongod --setParameter auditEncryptionHeaderMetadataFile=/auditFiles/auditHeadersMetadataFile.log
auditEncryptKeyWithKMIPGet

버전 6.0에 추가.

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

유형: 부울

기본값: false

참고

MongoDB Enterprise에서만 사용할 수 있습니다. MongoDB Enterprise와 Atlas의 구성 요구 사항은 서로 다릅니다.

KMIP 프로토콜 버전 1.0 또는 1.1만 지원하는 KMIP(Key Management Interoperability Protocol) 서버의 경우 감사 로그 암호화를 활성화합니다.

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

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

mongod --setParameter auditEncryptKeyWithKMIPGet=true
coordinateCommitReturnImmediatelyAfterPersistingDecision

버전 5.0에 추가.

버전 6.1에서 업데이트

mongod 에만 사용 가능합니다.

유형: 부울

기본값: false

  • false로 설정하면 샤드 트랜잭션 코디네이터는 모든 구성원이 다중 문서 트랜잭션의 커밋 또는 취소 결정을 승인할 때까지 기다렸다가 결과를 클라이언트에게 반환합니다.

  • true로 설정하면 샤드 트랜잭션 코디네이터는 요청된 트랜잭션의 쓰기 고려에 따른 결정이 지속형이 되는 즉시 다중 문서 트랜잭션 커밋 결정을 클라이언트에 반환합니다.

    클라이언트가 "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 매개변수를 변경하는 경우 모든 구성 서버 복제본 세트 멤버에서 transactionLifetimeLimitSeconds도 동일한 값으로 변경해야 합니다. 이 값을 일관되게 유지합니다.

  • 적어도 샤드 복제본 세트 멤버의 트랜잭션 수명 제한만큼 라우팅 테이블 기록이 유지되도록 합니다.

  • 트랜잭션 재시도 빈도를 줄여 성능을 향상시킵니다.

transactionTooLargeForCacheThreshold

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

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 설정을 사용하세요.

다음은 maxTransactionLockRequestTimeoutMillis20밀리초로 설정합니다.

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

시작 중에도 이 매개변수를 설정할 수 있습니다.

mongod --setParameter maxTransactionLockRequestTimeoutMillis=20
planCacheSize

버전 6.3에 추가.

mongod 에만 사용 가능합니다.

유형: 문자열

기본값: 5%

참고

planCacheSize 매개변수는 이전 버전의 MongoDB에도 있었지만 버전 6.3까지는 계획 캐시에 영향을 미치지 않았습니다.

슬롯 기반 쿼리 실행 엔진에 대해서만 계획 캐시 크기를 설정합니다.

planCacheSize 값을 둘 중 하나로 설정할 수 있습니다.

  • 계획 캐시에 할당할 시스템의 총 실제 메모리의 백분율입니다. 예를 들어 "8.5%"입니다.

  • MB 또는 GB 의 계획 캐시에 할당할 정확한 데이터 양입니다. 예를 들어 "100MB" 또는 "1GB"입니다.

계획 캐시 크기를 늘리면 쿼리 플래너에 캐시된 쿼리 모양이 더 많이 추가됩니다. 이렇게 하면 쿼리 성능이 향상될 수 있지만 메모리 사용량이 증가합니다.

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

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

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

다음 시작 명령은 planCacheSize를 80 MB로 설정합니다.

mongod --setParameter planCacheSize="80MB"

MongoDB Shell 내에서 setParameter 명령을 사용할 수도 있습니다.

db.adminCommand( { setParameter: 1, planCacheSize: "80MB" } )

돌아가기

changeStreamOptions