线上报表查询
大量数据执行聚合操作,导致CPU爆了

1来尽量避免大批量的数据操作,2来考虑如何限制长时间的查询

针对长时间的查询,可通过maxTimeMS来限制,超出时间服务器主动终止查询,默认0,不限制

参阅:

巧用 maxTimeMS 服务端超时,避免承载亿级用户的腾讯云数据库MongoDB服务雪崩

Mongodb 中文文档 - cursor.maxTimeMS() | Docs4dev

aggregate — MongoDB Manual

mongodb驱动:

Connect via Your Application — MongoDB Atlas

Cursor Methods — MongoDB Manual

Connection Options — Java Sync

ConnectionString (driver-core 4.7.0 API)

Connection String URI Format — MongoDB Manual

mongodb 2.7.3的sockettimeout配置该怎么写? - H5W3

socketTimeout:默认0不限制,可设置获取数据超时客户端主动断开连接

驱动方面的socketTimeout是绝对不应该使用的参数,虽然从客户端看是连接断开了,但在服务器端可能因为收不到FIN而长期保持连接而造成资源泄漏。应该使用的配置是maxTimeMS

MongDB连接池参数serverSelectionTimeout、connectTimeout、maxWaitTime和socketTimeout介绍_pursuer211的博客-CSDN博客_connecttimeout mongo

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐