이 기사는 원래 MongoDB에 출판되었습니다. itepoint를 가능한 한 itepoint를 지원하는 파트너에게 감사합니다.
키 포인트
단일 복제 세트의
장면 2
장면 3
쿼리 디스크에서 제공하는 방법?
WiredTiger Storage Engine은 자체 캐시를 실행합니다. 기본적으로 WiredTiger 캐시 크기는 시스템 메모리 마이너스 1GB의 50%로 다른 시스템 프로세스, 파일 시스템 캐시 및 추가 메모리를 사용하는 내부 MongoDB 작업 (예 : 메모리 정렬 수행, 중복 제거 결과, 텍스트 점수, 가입 처리 및 집계) 충분한 공간을 남겨 두십시오. 캐시 충만으로부터의 성능 저하를 방지하기 위해, 활용이 80%를 초과하면 WiredTiger는 자동으로 캐시에서 데이터를 배출하기 시작합니다. 테스트의 경우 유효한 캐시 크기가 (7634MB - 1024MB)*. 5*.8 또는 2644MB임을 의미합니다.
WiredTiger Storage Engine은 "Full Read"로 설계되었습니다. 한 번에 필요한 모든 데이터에 대한 읽기 요청이 발행됩니다. 이로 인해 WiredTiger 배포에 대한 디스크 사전 읽기 제한을 권장 할 수 있습니다.
작업 세트는 캐시
시나리오 2 및 시나리오 3에서 예상대로 디스크 성능 변경 (7 밀리 초의 대기 시간을 추가하고 IOP를 600 또는 150으로 제한)은 처리량 (각각 69, 579.5 및 70,252 작업/SEC)에 미치는 영향을 미칩니다.
이 메트릭은 WiredTiger 캐시에 평균 548Mbps를 읽었 음을 분명히 보여 주지만 파일 시스템 캐시 메트릭을 확인할 때는 99.9%의 적중률을 볼 수 있습니다.
이 경우 예상대로 디스크 성능 감소는 전체 처리량 (각각 64,484 및 64,229 작업)에 크게 영향을 미치지 않습니다. 문서가 압축하기 쉬운 경우 파일 시스템 캐시를 읽는 것에 대한 페널티는 더 분명하거나 CPU가 제한 요소 인 경우 더 분명합니다.
작업 세트는 WiredTiger 및 파일 시스템 캐시보다 약간 큽니다
작업 세트는 WiredTiger 및 파일 시스템 캐시보다 훨씬 큽니다
MongoDB의 메모리 및 디스크 성능에 대한 자주 묻는 질문
MongoDB는 메모리 관리를 위해 기본 운영 체제에 의존합니다. 메모리 매핑 파일 시스템을 사용하여 운영 체제의 가상 메모리 서브 시스템이 메모리의 데이터 세부 사항과 디스크 데이터의 데이터를 관리 할 수 있습니다. 이 접근법을 사용하면 MongoDB가 큰 데이터 세트를 효율적으로 처리 할 수 있지만 MongoDB의 메모리 사용량은 동일한 시스템에서 실행되는 다른 프로세스의 영향을받을 수 있음을 의미합니다.
MongoDB는 Write-Pre-Logs를 사용하여 데이터 무결성을 보장합니다. 데이터 파일을 변경하기 전에 먼저 로그에 기록됩니다. 이를 통해 MongoDB는 충돌 또는 정전에서 회복 할 수 있습니다. 그러나 로깅은 또한 디스크 I/O 작동을 증가시켜 성능에 영향을 줄 수 있습니다. 따라서 디스크 I/O 사용을 모니터링하고 필요한 경우 최적화하기위한 조치를 취하는 것이 중요합니다.
작업 세트는 WiredTiger 캐시보다 크지 만 파일 시스템 캐시에 여전히 적합합니다.
MongoDB는 디스크 공간 사용을 모니터링하는 몇 가지 도구를 제공합니다. DB.stats () 명령은 데이터 파일의 총 크기 및 인덱스를 포함하여 데이터베이스의 높은 수준의 개요를 제공합니다. db.collection.stats () 명령은 데이터 및 인덱스의 크기를 포함하여 특정 컬렉션에 대한 자세한 정보를 제공합니다. 또한 MongoDB Atlas (MongoDB가 제공하는 데이터베이스-서비스 제품)는 높은 디스크 공간 사용에 대한 경고를 포함하여 포괄적 인 모니터링 도구 세트를 제공합니다.
위 내용은 메모리 및 디스크 성능이 MongoDB 데이터베이스에 미치는 영향의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!