java - Tomcat数据库连接池高吞吐速度慢
问题描述
我有用 Spring 2.X 编写的肥皂网络服务,它连接到 Teradata并将结果返回给客户端。为了连接数据,我使用Tomcat JDBC 连接池作为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.
以下是我的问题:
- 根据我为我的应用程序提到的负载,上述配置是否有任何问题?
- 有什么方法可以监控数据库连接池的使用吗?
解决方案
推荐阅读
- python - 如何从文件中加载一个类,只给它在 Python 中的字符串规范?
- regex - 新手的基本正则表达式
- python - 使用第二列的百分比变化填充列中的空值,同时按第三列分组
- python - 有没有办法用相对于 repo 的路径读取文件,而不取决于该文件在计算机上的保存位置?
- python - Pyspark 和 Graphframes:聚合消息功率均值
- javascript - 我可以在保存之前使用 webpack 挂钩来修改文件输出吗?
- react-native - 手动管理/删除每个目标自动链接的 pod
- python - 如何在python数据框中获取带有过滤器和索引列的行
- c# - WPF 按图像比例调整矩形大小
- wordpress - 在与发送电子邮件相同的操作中访问 WooCommerce 自定义帖子字段