我在(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首选项设置为指向辅助成员,以便主实例上的写操作不会阻止读取。