mongot Lucene 기반 JVM 호스팅 메모리 매핑 검색 엔진입니다. mongod와 다른 작업 특성을 가집니다.
저장에 대한 지연 시간 감성. 무작위 읽기 디스크 지연 시간은 쿼리 및 인덱싱 성능에 직접적으로 영향을 미칩니다. 저장 클래스는 배포에 대한 가장 영향력 있는 결정 중 하나입니다.
메모리 매핑된 인덱스 액세스. 파일 시스템 캐시 부하는 쿼리 지연 시간과 비선형적으로 상관됩니다. 메모리가 적으면 지연 시간이 많이 단축됩니다.
복제 기반.
mongotmongod변경 스트림의 다운스트림 소비자입니다. 복제 지연, oplog 읽기 및 연결 상태는 모든 인덱스 최신성에 영향을 미칩니다.여러 워크로드 단계. 초기 동기화, 병합, 정상 상태 복제 및 쿼리는 각각 다른 리소스에 부하를 주는 일입니다. 한 단계에서 정상적인 신호는 다른 단계에서 문제를 나타낼 수 있습니다.
신호 카테고리
카테고리 | 알려주는 정보 |
|---|---|
건강 |
|
복제 |
|
인덱싱 | mongot 프로세스가 인덱스를 빌드하고 유지하는지, 병합이 진행되는지, 초기 동기화가 진행되는지 여부. |
쿼리 |
|
실행기 푸일 | 스레드 푸일 활용률과 큐 깊이. 여기서의 과부하는 쿼리 지연 시간 저하를 예측합니다. |
JVM | JVM의 힙, 가비지 컬렉션 및 스레드와 관련된 지표. |
시스템 | 프로세스 또는 컨테이너 수준의 CPU, 메모리, 디스크 I/O, 네트워크와 관련된 지표입니다. |
스토리지 | IOPS, 페이지 부졸 률 및 자유 공간과 관련된 지표입니다. |
임베딩 | 자동 임베딩 이 활성화되어 있을 때 Voyage AI 엔드포인트에 대한 처리량 및 오류 률. |
mongot의 주요 신호
이들은 모니터링할 주요 신호입니다. 몇 개의 신호만 모니터링할 수 있다면 다음과 같이 시작하세요.
상태 및 프로세스 상태
mongot프로세스가 실행 중인지 여부. 다시 시작되는mongot는 트래픽을 제공할 수 없습니다. 충돌 루프는mongot가용성에 문제가 있음을 나타냅니다.건강이
SERVING상태에 도달했는지 여부. 시작되었지만 초기화가 완료되지 않은mongot은 쿼리에 응답할 수 없습니다.
쿼리 지연 시간
$search및$vectorSearch.Watch의 50백분위(p50) 및 99백분위(p99) 쿼리 지연 시간입니다.mongot배포서버는 저장 또는 메모리 부하에서 비선형적으로 성능이 저하되는 경향이 있으므로 p99 에 특별히 주의하세요. p99 는 p50 보다 먼저 문제를 표면화합니다.createSearchIndex,getSearchIndexes및$listSearchIndexes집계 단계와 같은 인덱스 관리 요청의 지연 시간입니다. 이러한 요청의 급증은mongot이 빠르거나mongod에서 접근할 수 없음을 나타냅니다.
복제 지연
mongod에서 마지막으로 적용된 변경 이벤트 시간. 이 신호는
mongot_index_stats_indexing_replicationLagMs(인덱스별, 밀리초) 로 직접 노출됩니다. 서브세컨드에서 세컨드까지의 작은 정상 상태 지연은 일반적입니다. 하지만 지연이 증가하면mongot이 지연을 겸로이지 못한다는 의미입니다. 지속된 지연은 결국 oplog에서 벗어나 다시 동기화를 강제합니다. 다시 동기화는 지연 자체보다 훨씬 더 나쁝니다. 인덱스를 완전히 다시 빌드해야 하기 때문입니다. 완전한 인덱스 다시 빌드는 계산 비용이 많이 들고 시간이 많이 소요됩니다.mongot_index_stats_*검색 인덱스별로 지표가 발생하며 적어도 하나의 인덱스가 존재해야만 표시됩니다. 인덱스가 없는 새 배포서버에서는 복제 지연 시리즈가 0이 아니라 없습니다. 이것은 정상입니다.
인덱싱 진행
인덱싱 작업 및 상태(
PENDING,BUILDING,READY,FAILED). 빌드가 지연되는 경우 리소스 고갈 또는 데이터 문제일 수 있습니다.처리량 병합. 병합은 배경 작업입니다. 병합이 지연되면 쿼리 지연 시간이 증가합니다.
실행자 푸린 포화
쿼리 실행기와 인덱싱 실행기의 큐 깊이. 지속적으로 0이 아닌 큐 깊이는 포화와 쿼리가 작업자 스레드를 기다리고 있음을 나타냅니다. 이는 지연 시간이 증가할 것이라는 조기 경고입니다.
JVM 헬스
가비지 컬렉션 후 힙 활용. 가비지 컬렉션 후 힙이 계속 85% 이상이면
OutOfMemoryError오류가 발생할 수 있습니다.가비지 컬렉션 일시 중지 시간. 긴 GC 일시 중지는 쿼리 지연 시간 급증으로 직접 연결됩니다.
저장 압력
장치의 안전 작동 점 위의 지속적인 디스크 IOPS는 저장이 병목이라는 지표입니다. 저장 클래스 권고 임계값은 1,000 지속적인 IOPS입니다. 자세한 내용은 모노고티를 위한 저장 클래스 권장 사항을 참조하세요.
페이지 오류 발생률. 1,000/s 이상의 지속되는 검색 페이지 오류는 OS가 캐시에서 제공하는 대신 디스크에서 인덱스 페이지를 계속 가져오고 있음을 나타냅니다. IOPS가 증가하면 이것이 중요 경로에 메모리 부하가 있다는 것을 나타내는 전형적인 신호입니다.
인덱스 볼륨의 자유 디스크 공간
mongot dataPath 볼륨에 자유 공간이 20% 미만이면 가용성 문제가 발생할 수 있습니다. 병합하려면 현재 인덱스 푸트프린트 이상의 디스크 공간이 필요할 수 있습니다. 볼륨 크기가 작으면 이로 인해 수동적 실패가 발생할 수 있습니다.
정상 신호
정상 상태의 건전한 mongot 배포에는 다음과 같은 신호가 있습니다.
프로세스가 실행 중이며 상태는
SERVING입니다.복제 지연은 일관되게 1초 미만입니다.
쿼리 p99 지연 시간은 여러 날 동안 안정적이며 증가하지 않습니다.
실행기 풀 큐 깊이는 지속적으로 0에 가까운 수준입니다.
JVM 게시 GC 힙은 구성된 최대치보다 훨씬 낮습니다.
인덱싱 작업이 예상 시간 내에 완료되고
READY에서 완료됩니다.알려진 무해한 메시지 이외에는 mongot 로그에 오류가 없습니다.
이 모든 조건이 청정하면 배포서버가 정상이라고 간주됩니다. 변동이 있는 경우 해당 페이지에서 더 깊은 지표를 확인하여 조사합니다.
Atlas 대 자체 관리형 개출성
Atlas 사용자는 다음과 같은 것을 보유합니다.
Atlas Search 지표 UI.
정제된 일정 세트의 임계값에 대한 MongoDB managed 경고.
Atlas는
mongotFTDC 및 로그에 대한 직접 액세스를 지원합니다.
자체 관리형 사용자는 다음과 같은 권한이 있습니다.
구성한 지표와 로그를
mongot에 내보냅니다.연결하는 경보 플랫폼입니다.
도움이 필요한 경우 FTDC 캡처 및 MongoDB 지원으로의 전송에 대한 책임을 집니다.
자체 관리형 사용자는 생산에 도입하기 전에 모니터링을 설정해야 합니다.