Mongo踩坑实录

1.更新数据时,js脚本中没有指定数据类型,int数据被更新成了double,导致线上问题。

原因,js是弱类型,更新mongo是需要指定数据类型为Number

2.mongodump 执行的查询不是js脚本,没法执行负责查询结果后dump,建议直接js脚本,使用mongo命令执行

3.mongo连接数高

标准:如果qps<100, ,mongos连接数超过2000,肯定是高了

原因:

连接池配置不合理

应用服务器实例过多

解决:

总结一下,连接数高分为几个场景:

应用服务器实例过多,可统计每个实例建立的连接数,适当调低连接池参数。进一步搭建proxy代理

mongos连接数高,这种就是配置的问题,更改连接池参数。

mongos连接数不高,mongod连接数比较高,如超过5000,如果连接池配置合理还比较高的话,尝试启用releaseConnectionsAfterResponse参数

你可能感兴趣的:(Mongo踩坑实录)