0

我们正在使用带有 spring 框架 2.0 的 j2ee 应用程序。使用的服务器是tomcat 5.5。使用的数据库是mysql。我们正在使用 VPS 来托管我们的应用程序,我们注意到 CPU 使用率随着更多用户使用我们的应用程序而增加。一旦用户停止使用应用程序,CPU 使用率不会下降。是连接没有正确关闭还是有其他问题?

这是连接的 servlet.xml 配置

<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource">
      <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost/myDB"/>
    <property name="username" value="xxxx"/>
    <property name="password" value="xxxx"/>
    <property name="validationQuery" value="SELECT 1"/>
      <property name="testOnBorrow" value="true"/>
    </bean>

我们也尝试过使用

<bean id="myDataSource"
       class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost/myDB"/>
    <property name="username" value="xxxx"/>
    <property name="password" value="xxxx"/>
 </bean>

但是它们都导致了同样的问题。任何人都可以快速帮助我们吗?因为我们需要尽早纠正这个问题。提前致谢。

4

1 回答 1

0

某些连接池问题不太可能导致 CPU 使用率过高。这可能是您的应用程序代码中的一个错误。您是否监控了数据库连接——它们是否被正确释放和关闭?

顺便说一句,我建议你切换到Tomcat内置的本机连接池。它可以作为标准 Java EE 资源从 Tomcat 中实现的伪 JNDI 中获得。

于 2011-06-19T08:19:38.603 回答