mongodb database profiler
데이터베이스 쿼리 및 성능 모니터링을위한 MongoDB 데이터베이스 프로파일 러에 대해 모두 알아보십시오.
이것에 에프 ree MongoDB 교육 시리즈 , 우리는 MongoDB 성능 이전 튜토리얼에서.
이 튜토리얼에서는 MongoDB Database Profiler에 대해 자세히 알아 봅니다.
데이터베이스 프로파일 러는 개별 데이터베이스 인스턴스에서 실행되는 쿼리에 대한 정보를 수집하는 데 사용됩니다.
엔터프라이즈 수준 응용 프로그램으로 작업 중이고 동시에 쿼리를 실행했다면 일부 쿼리에서 교착 상태에 직면해야 할 수 있습니다.
교착 상태 또는 모든 종류의 문제에 직면 한 쿼리를 식별하기 위해 프로파일 러라는 기능이 있습니다. MongoDB는 실행되는 개별 쿼리의 로그를 기록하는이 기능도 제공합니다. 이 로그는 구성 및 관리 제어와 함께 모든 crud 작업을 기록합니다.
기본적으로 모든 데이터는 system.profiles MongoDB 관리 인스턴스 내의 컬렉션.
프로파일 러는 기본적으로 높은 메모리 소비로 인해 비활성화됩니다. 쿼리에 대한 정보를 기록하는 프로파일 러에는 세 가지 수준이 있으며 MongoDB의 모든 인스턴스에서 모든 수준의 프로파일 러를 쉽게 설정할 수 있습니다.
학습 내용 :
- 데이터베이스에 대한 프로파일 링 활성화 및 구성
- 프로파일 링 수준 확인
- 프로파일 링 비활성화
- 오버 헤드 프로파일 러
- system.profile 기본 컬렉션의 크기 변경
- 결론
- 추천 도서
데이터베이스에 대한 프로파일 링 활성화 및 구성
데이터베이스 프로파일 러는 mongo 쉘의 도움으로 profile 명령에 의해 활성화됩니다. 프로파일 러를 활성화하여 쿼리 실행 기록을 기록 할 때마다 프로파일 링 수준을 언급해야합니다. 다음 코드의 도움으로 MongoDB에 대한 프로파일 링을 활성화 할 것입니다.
통사론
db.setProfilingLevel(LEVEL)
암호
db.setProfilingLevel(2)
그림 1 : Mongo Shell에서
그림 2 : Robo 3T에서
위 이미지에서 네 가지 결과가 있음을 알 수 있습니다. 첫 번째 필드에는 이전에 사용 된 프로필 수준이 표시되고 마지막 필드는 작업 성공을 나타냅니다.
프로파일 링 수준 확인
프로파일 러의 현재 수준을 미리 보려면 다음 코드를 사용해야합니다.
암호
db.getProfilingStatus()
현재 및 이전에 사용 된 프로파일 러 상태를 보여줍니다.
그림 3 : Mongo Shell에서
C # 기술 인터뷰 질문 및 답변
그림 4 : Robo 3T에서
- 였다 현재 프로파일 링 수준
- 둔화 필드는 작동 시간 제한 (밀리 초)을 보여줍니다.
- SampleRate 프로파일 링 할 느린 작업의 비율을 보여줍니다.
프로파일 러 수준 만 가져 오려면 mongo 셸에서 db.getProfilingLevel ()을 사용할 수 있습니다.
암호
db.getProfilingLevel()
그림 5 : Mongo Shell에서
그림 6 : Robo 3T
프로파일 링 비활성화
프로파일 러를 비활성화하려면 다음 코드를 사용하여 쿼리 실행 정보 로깅을 중지 할 수 있습니다.
암호
db.setProfilingLevel(0)
그림 7 : Mongo Shell에서
그림 8 : Robo 3T에서
오버 헤드 프로파일 러
쿼리 실행 기록을 로깅하거나 프로파일 러를 사용하는 경우 쿼리 실행 성능에 영향을 미칠 수 있습니다. 기본적으로 프로파일 러 컬렉션에는 정보를 저장하기위한 메모리로 1MB가 있습니다.
거대한 애플리케이션과 많은 트랜잭션 데이터가있는 경우 많은 정보를 프로파일 러로 저장하는 것이 오버 헤드가됩니다.
system.profile 기본 컬렉션의 크기 변경
system.profiles 콜렉션 크기를 변경하기 전에 다음을 수행해야합니다.
- 프로파일 링 비활성화
- 수집 system.profile을 삭제하십시오.
- new.profile 시스템 컬렉션 만들기
- 프로파일 링 재 활성화
암호
db.setProfilingLevel(0) db.system.profile.drop() db.createCollection( 'system.profile', { capped: true, size:4000000 } ) db.setProfilingLevel(1)
그림 9 : Mongo Shell에서
그림 10 : Robo 3T에서
3 년 경력의 셀레늄 인터뷰 질문
결론
MongoDB 데이터베이스 프로파일 러는 MongoDB 인스턴스 내에서 쿼리 및 성능을 모니터링하는 데 사용됩니다. 이전 자습서에서 설명한대로 다양한 수준의 프로파일 링에서 쿼리를 모니터링 할 수 있습니다.
이 자습서에서는 프로파일 링 수준을 전환하는 방법과 요구 사항에 따라이를 비활성화하는 방법을 성공적으로 배웠습니다. 프로파일 러 레코드를 저장하는 데 필요한 임계 값을 설정할 수도 있습니다.
다음 튜토리얼에서는 MongoDB에서 사용자 생성 및 역할 할당에 대해 설명합니다 !!
이전 튜토리얼 | NEXT 튜토리얼
추천 도서
- MongoDB 성능 : 잠금 성능, 페이지 오류 및 데이터베이스 프로파일 링
- MongoDB 데이터베이스 백업 생성
- MongoDB 데이터베이스 만들기 자습서
- JMeter를 사용한 데이터베이스 테스트
- MongoDB Sort () 메서드 (예제 포함)
- 초보자를위한 20 개 이상의 MongoDB 튜토리얼 : 무료 MongoDB 과정
- MongoDB의 사용자 인증
- MongoDB 복제 란?