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 中执行,主节备份节点都可以轻松查到
机器、配置都是一样的,这是啥原因,怎么破?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.