새소식

반응형
MongoDB/성능

MongoDB 성능 개선을 위한 점검 (DB 프로파일링 / db.setProfilingLevel)

  • -
반응형

⚠️ 성능에 영향을 주는 쿼리를 확인하기 위한 용도일뿐, 이 자체로 성능을 개선하는 것과는 무관합니다.

(오히려 프로파일링 활성화 모드일때 성능을 더 잡아먹음. 프로파일링 완료 후 반드시 프로파일링 비활성화를 해야 함)


프로파일링 활성화

mongo db 접속 및 해당 database 접근 후 사용.

2개 중에 편한 방법을 이용하여 활성화할 수 있다.

 

1. mongosh(mongoshell) 을 통한 사용 시

# mongosh 접속
mongosh
# admin db 접근
use admin
# db 권한 접속
db.auth('사용자명','비밀번호')
# 프로파일링할 db 사용: platform db 예시
use platform
# 프로파일링 활성화: 예시: 레벨 1, slowms 느린쿼리 임계치를 의미. 즉 100ms 를 초과하는 쿼리에 대해 프로파일링 한다는 뜻
db.setProfilingLevel(1, { slowms: 100 });

 

2. studio3T를 통한 사용

사용할 데이터베이스로 접근해서 아무 컬렉션이나 조회 실행

⚠️ 반드시 admin 데이터베이스가 아닌 사용하는 데이터베이스(safety)로 접근 후에 실행하여야 함

3t에서 쿼리문 사용

intelliShell에서 기존의 조회 쿼리문을 삭제하고 아래의 쿼리문을 실행

db.setProfilingLevel(1, { slowms: 100 });
반응형

프로파일링 비활성화 및 데이터 삭제

  • 프로파일링 비활성화

       해당 데이터베이스(safety)에서 해당 쿼리문 실행

# 프로파일링 레벨을 0으로 하면 비활성화가 됨
db.setProfilingLevel(0);
  • 프로파일링 데이터 삭제

       프로파일링 비활성화 상태에서만 데이터 삭제가 가능합니다.

# 프로파일링 비활성화를 먼저 수행 후에 실행할 것!
db.system.profile.drop();
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.