更新时间:2022-12-09 GMT+08:00
Java驱动连接实例失败,提示:Timeout while receiving message
问题描述
使用Java驱动程序连接DDS实例时报错,报错信息如下。
org.springframework.data.mongodb.UncategorizedMongoDbException: Timeout while receiving message; nested exception is com.mongodb.MongoSocketReadTimeoutException: Timeout while receiving message
可能原因
- 存在异常的慢查询占用实例资源,导致CPU使用率激增甚至达到峰值。
- 应用端连接池的配置错误导致连接数激增,达到了DDS实例可支持的最大连接数。
排查思路
- 检查是否存在异常的慢查询占用实例资源。
- 检查应用端连接池的配置是否存在错误。
处理方法
- 检查是否存在慢查询,建议添加索引进行优化。
- 检查客户业务端是否正确地使用了连接池。
- 调整DDS实例可支持的最大的连接数。
背景知识
根据购买的文档数据库实例规格不同,最大连接数也不同,当连接的客户端数量达到实例的最大连接数时,会拒绝新的客户端的请求连接。