当前位置: 首页 > 知识库问答 >
问题:

只记录慢速查询mongodb

訾安邦
2023-03-14

我试图在mongodb日志文件中只记录慢速查询(执行时间超过10秒)。

我在运行蒙戈作为

mongod --fork --quiet -v --logpath /home/logs/mongod.log --logRotate reopen --logappend

并将分析设置为

db.setProfilingLevel(1, 10000)

但是当跟踪日志文件时,它会打印所有的查询。我可以看到很多查询,它的运行时间为0ms。我还需要添加什么来只获得慢速查询吗?

共有1个答案

明宜年
2023-03-14

在MongoDB上,有两个选项可以只记录超过指定阈值的慢速调用:

>

  • 在mongod.conf上传递这些配置:检查这些参数
  • 在命令行中使用以下参数启动mongod:

    a.--profile(0=关闭1=缓慢,2=全部)

    这将只记录那些执行时间超过指定slowms阈值的慢速调用

  •  类似资料:
    • 问题内容: 我正在使用Google BigQuery,并且正在从PHP执行一些简单的查询。(例如,从电子邮件中的SELECT * WHERE email='mail@test.com‘)我只是在检查表中是否存在该电子邮件。 表“电子邮件”目前为空。但是,PHP脚本仍然需要大约4分钟的时间来检查一个空表上的175封电子邮件。.如我希望将来该表将被填充,并且将有500 000封邮件,那么我想请求时间会

    • `public class Main{private static Connection connect=null;private static Statement PreparedStatement=null;private static ResultSet ResultSet=null;

    • 问题内容: 我有一张表: 如果为is ,则表示该用户当前具有该计划。 我想查询的是:(a)他当前正在使用的计划,或(b)他所参与的最新计划。对于每个给定的用户,我只需要返回一行。 现在,我设法通过使用联合和子查询做到了这一点,但是碰巧表很大,而且效率不高。你们中的每个人都可以有一种更快的查询方式吗? 谢谢, [编辑]多数答案在这里返回单个值。那是我的坏事。我的意思是为每个用户返回一个值,但一次返回

    • 与RDBMS类似,OrientDB支持不同类型的SQL查询以从数据库检索记录。 在检索记录时,我们有不同的变体或查询选项以及select语句。 以下语句是命令的基本语法。 以下是有关上述语法中选项的详细信息。 - 表示想从查询中提取的数据作为结果记录集。 - 表示要查询的对象。 这可以是一个类,群集,单个记录标识,一组记录标识。可以将所有这些对象指定为目标。 - 指定过滤结果集的条件。 - 表示在

    • 问题内容: 我有以下查询: 目前,此查询大约需要93分钟才能完成。我想找到使它更快一点的方法。 该表大约有506,000行,其中大约490,000行包含的值,因此我怀疑我是否可以利用此处的任何索引。 该表(未压缩时)中包含约46 gigs的数据,但是该数据的大部分位于名为的文本字段中。我相信简单地加载和卸载许多页面会导致速度下降。一个想法是做一个新表 只是 在和现场,并保持尽可能小。但是,测试该理

    • 问题内容: 这是查询(最大的表约有40,000行) 如果运行此命令,它将很快执行(大约.05秒)。它返回13行。 当我在查询末尾添加一个子句(按任意列排序)时,查询大约需要10秒钟。 我现在正在生产中使用此数据库,并且一切正常。我所有其他查询都很快。 有什么想法吗?我在MySQL的查询浏览器中并从命令行运行了查询。两个地方都死了。 编辑: Tolgahan ALBAYRAK解决方案有效,但是谁能解