如何解决Tomcat 数据库连接池在高吞吐量下缓慢
我有用 Spring 2.X 编写的肥皂网络服务,它连接到 teradata 并将结果返回给客户端。为了连接数据,我使用 Tomcat JDBC Connection Pool 作为 DataSource
。
在高峰时段(上午 9 点到下午 6 点),应用程序会收到大约 6 万个事务请求。我观察到一些事务进入挂起状态并在 2-3 分钟内返回响应。我怀疑某些事务进入等待状态,一旦池中的连接可用,则完成事务。
以下是 DataSource
的配置。
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"
destroy-method="close">
<property name="driverClassName" value="com.teradata.jdbc.teraDriver"/>
<property name="url" >
<util:constant static-field=" _DB_HOST"/>
</property>
<property name="username">
<util:constant static-field=" DB_USER"/>
</property>
<property name="password">
<util:constant static-field=" DB_PWD"/>
</property>
<property name="initialSize" value="1" />
<property name="maxActive" value="50" />
<property name="minIdle" value="0" />
<property name="maxWait" value="-1" />
<property name="minevictableIdleTimeMillis" value="1000" />
<property name="timeBetweenevictionRunsMillis" value="1000" />
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
<qualifier value="txnMngr"/>
</bean>
// using JdbcTemplate to read the data from data base.
这是我的问题:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。