2016-08-09 2 views
0

데이터베이스가 MongoDB에 설정되어 있고 다양한 쿼리에 대해 CPU 및 RAM 사용량을 계산하고 싶습니다.MongoDB에서 쿼리하는 동안 CPU/RAM 사용량을 측정하십시오.

저는 이것을하기 위해 psutil 라이브러리를 사용하려고합니다. 그러한 예가 하나 있습니다 :

process = psutil.Process(44083) # Got the pid of mongod running by ps aux | grep mongod 

mem_usage = process.memory_info()[0] 
cpu_usage = process.cpu_percent() 
print mem_usage, cpu_usage 

cursor = db.production.find({'key':value}) 

mem_usage = process.memory_info()[0] 
cpu_usage = process.cpu_percent() 
print mem_usage, cpu_usage 

원하는 측정 항목을 얻는 올바른 방법입니까?

+0

:

여기 몽고 문서에서 몇 가지 유용한 링크입니다. 쿼리가 실행되는 동안 실시간 통계를 볼 수 있습니다. – umair

답변

0

Datadog, ServerDensity, NewRelic과 같은 무료 도구 중 하나를 사용하는 것이 좋습니다. 그들에게는 무료 계획이 있고 몽고 통계도 수집 할 수 있습니다.

하지만 제어 할 필요가 없는데 왜 CPU와 메모리 사용량을 측정해야합니까?

필자는 적절한 스키마와 인덱스를 작성하고 그 사용법을 측정하는 데 중점을 둡니다. CPU 및 램은 오직 somethings going on 인디케이터입니다. 반면에 몽고 통계는 what이 진행되고 있다고 말할 수 있습니다. 난 당신이 이것에 대한 몽고 모니터링 도구를 사용하여 시도해야한다고 생각 https://docs.mongodb.com/manual/administration/monitoring/ https://docs.mongodb.com/manual/reference/command/serverStatus/

+0

무료 도구를 살펴 보겠습니다. 나는 CPU와 Mongo의 램 사용을 오라클과 비교하고 있었기 때문에 그 이유가 있습니다. –

+0

나는 그것이 비교할 수 없다고 생각하지 않는다. 내 벤치마킹, 데이터 크기, 인덱스 크기 및 쿼리 응답 시간을 할 내 시도하십시오. 다른 데이터베이스 간의 비교를 살펴보면, 사용 된 CPU가 아닌 초당 비활성 등의 지표를 비교합니다. – spinache

관련 문제