tomcat连接池有一个名为maxActive的设置和一个名为maxIdle的设置,我的问题是。
由于某种原因,这些文档对我来说没有意义。根据http://tomcat.apache.org/tomcat-7.0-doc/jdbc- pool.html上的文档,apache dbcp和tomact 7 jdbc-pool上都存在maxActive和maxIdle
maxActive(int)可以同时从此池分配的最大活动连接数。默认值为100 maxIdle(int)始终应保留在池中的最大连接数。默认值为maxActive:100定期检查空闲连接(如果启用),并且空闲时间超过minEvictableIdleTimeMillis的连接将被释放。(另请参见testWhileIdle)
maxActive(int)可以同时从此池分配的最大活动连接数。默认值为100
maxIdle(int)始终应保留在池中的最大连接数。默认值为maxActive:100定期检查空闲连接(如果启用),并且空闲时间超过minEvictableIdleTimeMillis的连接将被释放。(另请参见testWhileIdle)
maxActive是直接的。maxIdle可以用这种方式进行解释- 假设您有100个最大活动连接,并说将maxIdle设置为80。假设没有请求发送到数据库,则仅测试80个连接(通过validationquery)并将其保持活动状态。其他20个将关闭。因此,在任何时候您只能有80个空闲连接。 您可能希望将其设置为其他数字,以防止其他(不必要的)连接发送到数据库。因为数据库服务的每个连接都会消耗资源(如内存)。 但是,假设您已将maxActive大小设置为100,并且几乎所有时间都在使用所有100,则此设置显然无关紧要。