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
hheedat
V2EX  ›  MongoDB

Mongo 能从主节点轻松查到,备份节点却查超时

  •  
  •   hheedat · Nov 3, 2017 · 3645 views
    This topic created in 3097 days ago, the information mentioned may be changed or developed.
    host 	insert query update delete getmore command dirty  used flushes vsize   res qrw arw net_in net_out conn        set repl                time
    *:27017     31     2     14     *0      45   137|0  0.9% 80.0%       0 29.2G 23.7G 0|0 0|0  69.7k    134k  992 foo  PRI Nov  2 23:55:38.713
    *:27017    *17    88    *19     *0       0    17|0  0.8% 80.1%       0 29.2G 22.9G 0|0 1|0  15.3k   1.66m  988 foo  SEC Nov  2 23:55:38.727
    

    类似这样一段 PHP 代码,复制集中都有这些数据,也都建了索引,主节点可以轻松查到,备份节点总是超时

    
    $secondary = false;//修改这个值做的测试,如果是 true,则优先从 SEC 中查
    $result = $dao->getRecords([
        'createAt' => [
            '$gte' => MongoUtil::getMongoDate(1509547347000),
            '$lte' => MongoUtil::getMongoDate(1509633747000),
        ],
        'a'        => 0,
        'b'        => 1,
        'c'        => ['$in' => [2]],
        'd'        => 3,
        'e'        => ['$ne' => 4],
    ], ['_id', 'foo'], ['_id' => -1], 300, $secondary);
    
    

    把上述 PHP 代码翻译成 JS 在 Mongo Shell 中执行,主节备份节点都可以轻松查到

    机器、配置都是一样的,这是啥原因,怎么破?

    1 replies    2017-11-03 10:40:27 +08:00
    okletswin
        1
    okletswin  
       Nov 3, 2017
    节点运行正常,那就是连接地址不通
    要么是系统网络层问题
    要么是 php 连接地址问题
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   833 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 21:10 · PVG 05:10 · LAX 14:10 · JFK 17:10
    ♥ Do have faith in what you're doing.