mongodb慢查询-创新互联

开启 Profiling 功能

从事服务器主机托管,服务器租用,云主机,雅安服务器托管域名注册,CDN,网络代维等服务。

1. 直接在启动参数里直接进行设置

   启动MongoDB时加上–profile=1 即可

   还可以慢查询时间(即大于多少时间被记入慢查询)--slowms 200

2. 可以通过db.getProfilingLevel()命令来获取当前的Profile级别

    db.getProfilingLevel()

        0 – 不开启

     1 – 记录慢命令 (默认为>100ms)

     2 – 记录所有命令

    db.setProfilingLevel( level , slowms )

db.setProfilingLevel( 1 , 10 );

3.查询慢查询记录

    db.system.profile.find()

        列出执行时间长于某一限度(5ms)的 Profile 记录:

        > db.system.profile.find( { millis : { $gt : 5 } } )

4.慢查询参数详解

ts-该命令在何时执行.

millis Time-该命令执行耗时,以毫秒记.

info-本命令的详细信息.

query-表明这是一个query查询操作.

ntoreturn-本次查询客户端要求返回的记录数.比如, findOne()命令执行时 ntoreturn 为 1.有limit(n) 条件时ntoreturn为n.

query-具体的查询条件(如x>3).

nscanned-本次查询扫描的记录数.

reslen-返回结果集的大小.

nreturned-本次查询实际返回的结果集.

update-表明这是一个update更新操作.

fastmod-Indicates a fast modify operation. See Updates. These operations are normally quite fast.

fastmodinsert – indicates a fast modify operation that performed an upsert.

upsert-表明update的upsert参数为true.此参数的功能是如果update的记录不存在,则用update的条件insert一条记录.

moved-表明本次update是否移动了硬盘上的数据,如果新记录比原记录短,通常不会移动当前记录,如果新记录比原记录长,那么可能会移动记录到其它位置,这时候会导致相关索引的更新.磁盘操作更多,加上索引更新,会使得这样的操作比较慢.

insert-这是一个insert插入操作.

getmore-这是一个getmore 操作,getmore通常发生在结果集比较大的查询时,第一个query返回了部分结果,后续的结果是通过getmore来获取的。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:mongodb慢查询-创新互联
文章源于:http://scyanting.com/article/dpshdc.html