数据库连接池

从空间数据库提供数据时 连接池 是实现良好绩效的一个重要方面。当geoserver为涉及从数据库表加载数据的请求提供服务时,必须首先与数据库建立连接。这种连接需要花费一定的成本,因为建立这样的连接需要时间。

连接池的作用是维护请求之间与基础数据库的连接。这样做的好处是,连接设置只需要在第一次请求时进行一次。随后的请求使用现有的连接,从而获得性能优势。

每当数据库支持的数据存储添加到geoserver时,都会创建一个内部连接池。此连接池是可配置的。

连接池选项

最大连接数

池可以容纳的最大连接数。当超过最大连接数时,需要数据库连接的其他请求将停止,直到来自池的连接可用。最大连接数限制了可以对数据库发出的并发请求数。

最小连接数

池将保持的最小连接数。即使没有活动的请求,也会保持此数量的连接。当由于服务请求而超过此连接数时,将打开其他连接,直到池达到其最大大小(如上所述)。

验证连接

指示是否应在使用池连接之前对其进行验证的标志。池中的连接可能由于许多原因而失效,包括网络故障、数据库服务器超时等。设置此标志的好处是永远不会使用无效的连接,这可以防止客户端错误。设置该标志的缺点是为了验证连接而支付性能惩罚。

提取大小

在每个网络交换中从数据库读取的记录数。如果设置得太低(<50),网络延迟将对性能产生负面影响,如果设置得太高,可能会消耗大量的geoserver内存,并将其推向 Out Of Memory 错误。默认值为1000。

连接超时

时间,以秒为单位,连接池将在放弃尝试从数据库获取新连接之前等待。默认为20秒。

空闲时测试

定期测试连接在池中空闲时是否仍然有效。有时使用空闲连接执行测试查询会使数据存储暂时不可用。这种麻烦行为的原因通常与地理服务器和数据库之间的网络防火墙有关,后者强制关闭底层空闲的TCP连接。

逐行符运行周期性

空闲对象收回器运行之间的秒数。

最大连接空闲时间

在Evictor开始考虑关闭连接之前,连接需要保持空闲的秒数。

每次运行的Evictor测试

空闲连接收回器为其每次运行检查的连接数。