Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 有类似于“的东西吗?”;maxQueryTime;?如果是,那么如何设置mongo maxQueryTime?_Mongodb - Fatal编程技术网

Mongodb 有类似于“的东西吗?”;maxQueryTime;?如果是,那么如何设置mongo maxQueryTime?

Mongodb 有类似于“的东西吗?”;maxQueryTime;?如果是,那么如何设置mongo maxQueryTime?,mongodb,Mongodb,mongo服务器上的性能下降,所以为了调试它,我们尝试了 db.currentOp({ "active" : true, "secs_running" : { "$gt" : 1 }}) 检查当前操作需要1秒以上的时间,发现有2个以上的查询运行了500秒以上。到目前为止,我们无法控制正在查询的源。所以,我们所做的就是用我们的方法杀死那些行动 db.killOp() 现在,有没有一种方法可以让我自动删除那些超过x秒的查询,一旦它们完成并执行了x秒的响应 注意:-无法编辑查询,希望它位于mong

mongo服务器上的性能下降,所以为了调试它,我们尝试了

db.currentOp({ "active" : true, "secs_running" : { "$gt" : 1 }})
检查当前操作需要1秒以上的时间,发现有2个以上的查询运行了500秒以上。到目前为止,我们无法控制正在查询的源。所以,我们所做的就是用我们的方法杀死那些行动

db.killOp()
现在,有没有一种方法可以让我自动删除那些超过x秒的查询,一旦它们完成并执行了x秒的响应

注意:-无法编辑查询,希望它位于mongod配置文件中。

您可以在mongod级别设置,以便它适用于所有查询。默认值为10分钟(!)

同时,可以运行脚本自动终止查询

为可读性而格式化:

while(true) { 
  var data = db.currentOp({ "active" : true, "secs_running" : { "$gt" : 1 }})["inprog"]; 

  for(var i = 0; i < data.length; i ++) { 
    var operation = data[i]; 
    print("Killing " + operation.opid); db.killOp(operation.opid); 
  }

  sleep(500); 
}
while(true){
var data=db.currentOp({“active”:true,“secs_running”:{“$gt”:1}})[“inprog”];
对于(var i=0;i
为shell格式化:

while(true) { var data = db.currentOp({ "active" : true, "secs_running" : { "$gt" : 1 }})["inprog"]; for(var i = 0; i < data.length; i ++) { var operation = data[i]; print("Killing " + operation.opid); db.killOp(operation.opid); }  sleep(500); }
while(true){var data=db.currentOp({“active”:true,“secs_running”){“$gt”:1}}][“inprog”];for(var i=0;i
您可以在mongod级别设置,使其适用于所有查询。默认值为10分钟(!)

同时,可以运行脚本自动终止查询

为可读性而格式化:

while(true) { 
  var data = db.currentOp({ "active" : true, "secs_running" : { "$gt" : 1 }})["inprog"]; 

  for(var i = 0; i < data.length; i ++) { 
    var operation = data[i]; 
    print("Killing " + operation.opid); db.killOp(operation.opid); 
  }

  sleep(500); 
}
while(true){
var data=db.currentOp({“active”:true,“secs_running”:{“$gt”:1}})[“inprog”];
对于(var i=0;i
为shell格式化:

while(true) { var data = db.currentOp({ "active" : true, "secs_running" : { "$gt" : 1 }})["inprog"]; for(var i = 0; i < data.length; i ++) { var operation = data[i]; print("Killing " + operation.opid); db.killOp(operation.opid); }  sleep(500); }
while(true){var data=db.currentOp({“active”:true,“secs_running”){“$gt”:1}}][“inprog”];for(var i=0;i
dude,在发布此问题之前,已经检查过了,这是基于光标的,意味着我必须手动将其添加到每个查询中,我希望它包含在配置中,包含maxConnectionLimit和其他配置变量。看起来不像:dude,已经检查过了,在发布此问题之前,这是基于游标的,这意味着我必须手动将其添加到每个查询中,我希望它包含在配置中,以及maxConnectionLimit和其他配置变量中。看起来不像:太好了,谢谢你的帮助,这就是我要找的。太好了,谢谢你的帮助,这就是我要找的。