情况:
给公司做了个网站,需要提供一些下载,还有数据的操作,数据库是mysql。
先前没有统计,直接就提供下载,后来需要加入统计功能,将页面都改成了jsp,然后当有人下载时将数据添加到数据库。
第一版本是直接用jdbc连接数据库,后来发现连接超慢,下载要等9秒才会出现下载框,而且人一多直接就崩掉了。这样肯定是不行的,后来升级了一下,使用了jndi作为连接池,后来发现就快了,情况一直良好。
现在,网站又需要升级,添加了新闻视频展示还有后台管理系统,这些再用以往的servlet肯定累死了,于是我花了一些时间,添加了ssh框架,在spring中,添加了dbcp数据源,原本以为应该没问题了。结果发现,发上去之后,下载比第一版本还慢。我勒个去……十几秒甚至几十秒都不出来,我在本地测试超快的。这……为什么jndi很快,但是spring配置dbcp连接池就超慢呢?求大神解决……代码:
dbcp数据源:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://192.168.58.94:3306/*" />
<property name="username" value="*" />
<property name="password" value="*" />
<property name="maxActive" value="100" />
<property name="maxIdle" value="30" />
<property name="maxWait" value="10000" />
</bean>
jndi配置:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/*" auth="Container"  type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.58.94:3306/*" username="*" password="*" />         
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>*是为了隐藏一些信息,见谅=。=
顺便一说……服务器的ip是192.168.172.11,数据库的ip是192.168.58.94和这有关系没?我从服务器ping数据库服务器很快的说……1ms……springjdbc数据库mysql数据库服务器