Resolução de problemas de desempenho do MongoDB

1

Eu tenho um pequeno conjunto de réplicas do MongoDB (2.4.6) e parece que uma vez por semana, o primário fica atolado e a média de carga aumenta. Este aplicativo não vê uma quantidade enorme de tráfego. Ele reside no EC2 e é um M1.medium (1 cpu, 3,7 GB de RAM).

  • Temos o MMS instalado e os opcounters nunca ultrapassam 25 a 30.
  • As falhas de página são insanamente pequenas (0,002 a 0,003).
  • Não há enfileiramento.
  • A média de carga geralmente fica abaixo de 1, mas quando ocorrem esses picos, a média é de 2 a 4.
  • As consultas estão sendo exibidas de 500 a 1700 ms.
  • Não há atraso de replicação.

Quando corro o log, vejo isso:

Mon Mar 17 17:16:48.342 [conn62561] warning: ClientCursor::yield can't unlock b/c of recursive lock ns: db_name.jobs top: { opid: 2507609, active: true, secs_running: 0, op: "query", ns: "db_name", query: { findandmodify: "jobs", query: { status: "queued", queue: "upload_hostname" }, sort: { enqueued: 1 }, new: 1, remove: 0, upsert: 0, update: { $set: { status: "dequeued", dequeued: new Date(1395076608340) } } }, client: "10.50.101.10:38766", desc: "conn62561", threadId: "0x7ff2d3772700", connectionId: 62561, locks: { ^: "w", ^db_name: "W" }, waitingForLock: false, numYields: 0, lockStats: { timeLockedMicros: {}, timeAcquiringMicros: { r: 0, w: 4 } } } 

Me deparei com este link , no entanto, sou novo no Mongo.

Esse problema só começou a ocorrer recentemente e temos apenas um determinado número de usuários que se conectariam. Estou procurando orientação para encontrar a causa. Eu também corri db.collection.find (). Explain () e isso foi retornado:

"cursor" : "BasicCursor",
"isMultiKey" : false,
"n" : 505,
"nscannedObjects" : 505,
"nscanned" : 505,
"nscannedObjectsAllPlans" : 505,
"nscannedAllPlans" : 505,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 0,
"indexBounds" : {

},
"server" : "hostname:27017"

Podemos precisar apenas aumentar o tamanho do servidor, mas gostaríamos de tentar descobrir o que está causando o pico uma vez por semana.

    
por nocode 17.03.2014 / 18:27

0 respostas