최적화(2)
-
MongoDB 모니터링 명령어 ( currentOp )
0. currentOp 역할- 작업의 상태 모니터링 가능 - 현재실행 중인 작업 조회 가능 - 과도한 리소스를 작업 조회 가능 - 결과적으로 MongoDB의 성능 최적화에 도움 1. allUesrs : 시스템의 모든 사용자의 작업의 정보를 반환db.currentOp({allUsers: true}) 2. idleConnections : idle한 커넥션 정보 반환- idle 이란 : 해당 커넥션과 연결된 클라이언트가 아무런 요청을 하지 않고 대기한 상태 ( 대분의 커넥션은 작업 후, 해당 커넥션을 끊음 -> 하지만, 일부는 끊지 않고 유지 함 - 이 경우, 해당 작업을 종료 시킬지 말지 결정해야 함 db.currentOp({idleConnections: true}) 3. inprog : 기본 옵션으로 설정..
2023.03.29 -
mongodb에서 인덱스 안 걸린 실행 쿼리 찾기( currentOp, explain 사용 )
0. mongodb에서 인덱스의 중요성 몽고디비는 인덱스가 타 데이터베이스 대비 매우 중요하다고 생각한다. 막말로 인덱스가 없거나, 엉뚱한게 적용되어 있으면, 몽고디비는 조회 자체가 되지 않는다. 심지어 부하가 심한 쿼리의 경우, 디비의 전체적인 성능 저하를 만들어 낸다. 또한 대부분 mongodb가 적용된 프로젝트 중, 실패한 프로젝트의 공통점은 mongodb의 인덱스를 잘 적용하지 못해 실패한 경우가 많다. 따라서 몽고디비는 인덱스를 매우 신경써서 관리해야 하며, 지속적으로 mql ( 몽고디비 쿼리 )를 모니터링 해주어야 한다. 그래서 오늘은 운영 중에서 사용할 수 있는 mongodb에서 인덱스가 걸리지 않는 mql를 찾는 방법에 대해 알아보겠다. 1. 사용 방법 인덱스가 안걸린 mql를 찾는 방법은..
2023.03.28