문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

MongoDB 서버 매개변수

이 페이지의 내용

  • 개요
  • 매개변수
  • 인증 매개변수
  • 일반 매개변수
  • 로깅 매개변수
  • 진단 매개변수
  • 복제 및 일관성
  • 샤딩 매개변수
  • 상태 관리자 매개변수
  • 스토리지 매개변수
  • WiredTiger 매개변수
  • 감사 매개변수
  • 트랜잭션 매개변수
  • 슬롯 기반 실행 파라미터

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

  • setParameter 명령:

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

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

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

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

authenticationMechanisms

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

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

설명
SCRAM-SHA-1
RFC 5802 SHA-1 해시 함수를 사용하는 표준 Salted Challenge Response 인증 메커니즘.
RFC 7677 SHA-256 해시 함수를 사용하는 표준 Salted Challenge Response 인증 메커니즘.
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 자격 증명 을 사용하는 MongoDB deployment의 경우 또는 AWS IAM 환경 변수.

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

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

mongod --setParameter awsSTSRetryCount=15

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

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

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

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

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

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

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

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

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

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

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

KeysRotationIntervalSec

기본값: 7776000초(90일)

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

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

ldapForceMultiThreadMode

기본값: false

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

참고

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

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

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

ldapQueryPassword

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

유형: 문자열

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

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

ldapQueryUser

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

유형: 문자열

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

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

ldapRetryCount

버전 6.1에 추가.

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

유형: integer

기본값: 0

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

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

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

mongod --ldapRetryCount=3

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

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

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

mongod 에만 사용 가능합니다.

참고

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

LDAP 인증을 사용하는 MongoDB 배포에 사용됩니다.

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

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

기본값은 30초입니다.

ldapUserCacheRefreshInterval

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

mongod 에만 사용 가능합니다.

유형: integer

기본값: 30초

참고

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

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

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

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

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

mongod --setParameter ldapUserCacheRefreshInterval=4000

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

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

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

mongod 에만 사용 가능합니다.

유형: integer

기본값: 90초

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

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

LDAP 서버에서 사용자 정보를 성공적으로 새로 고치지 않고 ldapUserCacheStalenessInterval 초 이상 경과하면 mongod 가 발생합니다.

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

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

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

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

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

mongod --setParameter ldapUserCacheStalenessInterval=4000

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

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

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

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

  • Windows에서는 true입니다.

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

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

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

ldapConnectionPoolUseLatencyForHostPriority

기본값: true

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

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

ldapConnectionPoolMinimumConnectionsPerHost

기본값: 1

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

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

ldapConnectionPoolMaximumConnectionsPerHost

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

기본값: 2147483647

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

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

ldapConnectionPoolMaximumConnectionsInProgressPerHost

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

기본값: 2

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

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

ldapConnectionPoolHostRefreshIntervalMillis

기본값: 60000

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

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

ldapConnectionPoolIdleHostTimeoutSecs

기본값: 300

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

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

ldapShouldRefreshUserCacheEntries

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

mongod 에만 사용 가능합니다.

유형: 부울

기본값: true

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

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

configuration file에서 시작하는 동안 또는 명령줄의 --setParameter 옵션을 통해서만 ldapShouldRefreshUserCacheEntries 를 설정할 수 있습니다. 예를 들어 다음은 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가 선택됩니다.

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

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

연결할 수 없는 발급자 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
필수 사항
문자열
액세스 토큰이 사용되는 애플리케이션 또는 서비스를 지정합니다.
requestScopes
옵션
배열[ 문자열 ]
MongoDB가 IDP에 요청하는 권한 및 액세스 수준입니다.
principalName
옵션
문자열

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

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

authorizationClaim
조건부
문자열

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

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

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으로 설정하면 폴링이 비활성화됩니다.
supportsHumanFlows
옵션
부울

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

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

기본값: true.

버전 7.2의 새로운 기능:(7.0.5에서도 사용 가능)

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

ocspEnabled

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

기본값: true

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

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

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

mongod --setParameter ocspEnabled=false ...

MongoDB 6 부터 시작.0, 초기 동기화 중에 ocspEnabledtrue 로 설정된 경우 모든 노드가 OCSP 응답자에 연결할 수 있어야 합니다.

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

다음도 참조하세요.

ocspValidationRefreshPeriodSecs

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

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

에서 시작하는 동안 또는 명령줄의 옵션을 통해서만 ocspValidationRefreshPeriodSecs 를 설정할 수 configuration file 있습니다. 예를 들어 다음은 매개변수를 --setParameter 3600 초로 설정합니다.

mongod --setParameter ocspValidationRefreshPeriodSecs=3600 ...

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

opensslCipherConfig

Linux에서만 사용 가능

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

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

참고

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

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

SSL 옵션보다 TLS 옵션을 사용하는 것이 좋습니다. TLS 옵션은 SSL 옵션과 동일한 기능을 갖습니다. 다음 예에서는 'HIGH:!EXPORT:!aNULL@STRENGTH'opensslCipherConfig 암호 문자열을 사용하여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/man 를 참조하세요. . /man1 113/SSL_CTX_set_cipher_list.html. 여러 개의 암호 제품군을 콜론으로 구분된 목록으로 제공할 수 있습니다.

참고

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

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

예를 들어 다음은 TLS 와 함께 사용하기 위해 의 암호 모음으로 mongod opensslCipherSuiteConfig'TLS_AES_256_GCM_SHA384' 1 구성합니다.3:

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

Linux에서만 사용 가능

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

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

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

참고

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

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 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 보다 크거나 같은 정수를 지정합니다. 설정하지 않으면 tlsOCSPStaplingTimeoutSecs 에서 tlsOCSPVerifyTimeoutSecs 값을 사용합니다.

이 매개변수는 시작 시에만 사용할 수 있습니다. 매개변수를 설정하려면 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 설정을 사용합니다.

예를 들어 tlsUseSystemCAtrue 로 설정합니다.

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

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

tlsX509ExpirationWarningThresholdDays

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

기본값 : 30

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

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

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

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

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

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

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

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

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의 이전 버전에서는 이 동작을 활성화하려면 개별 findaggregate 명령에 { allowDiskUse: true } 를 전달해야 합니다.

개별 findaggregate 명령은 다음 중 하나를 통해 allowDiskUseByDefault 매개변수를 재정의할 수 있습니다.

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

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

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

mongod --setParameter allowDiskUseByDefault=false

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

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 설정을 사용합니다.

다음 예제에서는 slowConnectionThresholdMillis }밀리초를 250 밀리초로 설정합니다.

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 설정을 사용합니다.

예를 들어 다음은 cursorTimeoutMillis ~ 300000 밀리초(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프로파일링을 사용하는 것이 좋습니다.

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

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

  • 런타임에 매개변수를 설정하려면 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
indexMaxNumGeneratedKeysPerDocument

버전 5.3에 추가.

기본값: 100000

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

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

maxIndexBuildMemoryUsageMegabytes

기본값: 200

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

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

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

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

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

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

reportOpWriteConcernCountersInServerStatus

기본값: false

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

mongod --setParameter reportOpWriteConcernCountersInServerStatus=true
[1] reportOpWriteConcernCountersInServerStatus 를 활성화하면 성능에 부정적인 영향을 미칠 수 있습니다. 특히 TLS 없이 실행할 때 발생합니다.
watchdogPeriodSeconds

mongod 에만 사용 가능합니다.

유형: integer

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

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

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

참고

  • 모니터링되는 디렉토리의 파일 시스템이 응답하지 않으면 mongod 종료하는 데 값의 최대 watchdogPeriodSeconds 거의 두 배 에 달하는 시간이 걸릴 수 있습니다

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

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

mongod --setParameter watchdogPeriodSeconds=60

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

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

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

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

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

참고

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

tcmallocAggressiveMemoryDecommit

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

기본값: 0

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

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

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

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

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

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

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

tcmallocReleaseRate

기본값: 1.0

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

참고

tcmallocAggressiveMemoryDecommit tcmallocReleaseRate사용할 때 심각한 성능 저하가 발생하지 않는 tcmallocAggressiveMemoryDecommit 한 } 대신 사용하는 것이 좋습니다.

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

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

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

시작 시 tcmallocReleaseRate 을(를) 설정할 수도 있습니다. 예:

mongod --setParameter "tcmallocReleaseRate=5.0"
fassertOnLockTimeoutForStepUpDown

버전 5.3에 추가.

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

기본값: 15초

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

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

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

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

mongod --setParameter fassertOnLockTimeoutForStepUpDown=0
logLevel

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

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

기본값 logLevel0 (정보)입니다.

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

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 상세 수준을 지정하는 경우 이 수준은 다음에도 적용됩니다.

예를 들어 다음은 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}"

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

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

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

유형: 음수가 아닌 정수

기본값: 10

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

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

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

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

경고

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

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

mongod --setParameter maxLogSizeKB=20
profileOperationResourceConsumptionMetrics

mongod 에만 사용 가능합니다.

유형: 부울

기본값: false

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

true 로 설정한 경우, explain 명령을 실행하면 상세도가 executionStats 이상일 때 operationMetrics 가 반환됩니다.

quiet

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

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

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메시지에서 암호화된 데이터의 필드 값을 삭제하도록 구성합니다.

traceExceptions

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

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

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

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

다음도 참조하세요.

suppressNoTLSPeerCertificateWarning

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

유형: 부울

기본값: false

mongod mongos 기본적으로 TLS/SSL이 활성화 된 또는 및 net.ssl.allowConnectionsWithoutCertificates : 를true 사용하면 클라이언트가 경고를 기록하는 동안 유효성 검사를 위한 인증서를 제공하지 않고도 연결할 수 suppressNoTLSPeerCertificateWarning 1 true 있습니다. 이러한 경고를 표시하지 않으려면 를 또는 로 설정합니다.

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

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

버전 7.0에 추가.

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

유형: 부울

기본값: true

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

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

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

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

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

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

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

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

mongod --setParameter diagnosticDataCollectionEnabled=false
diagnosticDataCollectionDirectoryPath

mongos 에만 사용 가능합니다.

유형: 문자열

경고

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

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

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

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

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

diagnosticDataCollectionDirectorySizeMB

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

유형: integer

기본값: 200

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

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

mongod --setParameter diagnosticDataCollectionDirectorySizeMB=250

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

diagnosticDataCollectionFileSizeMB

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

유형: integer

기본값: 10

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

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

mongod --setParameter diagnosticDataCollectionFileSizeMB=20

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

diagnosticDataCollectionPeriodMillis

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

유형: integer

기본값: 1000

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

예를 들어 다음은 간격을 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 설정을 사용합니다.

예를 들어 인스턴스의 을(를)enableOverrideClusterChainingSetting mongod(으)로 true 설정합니다.

mongod --setParameter enableOverrideClusterChainingSetting=true
logicalSessionRefreshMillis

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

유형: integer

기본값: 300000(5분)

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

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

예를 들어 인스턴스의 logicalSessionRefreshMillis mongod 를 10 분으로 설정합니다.

mongod --setParameter logicalSessionRefreshMillis=600000
localLogicalSessionTimeoutMinutes

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

유형: integer

기본값: 30

경고

테스트 목적으로만 사용

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

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

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

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

예를 들어 localLogicalSessionTimeoutMinutes 테스트 mongod 인스턴스의 를 20 분으로 설정합니다.

mongod --setParameter localLogicalSessionTimeoutMinutes=20
maxAcceptableLogicalClockDriftSecs

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

유형: integer

기본값: 31536000 (1년)

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

새 클러스터 시간이 현재 클러스터 시간과 maxAcceptableLogicalClockDriftSecs 이상 다른 경우 클러스터 시간을 새 값으로 앞당길 수 없습니다.

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

예를 들어 인스턴스의 maxAcceptableLogicalClockDriftSecs mongod 를 15 분으로 설정합니다.

mongod --setParameter maxAcceptableLogicalClockDriftSecs=900
maxSessions

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

유형: integer

기본값: 1000000

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

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

예를 들어 인스턴스의 을(를)maxSessions mongod(으)로 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 설정을 사용합니다.

예를 들어 인스턴스의 TransactionRecordMinimumLifetimeMinutes mongod 를 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 입니다.

태그 세트 또는 maxStalenessSeconds 을(를) initialSyncSourceReadPreference 으)로 지정할 수 없습니다.

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

기본값: 104857600 (100MB)

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

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

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

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

mongod --setParameter replBatchLimitBytes=67108864

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

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

mongod 에만 사용 가능합니다.

유형: 문서

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

또는 setParameter 실행 mongosh 중인 에 연결된 세션에서 mongod 명령을 사용하는 경우 문서를 따옴표로 묶지 마세요 .

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 에만 사용 가능합니다.

유형: 더블

기본값: 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 설정을 사용합니다.

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

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 컬렉션에 보류 중인 범위 삭제 작업이 없는 한 다른 샤드로부터 청크를 계속 받을 수 있습니다.

disableResumableRangeDeleter 이(가) true 일 때, 고아 문서 가 받는 청크와 동일한 범위에 있는 수신자 샤드의 기본 문서에 있으면 청크 마이그레이션이 실패합니다.

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

중요

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

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

mongod --setParameter disableResumableRangeDeleter=false
enableShardedIndexConsistencyCheck

mongod 에만 사용 가능합니다.

유형: 부울

기본값: true

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

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

다음 예에서는 config 서버 프라이머리에 대해 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

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

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

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

mongos --setParameter maxTimeMSForHedgedReads=200

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

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

다음도 참조하세요.

maxCatchUpPercentageBeforeBlockingWrites

버전 5.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 10

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

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

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

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

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

mongod --setParameter maxCatchUpPercentageBeforeBlockingWrites=20

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 설정을 사용합니다.

버전 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 설정을 사용합니다.

..versionchanged:: 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

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

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

다음도 참조하세요.

routingTableCacheChunkBucketSize

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

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

유형: integer

기본값: 500

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

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

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

mongod --setParameter routingTableCacheChunkBucketSize=250
shutdownTimeoutMillisForSignaledShutdown

버전 5.0에 추가.

mongod 에만 사용 가능합니다.

유형: integer

기본값: 15000

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

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

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

mongod --setParameter shutdownTimeoutMillisForSignaledShutdown=250

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

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

버전 5.0에 추가.

mongos 에만 사용 가능합니다.

유형: integer

기본값: 15000

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

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

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

mongos --setParameter mongosShutdownTimeoutMillisForSignaledShutdown=250

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

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

각 TaskExecutor 연결 풀이 구성 서버 에 열 수 있는 최소 아웃바운드 연결 수를 설정하려면 ShardingTaskExecutorPoolMinSize에 대한 선택적 재정의를 사용합니다.

다음으로 설정하는 경우:

  • -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 로 설정된 경우, 샤드 클러스터에 있는 다른 복제본 세트의 각 노드(특히, 샤드 복제본 세트 및 config 서버)에 대한 인스턴스의 연결 풀에 있는 인스턴스의 최소 연결 수가 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입니다.

MongoDB 6 을(를) 실행하는 경우. Linux의 2 이상에서는 taskExecutorPoolSize 를 기본값인 1 에서 수정할 수 없습니다. Windows 또는 macOS에서 MongoDB를 실행할 때 이 매개변수를 수정할 수 있습니다.

taskExecutorPoolSize 의 기본값은 1 입니다.

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

mongos --setParameter taskExecutorPoolSize=6
loadRoutingTableOnStartup

mongos 에만 사용 가능합니다.

유형: 부울

기본값: true

2} 인스턴스가 시작 시 샤드된 클러스터의 라우팅 테이블을 미리 로드하도록 mongos 구성합니다. 이 설정을 사용하면 mongos 클라이언트 연결을 수락하기 전에 시작 절차의 일부로 샤드된 각 컬렉션에 대한 클러스터 전체 라우팅 테이블을 캐시합니다.

이 설정을 사용하지 않으면 mongos 들어오는 클라이언트 연결에 필요한 라우팅 테이블만 로드하고 지정된 요청의 네임스페이스에 대한 특정 라우팅 테이블만 로드합니다.

mongos loadRoutingTableOnStartup 매개 변수가 활성화된 인스턴스는 시작 시간이 길어질 수 있지만 일단 시작되면 초기 클라이언트 연결의 서비스 속도가 빨라집니다.

loadRoutingTableOnStartup 은(는) 기본적으로 활성화되어 있습니다.

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

warmMinConnectionsInShardingTaskExecutorPoolOnStartup

mongos 에만 사용 가능합니다.

유형: 부울

기본값: true

시작 시 연결 풀을 미리 워밍하도록 mongos 인스턴스를 구성합니다. 이 매개 변수를 활성화하면 mongos 는 클라이언트 연결을 수락하기 전에 시작 절차의 일부로 각 샤드 서버에 ShardingTaskExecutorPoolMinSize 네트워크 연결을 설정하려고 시도합니다.

이 동작에 대한 시간 초과는 warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMS 매개 변수를 사용하여 구성할 수 있습니다. 이 시간 제한에 도달하면 mongos 는 연결 풀의 크기에 관계없이 클라이언트 연결을 수락하기 시작합니다.

이 매개 변수를 사용하도록 설정한 mongos 인스턴스는 시작 시간이 길어질 수 있지만, 일단 시작되면 초기 클라이언트 연결의 서비스 속도가 빨라집니다.

warmMinConnectionsInShardingTaskExecutorPoolOnStartup 은(는) 기본적으로 활성화되어 있습니다.

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

warmMinConnectionsInShardingTaskExecutorPoolOnStartupWaitMS

mongos 에만 사용 가능합니다.

유형: 정수

기본값: 2000(2초)

매개변수를 사용할 때 샤드 호스트당 ShardingTaskExecutorPoolMinSize 연결이 설정될 mongos 때까지 가 대기하는 warmMinConnectionsInShardingTaskExecutorPoolOnStartup 시간 초과 임계값을 밀리초 단위로 설정합니다. 이 시간 제한에 도달하면 는 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.0.4의 새로운 기능: (및 6.0.13, 5.0.25)

mongod 에만 사용 가능합니다.

유형: 유형: 정수

기본값: 1000

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

기본값인 300초를 사용하면 구성되지 않은 노드는 setAuditConfig 명령보다 최대 5분 정도 지연될 수 있습니다. 그러나 MongoDB 7.0.4.부터 도입된 새로운 로직에 따라, 이러한 업데이트는 일괄적인 삭제와 그 뒤를 이은 일괄적인 삽입 과정으로 수행됩니다. 업데이트된 로직은 많은 수의 청크를 포함하는 컬렉션의 성능을 향상시킵니다.

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 에만 사용 가능합니다.

유형: 음수가 아닌 정수

기본값: 2147483647 MongoDB 5 에서 시작하는 .1.2 및 5.0.6

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

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

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

다음 예에서는 rangeDeleterBatchSize ~ 32 문서를 설정합니다.

mongod --setParameter rangeDeleterBatchSize=32

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

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

6 이전 버전.0.3, rangeDeleterBatchSize 의 새 값은 값이 변경된 후에 생성된 범위 삭제에만 적용됩니다. 기존 범위 삭제에 새 값을 적용하려면 한 단계씩 강제로 종료합니다.

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

rangeDeleterHighPriority

버전 7.0에 추가.

mongod 에만 사용 가능합니다.

유형: 부울

기본값: false

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

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

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

mongod --setParameter rangeDeleterHighPriority=true

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

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

mongod 에만 사용 가능합니다.

유형: 부울

기본값: false

true 인 경우 샤드 멤버 또는 구성 서버 멤버를 유지 관리 작업을 위한 독립 실행형으로 시작할 수 있습니다. 이 매개 변수는 --configsvr 또는 --shardsvr 옵션과 상호 배타적입니다.

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

mongod --setParameter skipShardingConfigurationChecks=true

중요

유지 관리가 완료되면 skipShardingConfigurationChecks 다시 시작할 때 매개 변수를 mongod 제거합니다.

findChunksOnConfigTimeoutMS

버전 5.0에 추가.

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

유형: 음수가 아닌 정수

기본값: 900000

chunks 에서 찾기 작업의 제한 시간 (밀리초) 입니다.

클러스터에 청크 수가 많고 ExceededTimeLimit 오류로 인해 청크 로드가 실패하는 경우 매개변수 값을 늘립니다.

mongod --setParameter findChunksOnConfigTimeoutMS=1000000

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

activeFaultDurationSecs

mongos 에만 사용 가능합니다.

유형: 문서

상태 관리자 개요 오류가 발생한 후 클러스터에서 mongos가 제거될 때까지 기다리는 시간을 초 단위로 설정합니다.

장애가 감지되고 Health Manager가 critical으로 구성된 경우 서버는 클러스터에서 mongos를 제거하기 전에 지정된 간격만큼 대기합니다.

예를 들어, 실패부터 충돌까지의 기간을 5분으로 설정하려면 시작 시 다음을 실행하십시오.

mongos --setParameter activeFaultDurationSecs=300

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

db.adminCommand(
{
setParameter: 1,
activeFaultDurationSecs: 300
}
)

setParameter 로 설정된 파라미터는 재시작 시에도 유지되지 않습니다. 자세한 내용은 SetParameter 페이지를 참조하십시오.

이 설정을 영구적으로 activeFaultDurationSecs 유지하려면 setParameter 다음 예제에서와 같이 옵션을 사용하여 mongos 구성 파일에서 을 설정합니다.

setParameter:
activeFaultDurationSecs: 300
healthMonitoringIntensities

mongos 에만 사용 가능합니다.

유형: 문서 배열

이 매개변수를 사용하여 상태 관리자의 강도 수준을 설정합니다.

healthMonitoringIntensities values은 문서 배열을 받아들입니다. values 각 문서에는 두 개의 필드가 있습니다.

  • type를 클릭하고 상태 관리자 패싯

  • intensity강도 수준

패싯
상태 관리자가 확인하는 사항
configServer
config 서버에 대한 연결과 관련된 클러스터 상태 문제.
dns
DNS 가용성 및 기능과 관련된 클러스터 상태 문제.
ldap
LDAP 가용성 및 기능과 관련된 클러스터 상태 문제.
강도 수준
설명
critical
이 패싯의 상태 관리자는 활성화되어 있으며 오류가 발생하면 실패한 mongos 를 클러스터 밖으로 이동할 수 있습니다. 상태 관리자는 activeFaultDurationSecs 로 지정된 시간 동안 기다렸다가 몽고 를 중지하고 클러스터 밖으로 자동으로 이동합니다.
non-critical
이 패싯의 상태 관리자가 활성화되어 있고 오류를 기록하지만 오류가 발생하면 mongos 클러스터에 남아 있습니다.
off
이 패싯의 상태 관리자는 비활성화되어 있습니다. mongos는 이 패싯에 대해 상태 확인을 수행하지 않습니다. 이것이 기본 강도 수준입니다.

예를 들어 dns Health Manager 패싯을 critical 강도 수준으로 설정하려면 시작 시 다음을 실행하십시오.

mongos --setParameter 'healthMonitoringIntensities={ values:[ { type:"dns", intensity: "critical"} ] }'

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

db.adminCommand(
{
setParameter: 1,
healthMonitoringIntensities: { values: [ { type: "dns", intensity: "critical" } ] } } )
}
)

setParameter 로 설정된 파라미터는 재시작 시에도 유지되지 않습니다. 자세한 내용은 SetParameter 페이지를 참조하십시오.

이 설정을 영구적으로 healthMonitoringIntensities 유지하려면 setParameter 다음 예제에서와 같이 옵션을 사용하여 mongos 구성 파일에서 을 설정합니다.

setParameter:
healthMonitoringIntensities: "{ values:[ { type:\"dns\", intensity: \"critical\"} ] }"
healthMonitoringIntervals

mongos 에만 사용 가능합니다.

유형: 문서 배열

이 상태 관리자가 실행되는 빈도(밀리초)입니다.

healthMonitoringIntervals values은 문서 배열을 받아들입니다. values 각 문서에는 두 개의 필드가 있습니다.

  • type를 클릭하고 상태 관리자 패싯

  • interval 실행하는 시간 간격(밀리초)

패싯
상태 관리자가 확인하는 사항
configServer
config 서버에 대한 연결과 관련된 클러스터 상태 문제.
dns
DNS 가용성 및 기능과 관련된 클러스터 상태 문제.
ldap
LDAP 가용성 및 기능과 관련된 클러스터 상태 문제.

예를 들어, 30초마다 상태 검사를 실행하도록 ldap Health Manager 패싯을 설정하려면 시작 시 다음을 실행하십시오.

mongos --setParameter 'healthMonitoringIntervals={ values:[ { type:"ldap", interval: "30000"} ] }'

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

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를 중지하고 클러스터에서 제거합니다.

필드
설명
단위
interval
상태 관리자가 정체되거나 응답하지 않는지 확인하는 빈도입니다.
밀리초
deadline
mongos가 상태 관리자 검사를 통과하지 못할 경우 자동으로 실패하기 전의 타임아웃을 설정합니다.

interval 시간을 1000밀리초로 설정하고 deadline 를 300초로 설정하려면 시작 시 다음을 실행하십시오.

mongos --setParameter 'progressMonitor={"interval": 1000, "deadline": 300}'

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

db.adminCommand(
{
setParameter: 1,
progressMonitor: { interval: 1000, deadline: 300 } )
}
)

setParameter 로 설정된 파라미터는 재시작 시에도 유지되지 않습니다. 자세한 내용은 SetParameter 페이지를 참조하십시오.

이 설정을 영구적으로 progressMonitor 유지하려면 setParameter 다음 예제에서와 같이 옵션을 사용하여 mongos 구성 파일에서 을 설정합니다.

setParameter:
progressMonitor: "{ interval: 1000, deadline: 300 }"
honorSystemUmask

mongod 에만 사용 가능합니다.

기본값: false

honorSystemUmask trueumask 설정하면 MongoDB에서 만든 새 파일은 processUmask 사용자의 설정에 따라 honorSystemUmask 권한을 갖습니다. 이(가) (으)로 설정된 경우 true{ 을(를) 설정할 수 없습니다.

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

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

mongod --setParameter honorSystemUmask=true

참고

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

journalCommitInterval

mongod 에만 사용 가능합니다.

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

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

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

  • 시작 시 매개변수를 설정하려면 setParameter 설정을 사용합니다.

journalCommitInterval200 ms로 설정하는 다음 예제를 살펴보겠습니다.

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

다음도 참조하세요.

minSnapshotHistoryWindowInSeconds

버전 5.0에 추가.

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 에만 사용 가능합니다.

honorSystemUmask 이(가) false(으)로 설정된 경우 그룹 및 다른 사용자에게 사용되는 기본 권한을 재정의합니다. 기본적으로 honorSystemUmask 이(가) false(으)로 설정되면 MongoDB에서 만든 새 파일의 권한은 600 으)로 설정됩니다. 이 기본값을 사용자 지정 umask 값으로 재정의하려면 processUmask 매개변수를 사용합니다. 파일 소유자는 umask 시스템에서 권한을 상속받습니다.

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

honorSystemUmask 이(가) true(으)로 설정된 경우에는 이 매개변수를 설정할 수 없습니다.

그룹 및 기타 사용자에게 읽기/쓰기 전용 권한을 설정하고 소유자에 대한 시스템 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 에 대한 권한 부여 실패만 기록합니다.

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

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

auditAuthorizationSuccess 를 활성화하면 권한 부여 실패만 기록하는 것보다 성능이 더 저하됩니다.

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

다음도 참조하세요.

auditConfigPollingFrequencySecs

버전 5.0에 추가.

유형: integer

기본값: 300

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

참고

기본값인 300초를 사용하면 구성되지 않은 노드는 setAuditConfig 명령보다 최대 5분 정도 지연될 수 있습니다.

auditEncryptionHeaderMetadataFile

버전 6.0에 추가.

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

유형: 문자열

참고

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

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

auditEncryptionHeaderMetadataFile에서 auditEncryptionHeaderMetadataFile 시작하는 동안 configuration file또는 --setParameter 명령줄의 옵션을 통해서만 를 설정할 수 있습니다. 예를 들어 다음은 의 경로와 파일을 설정합니다.

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) 서버의 경우 감사 로그 암호화를 활성화합니다.

configuration file에서 시작하는 동안 또는 명령줄의 --setParameter 옵션을 통해서만 auditEncryptKeyWithKMIPGet 를 설정할 수 있습니다. 예를 들어 다음은 auditEncryptKeyWithKMIPGettrue 로 설정합니다.

mongod --setParameter auditEncryptKeyWithKMIPGet=true
coordinateCommitReturnImmediatelyAfterPersistingDecision

버전 5.0에 추가.

버전 6.1에서 업데이트

mongod 에만 사용 가능합니다.

유형: 부울

기본값: false

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

샤드 트랜잭션 코디네이터는 요청된 트랜잭션의 쓰기 고려에 따른 결정이 영속성있게 되는 즉시 다중 문서 트랜잭션 커밋 결정을 클라이언트에 반환합니다.

클라이언트가 "majority" 미만의 쓰기 문제를 요청한 경우 결정이 클라이언트에 반환된 후 커밋이 롤백될 수 있습니다.

트랜잭션에 "읽기/쓰기" 일관성이 없을 수 있습니다. 즉, 읽기 작업은 이전 쓰기 작업의 결과를 반영하지 않을 수 있습니다. 다음과 같은 경우에 발생할 수 있습니다.

  • 트랜잭션은 여러 개의 샤드에 기록해야 합니다.

  • 읽기와 이전 쓰기는 서로 다른 세션에서 발생합니다.

인과적 일관성은 동일한 세션 내에서 발생하는 읽기 및 쓰기의 인과적 관계만 보장합니다.

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

mongod --setParameter coordinateCommitReturnImmediatelyAfterPersistingDecision=true

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

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

버전 6.0에 추가.

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

기본값: 1000

내부 세션 메타데이터 삭제에 대한 세션 제한입니다. 메타데이터입니다:

  • 사용자 작업에 대한 세션 트랜잭션 정보를 포함합니다.

  • config.transactions 컬렉션에 저장됩니다.

내부 세션 수가 internalSessionsReapThreshold 보다 크면 메타데이터가 삭제됩니다.

internalSessionsReapThreshold0 로 설정하면 사용자 세션이 종료될 때만 내부 세션 메타데이터가 삭제됩니다.

다음 예에서는 internalSessionsReapThreshold ~ 500 세션을 설정합니다.

db.adminCommand( { setParameter: 1, internalSessionsReapThreshold: 500 } )

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

mongod --setParameter internalSessionsReapThreshold=500
transactionLifetimeLimitSeconds

mongod 에만 사용 가능합니다.

기본값: 60

다중 문서 트랜잭션 의 수명을 지정합니다. 이 한도를 초과하는 트랜잭션은 만료된 것으로 간주되며 주기적인 정리 프로세스에 의해 중단됩니다. 정리 프로세스는 transactionLifetimeLimitSeconds/2 초마다 또는 60 초에 한 번 이상 실행됩니다.

정리 프로세스는 스토리지 캐시 압박을 완화하는 데 도움이 됩니다.

transactionLifetimeLimitSeconds의 최소값은 1 초입니다.

다음은 transactionLifetimeLimitSeconds }초에서 30 초로 설정합니다.

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

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

mongod --setParameter "transactionLifetimeLimitSeconds=30"

샤딩된 클러스터의 파라미터를 설정하려면 모든 샤드 복제본 세트 멤버에 대해 파라미터를 수정해야 합니다.

MongoDB 5 부터 시작.0, transactionLifetimeLimitSeconds 매개 변수를 변경하는 경우 모든 config 서버 복제본 세트 멤버에서 transactionLifetimeLimitSeconds 도 동일한 값으로 변경해야 합니다. 이 값을 일관되게 유지합니다.

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

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

transactionTooLargeForCacheThreshold

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

mongod 에만 사용 가능합니다.

유형: 십진수

기본값: 0.75

캐시 압박으로 인해 실패한 트랜잭션을 다시 시도하기 위한 임계값입니다. 이 값은 더티 캐시 크기의 백분율입니다. 기본값인 0.75은 더티 캐시의 75%를 의미합니다.

더티 캐시는 전체 캐시 크기의 20%로 제한됩니다. transactionTooLargeForCacheThreshold0.75으로 설정하면 서버는 전체 스토리지 엔진 캐시의 15% (0.75 * 20%) 미만을 사용하는 트랜잭션만 재시도합니다.

제한은 재시도에만 적용됩니다. 대규모 트랜잭션은 transactionTooLargeForCacheThreshold % 이상의 더티 캐시를 사용할 수 있습니다. 하지만 캐시 압력으로 인해 대용량 트랜잭션이 롤백되면 서버는 TransactionTooLargeForCache 오류를 발생시키고 트랜잭션을 재시도하지 않습니다.

이 동작을 비활성화하려면 transactionTooLargeForCacheThreshold1.0로 설정합니다.

WiredTiger 스토리지에 대한 자세한 내용은 storage.wiredTiger 옵션을 참조하세요.

maxTransactionLockRequestTimeoutMillis

mongod 에만 사용 가능합니다.

유형: integer

기본값: 5

다중 문서 트랜잭션이 트랜잭션 작업에 필요한 잠금을 획득하기 위해 대기해야 하는 최대 시간을 밀리초 단위로 설정합니다.

maxTransactionLockRequestTimeoutMillis 동안 기다린 후에도 트랜잭션이 잠금을 획득할 수 없으면 트랜잭션이 중단됩니다.

기본적으로 다중 문서 트랜잭션은 5 밀리초 동안 대기합니다. 즉, 트랜잭션이 5 밀리초 내에 잠금을 획득하지 못하면 트랜잭션이 중단됩니다. 작업이 잠금 요청에서 더 긴 시간 제한을 제공하는 경우 maxTransactionLockRequestTimeoutMillis 이 작업별 시간 제한을 재정의합니다.

maxTransactionLockRequestTimeoutMillis 을(를) 다음과 같이 설정할 수 있습니다.

  • 0 따라서 트랜잭션이 필요한 잠금을 즉시 획득할 수 없으면 트랜잭션이 중단됩니다.

  • 필요한 잠금을 획득하기 위해 지정된 시간 동안 기다릴 0 보다 큰 숫자입니다. 이를 통해 빠르게 실행되는 메타데이터 작업과 같이 일시적인 동시 잠금 획득 시 트랜잭션이 중단되는 것을 방지할 수 있습니다. 그러나 이렇게 하면 교착 상태에 빠진 트랜잭션 작업의 중단이 지연될 수 있습니다.

  • -1 작업별 타임아웃을 사용하려면 해당 옵션을 선택하세요.

다음은 maxTransactionLockRequestTimeoutMillis ~ 20 밀리초를 설정합니다.

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

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

mongod --setParameter maxTransactionLockRequestTimeoutMillis=20
shouldMultiDocTxnCreateCollectionAndIndexes

5.0에서 제거됨

유형: 부울

기본값: true

트랜잭션 내부의 컬렉션 또는 인덱스 생성을 활성화하거나 비활성화하는 플래그입니다. 매개 변수를 다음으로 설정합니다.

  • true 활성화하려면. (기본값)

  • false 비활성화합니다.

시작 또는 런타임 중에 매개변수를 설정할 수 있습니다.

중요

샤드 클러스터에 대한 매개변수를 설정할 때는 모든 샤드에서 매개변수를 설정하세요.

시작 시 매개변수를 설정하려면 명령줄에서 configuration file 또는 --setParameter 옵션을 사용하여 매개변수를 지정합니다. 예를 들면 다음과 같습니다.

mongod --setParameter shouldMultiDocTxnCreateCollectionAndIndexes=false

런타임 중에 수정하려면 setParameter 명령을 사용할 수 있습니다. 예를 들어:

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

버전 6.3에 추가.

mongod 에만 사용 가능합니다.

유형: 문자열

기본값: 5%

참고

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

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

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

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

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

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

다음 시작 명령은 planCacheSize 를 80 메가바이트로 설정합니다.

mongod --setParameter planCacheSize="80MB"

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

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