1. 问题描述
Web程序在tomcat刚开始运行时速度很快,但过一段时间后发现速度变得很慢。
检查日志输出,发现异常如下:
org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted, cause:
java.util.NoSuchElementException: Timeout waiting for idle object
同时在SQLServer事件探查器中发现,每执行一次sql语句都要产生Audit login事件,语句执行后产生
Audit logout事件。说明每一次tomcat都是重新打开新的连接。
2. 问题解决
tomcat 的数据源定义提供了三个参数:
a. 如果设为true则tomcat自动检查恢复重新利用,没有正常关闭的Connection.(默认是false)
程序代码
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
b. 设定连接在多少秒内被认为是放弃的连接,即可进行恢复利用。
程序代码
<parameter>
<name>removeAbandonedTimeout</name>
<value>60</value>
</parameter>
c. 输出回收的日志,可以详细打印出异常从而发现是在那里发生了泄漏
程序代码
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
分享到:
相关推荐
【标题】"011 装机修改tomcat连接池"涉及到的是在服务器装机配置过程中,调整Apache Tomcat应用服务器的连接池设置。Tomcat是Java Servlet和JavaServer Pages(JSP)的开源实现,它内置了一个数据库连接池,用于管理...
7. **监控与诊断**:Tomcat连接池提供了详细的监控和诊断信息,包括连接的使用情况、等待队列长度等,这些信息可以帮助开发者了解系统的运行状态,及时发现并解决问题。 8. **安全性**:确保连接池中的敏感信息(如...
这些问题可以通过调整连接池参数、定期检查和优化SQL语句、监控系统资源使用情况等手段来解决。 在压缩包文件中,可能包含这些数据库连接池的配置示例、使用教程或特定版本的文档,供用户参考。深入理解这些配置...
在 Tomcat 服务器中配置数据库连接池是一个非常重要的步骤,它可以提高应用程序的性能和可靠性。在这篇文章中,我们将详细介绍如何在 Tomcat 目录下面的 Context.xml 配置文件中配置数据库连接池。 首先,我们需要...
在IT行业中,数据库连接池是优化数据库访问...通过研究提供的源码压缩包,你可以深入理解Tomcat连接池的工作原理,学习如何配置和优化连接池,以及如何在实际应用中正确使用。这将对提升你的Java Web开发技能大有裨益。
- 定期检查和监控数据库连接池的状态,避免连接泄露或资源耗尽问题。 博客链接提到的是ITeye上的一个博客文章,可以进一步查看该文章获取更具体的步骤和实践指导。总的来说,配置数据库连接池是提高Web应用性能的...
总的来说,Lambda Probe是一款强大而实用的Tomcat监控工具,它能够帮助我们更好地理解和优化Tomcat服务器的性能,及时发现和解决问题,提高系统的稳定性和效率。正确地使用和配置Lambda Probe,将极大地提升我们的...
5. **连接器(Connector)监控**:Lambda Probe提供了对Tomcat8连接器的监控,包括连接池状态、并发连接数、处理请求的速度等,这些信息对于调整连接器配置以提高吞吐量很有用。 6. **MBean浏览器**:Lambda Probe...
总结来说,Probe是一款强大的Tomcat监控解决方案,它提供了对数据库连接池、JVM内存、CPU以及其他系统性能的全面监控,帮助管理员优化Tomcat服务器的性能,预防和解决问题。"probe.war"文件是实现这个功能的核心组件...
4. **数据库连接池**:如果Tomcat与数据库交互,监控连接池的状态,如活动连接数、空闲连接数、等待连接队列等。 四、使用技巧与最佳实践 1. **合理设置阈值**:根据应用的实际需求和服务器资源,设定合适的报警...
4. Druid:阿里巴巴开源的数据库连接池,除了基本的连接池功能外,还提供了强大的监控和扩展功能,包括SQL解析、执行性能监控、连接健康检查等。 5. Tomcat JDBC Connection Pool:Tomcat服务器自带的数据库连接池...
Java 连接池是一种优化数据库访问效率的机制,它解决了在Web应用程序中频繁建立和释放数据库连接所导致的性能问题。随着B/S架构的广泛应用,Java应用程序通过JDBC(Java Database Connectivity)与数据库进行交互。...
在JSP中,常见的数据库连接池实现有C3P0、Apache DBCP、HikariCP和Tomcat JDBC Connection Pool等。这些连接池库提供了API供开发者使用。例如,Tomcat JDBC Connection Pool可以集成到Web应用中,通过配置`context....
4. **Druid**:阿里巴巴开源的数据库连接池,除了基本的连接池功能,还提供了监控和扩展能力。Druid的jar包包括`druid.jar`以及可能需要的`druid-stat.jar`和`druid-spring-boot-starter.jar`等。 5. **Tomcat JDBC...
4. **连接管理**:连接池可以监控和管理连接,例如设置超时回收机制,防止连接泄露和资源耗尽。 **数据库连接池的工作原理** 数据库连接池维护一个连接池,其中包含预创建的数据库连接。当应用程序需要连接时,从...
### 数据源和连接池知识点详解 #### 一、概述 在现代Web开发中,数据库连接是极其宝贵的资源。尤其在高并发环境下,频繁地创建和销毁数据库连接会显著降低系统的性能。为此,开发者通常采用数据库连接池技术来优化...
* Proxool的负面评价较少,现在比较推荐它,而且它还提供即时监控连接池状态的功能,便于发现连接泄漏的情况。 * Tomcat JDBC-POOL速度较快,并且支持的功能较多 ...
- 关闭与释放:使用完连接后,需要正确关闭和归还给连接池,避免资源泄露。 - 监控与日志:连接池提供监控接口,可以通过监控工具收集性能指标,帮助优化配置和排查问题。 通过理解这些连接池的工作原理和配置,...
4. **监控与日志**:开启连接池的日志记录,可以帮助我们监控连接池的运行状态,及时发现并解决问题。 5. **连接池选择**:虽然Tomcat 5.5默认使用了`commons-dbcp`,但随着技术的发展,其他连接池如HikariCP、C3P0...