PostgreSQL迁移后,系统忙碌。与以前相同的Tomcat7和系统文件

时间:2018-06-22 17:58:31

标签: java postgresql jdbc tomcat7 connection-pooling

我使用新版本的Postgres将系统迁移到其他计算机。 (8.2.23至9.4.5)(我们长时间测试了新版本并解决了一些兼容性错误)。该应用程序具有相同的文件(相同的服务器:tomcat7),并且用户正在使用与之前执行的相同的任务。

我正在监视“ psi-probe 3.0”中的“数据源”。

系统迅速跟踪活动连接的限制。 (很多忙)。 现在,例如,我有15忙,服务器状态(pgadmin)中没有显示任何“交易空闲”进程。仅“空闲”进程。 (表示正常)。为了避免锁定系统,我输入了:maxActive =“ 200”。 (只是延迟直到达到极限)。

尝试解决我升级的JDBC驱动程序:“ postgresql-8.3-604.jdbc3”到“ postgresql-42.2.2.jre7”。 (没有解决)

在上下文中用于连接池控制的配置:

<Resource name="jdbc/emp1" auth="Container" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver" maxWait="10000" maxActive="200" maxIdle="5" removeAbandoned="true" removeAbandonedTimeout="1200" logAbandoned="true" validationQuery="SELECT 1" username="*" url="jdbc:postgresql://*:**/*" password="*"/>

在搜索解决方案之后,我添加了参数:(removeAbandoned,removeAbandonedTimeout和logAbandoned),以为该问题将在应用程序日志中跟踪,并且可能在“ removeAbandonedTimeout”之后将删除繁忙。 (这没有发生)。

迁移后我发现了一些奇怪的情况:

  • 当我停止tomcat时,“ PostgresSQL JDBC驱动程序”的过程没有像以前那样完成。
  • 有时“交易中的空闲”过程会通过一个简单的查询持续存在:“按顺序选择SELECT nextval('sequence_seq01')”。
  • BUSY出现也没有任何过程“交易空闲”。

很久以前,我遇到了一个问题,那就是积累繁忙,但是它与服务器状态(pgadmin)中显示的带有“交易空闲”的进程是对称的。我修复了未关闭连接的代码。 (但现在并非如此)

0 个答案:

没有答案