MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB Как да получим всички ТЕКУЩИ отворени курсори и заявките, които изпълняват?

MongoDB има команда 'currentOp', която съдържа текущи операции (като цяло, не само отворени курсори). Резултатът е масив от стойности "inprog". Имате идентификатора на нишката на операцията, а не идентификатора на курсора, но е много полезно да изследвате тежки операции или такива, които се изпълняват от дълго време. Не е точно това, което искате, но мисля, че можете да напишете малка програма, която анализира времето на изпълнение на операции, за да идентифицира коя от тях се изпълнява за определен период от време.

Вижте пример за моята база данни на агрегат, който изпълнявам само за целите на тестването, ще скрия някои данни, защото е много разумно в нашия случай :)

"inprog" : [
    {
        "opid" : 74074645,
        "active" : true,
        "secs_running" : 2,
        "op" : "query",
        "ns" : "mydb.Terms.ByHour",
        "query" : {
            "aggregate" : "Terms.ByHour",
            "pipeline" : [
                {
                    "$match" : {
                        "cluster" : "my_key",
                        "start" : {
                            "$gte" : ISODate("2013-11-10T00:00:00Z"),
                            "$lte" : ISODate("2013-11-11T00:00:00Z")
                        }
                    }
                },
                {
                    "$group" : {
                        "_id" : "$start",
                        "count" : {
                            "$sum" : "$count"
                        }
                    }
                },
                {
                    "$sort" : {
                        "_id" : 1
                    }
                }
            ]

Просто поставете резултата в променлива:

currentOps = db.currentOp()

и го използвайте като обикновен json или напишете малка програма, която итерира масива currentOps.inprog и проверява за secs_running> нещо

Надявам се да помогне.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да настроя времето за изчакване на връзката с MongoClient?

  2. Не може да се свърже с Mongo DB чрез Spark

  3. Редактирането в mongodb ми се струва неясно

  4. Как да кодирам MongoDB foreach Query в PHP

  5. Как да използвате десетичен тип в MongoDB