MongoDB副本设置在一台机器上以获得更好的读取?

时间:2013-03-30 14:42:03

标签: mongodb replication

我在(Intel Xeon 8核心2.1 Ghz,32 GB RAM)服务器上运行了一个mongod(2.0.2)。以下是来自mongostat(平常平静的一天)的一些样本统计数据:

insert  query update delete getmore command flushes mapped  vsize    res faults locked % idx miss %     qr|qw   ar|aw  netIn netOut  conn repl       time
 0    186      3      0       0       5       0  42.6g  87.8g  22.6g      2      0.8          0       0|0     0|0    35k     1m   319    M   20:36:00
 0    177      3      0       0       4       0  42.6g  87.8g  22.5g      2      0.7          0       0|0     0|0    28k   993k   319    M   20:36:30
 0    181      3      0       0       3       0  42.6g  87.8g  22.6g      1      0.6          0       0|0     0|1    28k   878k   319    M   20:37:00
 0    177      4      0       0       4       0  42.6g  87.8g  22.6g      2      0.7          0       0|0     0|0    31k   851k   319    M   20:37:30
 0    171      2      0       0       3       0  42.6g  87.8g  22.6g      2      0.4          0       0|0     1|0    25k   912k   319    M   20:38:00
 0    133      1      0       0       3       0  42.6g  87.8g  22.5g      0      0.3          0       0|0     0|0    20k   673k   319    M   20:38:30
 0    180      3      0       0       4       0  42.6g  87.8g  22.5g      1      0.6          0       0|0     1|0    29k   890k   319    M   20:39:00

但有时当有500-600个用户在线时(我在Mongo中存储访问计数器,所以当访问者来时有很多更新)查询跳跃到每秒500左右并且读取队列快速增长并保持在40左右-50几分钟,这使脚本超时。

可以在同一台机器上添加副本集成员(我没有更多物理服务器)可以帮助我吗?我想将read首选项设置为指向辅助成员,以便主实例上的写操作不会阻止读取。

0 个答案:

没有答案