You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GeoServer Image Mosaics查询PostGIS索引表超出最大连接数问题咨询

问题分析与解决方案

现象判定

该现象不属于正常行为,本质是ImageMosaic默认JDBC连接池未开启空闲连接回收导致的连接泄漏问题,并非你的配置错误或理解偏差。

超量连接产生原因

  • datastore.properties默认maxConnections=10的限制是单ImageMosaic连接池的理论上限,默认参数下未启用空闲连接回收机制,长期运行下会出现连接计数超配、空闲连接长期不释放的问题
  • 你观察到的数小时空闲的连接,是因为默认配置下timeBetweenEvictionRunsMillis参数值为-1,即关闭了空闲连接回收线程,空闲连接就算长期无请求也不会被主动释放,并发请求累积后就会突破单mosaic的10连接限制,最终打满PostgreSQL的100连接上限

修复方案

方案1:修改datastore.properties配置(优先级更高,改造成本最低)

每个ImageMosaic对应的datastore.properties文件都追加以下连接池参数即可:

# 最大连接数可根据实际业务并发调整,两个mosaic总连接数建议不超过PostgreSQL max_connections的70%
maxConnections=10
# 每30秒运行一次空闲连接回收任务
timeBetweenEvictionRunsMillis=30000
# 连接空闲超过5分钟即被回收
minEvictableIdleTimeMillis=300000
# 每次回收任务检测全部空闲连接
numTestsPerEvictionRun=10
# 获取连接时校验有效性,避免拿到失效连接
testOnBorrow=true
# 连接校验SQL
validationQuery=SELECT 1

方案2:改用JNDI全局连接池

该方案可以彻底解决多ImageMosaic各自维护连接池导致的连接数叠加超量问题:所有ImageMosaic共用同一个全局连接池,可统一管控总连接数上限,也能统一配置空闲回收、连接校验等策略,适合多mosaic、多PostGIS数据源的场景,完全可以解决你当前的问题。


内容的提问来源于stack exchange,提问作者J.B.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:54:05