MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB Jak uzyskać wszystkie AKTUALNIE otwarte kursory i zapytania, które uruchamiają?

MongoDB ma polecenie 'currentOp', które zawiera bieżące operacje (w ogólności nie tylko otwarte kursory). Wynikiem jest tablica wartości „inprog”. Masz identyfikator wątku operacji, a nie identyfikator kursora, ale bardzo przydatne jest badanie ciężkich operacji lub tych, które działają od dłuższego czasu. Nie jest to idealnie to, czego chcesz, ale myślę, że możesz napisać mały program, który analizuj czas trwania operacji, aby zidentyfikować, które z nich były uruchomione przez określony czas.

Spójrz na przykład mojej bazy danych agregacji, którą uruchamiam tylko w celach testowych, ukryję niektóre dane, ponieważ w naszym przypadku jest to bardzo rozsądne :)

"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
                    }
                }
            ]

Po prostu umieść wynik w zmiennej:

currentOps = db.currentOp()

i używaj go jako zwykłego json lub napisz mały program, który iteruje tablicę currentOps.inprog i sprawdza, czy secs_running> coś

Mam nadzieję, że to pomoże.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Wymuś typ danych pól?

  2. MongoDB c# sterownik:bez rozróżniania wielkości liter Porównaj używając in lub zawiera na liście używając linq

  3. Dlaczego wydajność Mongodb jest lepsza w systemie Linux niż w systemie Windows?

  4. Filtrowanie YearMonth z dokumentu Mongo

  5. Spójność odczytu własnego zapisu w Mongodb