V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
JCZ2MkKb5S8ZX9pq
V2EX  ›  MongoDB

用了一阵子 mongodb,有几个困扰我的问题。

  •  
  •   JCZ2MkKb5S8ZX9pq · Jun 11, 2018 · 4493 views
    This topic created in 2883 days ago, the information mentioned may be changed or developed.

    主要做爬虫和数据分析。选 mongo 是因为 mongo 比较灵活,而爬虫经常会碰到些意外或者结构变化等等,前期直接 json 进去比较方便。当然数据清洗也是会做的。

    副本集问题

    现在 mongo 主要是扔在一台 MBA 上跑,然后为了保险,在家里的 PC 上加了个副本,Arbiter 在 MBA 上。
    这样出去演示啥的,光带个 MBA 也跑得起来。
    现在我的问题是,如果我再加一台电脑,想让:

    1. 家里的 A 电脑一直跑爬虫不要停。
    2. 另一台 B 电脑在家的时候可以同步数据库,出门的时候可以演示。

    有没有实现的方法?


    CPU 占用问题

    mongod 的 CPU 最近占用经常跑满,这是常态吗?
    我大概有四五个爬虫同时在跑,但都是单程的网络 IO 而已。有办法查看 mongod 具体是啥占的 CPU 嘛?


    升级

    开始用的时候是 3.2 版本的,现在好像已经到 3.6 了,有必要升级吗?


    空间占用

    目前比较大的那个 DB 大概 40G+。
    基本的字段类型优化,结构优化,都已经做过了。
    除了分片,有啥别的瘦身方法嘛?


    PS:身边用 mongodb 的真的很少啊😂

    4 replies    2018-06-29 02:24:42 +08:00
    Leigg
        1
    Leigg  
       Jun 11, 2018 via iPhone
    mongo 一般都是随意数据量增加占用内存增加,cpu 跑满到是挺少见,你看看不启动数据库占用情况怎样的,如果确实是 mongo 导致的 cpu 跑满的话,那你需要调一下 db 的配置。
    Leigg
        2
    Leigg  
       Jun 11, 2018 via iPhone
    另外你还可以了解一下 mongo 的慢查询,可以判断具体是不是有什么操作导致了 db 线程阻塞,这也会导致 cpu 占用暴涨
    JCZ2MkKb5S8ZX9pq
        3
    JCZ2MkKb5S8ZX9pq  
    OP
       Jun 11, 2018
    @Leigg 下午刚排查了 index,貌似都启用了。
    而且不启用的话根本慢得没法用……
    不过你说得挺对,我等下重启下,逐个开启爬虫观察看看。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   755 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:51 · PVG 04:51 · LAX 13:51 · JFK 16:51
    ♥ Do have faith in what you're doing.