MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB Làm cách nào để nhận được tất cả các con trỏ đang mở HIỆN TẠI và các truy vấn mà chúng đang chạy?

MongoDB có một lệnh 'currentOp' chứa các hoạt động hiện tại (nói chung, không chỉ các con trỏ đang mở). Kết quả là một mảng các giá trị "inprog". Bạn có id luồng của thao tác, không phải id con trỏ nhưng nó rất hữu ích để điều tra các thao tác nặng hoặc những thao tác đã chạy trong một thời gian dài. phân tích thời gian chạy các hoạt động để xác định cái nào đã chạy trong một khoảng thời gian nhất định.

Hãy xem ví dụ về cơ sở dữ liệu của tôi về một tập hợp mà tôi chạy chỉ cho mục đích thử nghiệm, tôi sẽ ẩn một số dữ liệu vì nó rất hợp lý trong trường hợp của chúng tôi :)

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

Chỉ cần đặt kết quả vào một biến:

currentOps = db.currentOp()

và sử dụng nó như một json thông thường hoặc viết một chương trình nhỏ lặp lại mảng currentOps.inprog và kiểm tra secs_running> something

Tôi hy vọng nó sẽ hữu ích.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kết nối với Kubernetes mongo db trong các không gian tên khác nhau

  2. mongoose findOne function return undefine

  3. Cần tìm giá trị xuất hiện thường xuyên nhất của một trường trong một tổng thể

  4. Không thể nhận allowDiskUse:Đúng để làm việc với pymongo

  5. Hướng dẫn dành cho nhà phát triển về MongoDB Sharding