mongo大数据量更新服务端超时解决: Cursor not found, cursor id: 82792803897

Posted 渔阳nice

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongo大数据量更新服务端超时解决: Cursor not found, cursor id: 82792803897相关的知识,希望对你有一定的参考价值。

 

  默认 mongo server维护连接的时间窗口是十分钟

  默认 单次从 server获取数据是101条或者 大于1M小于16M的数据

  所以默认情况下,如果10分钟内未能处理完数据,则抛出该异常。

 

  解决办法:

  1. 修改每批次获取数据量的条数,即batch size:

  collection.find(condition).batch_size(5)

  批量数需 估算十分钟内能处理的数据量

 

  2. 延长超时时间 需显示的关闭cursor

    db.getCollection("unicom_jd").find({}).noCursorTimeout()

以上是关于mongo大数据量更新服务端超时解决: Cursor not found, cursor id: 82792803897的主要内容,如果未能解决你的问题,请参考以下文章

分布式下引发的并发问题

WebSocket客户端接收大数据量数据效率慢问题解决

基于后端生成大文件导出所产生oom问题的思考

mongo大数据量查询优化

Mongo更新速度超慢

HTTP超时问题