我在(Intel Xeon 8 core 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 左右几分钟,这使脚本超时。
可以在同一台机器上添加一个副本集成员(我没有更多的物理服务器)对我有帮助吗?我想将读取首选项设置为指向辅助成员,以便主实例上的写入不会阻止读取。