Dear Experts,
I run an ecommerce website and I'm doing load testing on the site to see what load it can handle. When I run the case 1000 users in 1 hour, the site breaks down and I start getting the error messages below in the log files.
What settings do I need to change to take care of this. This is the current setup for my DB: I'm using tomcats DBCP connection pool
Thanks
<Context reloadable="true">
<Resource name="jdbc/discountweb" auth="Container" type="javax.sql.DataSource
" maxActive="100" maxIdle="16"
maxWait="1000" username="xxxxx" password="xxxxx" driverClassName="com.mysql
.jdbc.Driv
er"
url="jdbc:mysql://localhos
t/xxxx?aut
oreconnect
=true" />
</Context>
**************************
**********
**********
**********
**********
**********
**********
***
This is the error message:
ERROR 2009-01-15 15:35:56,201 [QuartzScheduler_DS-govaso
ol-labs.co
m123196780
5483_Clust
erManager]
- ClusterManager: Error managing cluster: Failed to obtain DB connection from data source 'springNonTxDataSource.DS'
: org.apache.tomcat.dbcp.dbc
p.SQLNeste
dException
: Cannot get a connection, pool error Timeout waiting for idle object
org.quartz.JobPersistenceE
xception: Failed to obtain DB connection from data source 'springNonTxDataSource.DS'
: org.apache.tomcat.dbcp.dbc
p.SQLNeste
dException
: Cannot get a connection, pool error Timeout waiting for idle object [See nested exception: org.apache.tomcat.dbcp.dbc
p.SQLNeste
dException
: Cannot get a connection, pool error Timeout waiting for idle object]
at org.quartz.impl.jdbcjobsto
re.JobStor
eCMT.getNo
nManagedTX
Connection
(JobStoreC
MT.java:14
54)
at org.quartz.impl.jdbcjobsto
re.JobStor
eCMT.doChe
ckin(JobSt
oreCMT.jav
a:1374)
at org.quartz.impl.jdbcjobsto
re.JobStor
eSupport$C
lusterMana
ger.manage
(JobStoreS
upport.jav
a:2378)
at org.quartz.impl.jdbcjobsto
re.JobStor
eSupport$C
lusterMana
ger.run(Jo
bStoreSupp
ort.java:2
409)
* Nested Exception (Underlying Cause) ---------------
org.apache.tomcat.dbcp.dbc
p.SQLNeste
dException
: Cannot get a connection, pool error Timeout waiting for idle object
at org.apache.tomcat.dbcp.dbc
p.PoolingD
ataSource.
getConnect
ion(Poolin
gDataSourc
e.java:104
)
at org.apache.tomcat.dbcp.dbc
p.BasicDat
aSource.ge
tConnectio
n(BasicDat
aSource.ja
va:880)
at org.springframework.jdbc.d
atasource.
UserCreden
tialsDataS
ourceAdapt
er.doGetCo
nnection(U
serCredent
ialsDataSo
urceAdapte
r.java:161
)
at org.springframework.jdbc.d
atasource.
IsolationL
evelDataSo
urceAdapte
r.doGetCon
nection(Is
olationLev
elDataSour
ceAdapter.
java:127)
at org.springframework.jdbc.d
atasource.
UserCreden
tialsDataS
ourceAdapt
er.getConn
ection(Use
rCredentia
lsDataSour
ceAdapter.
java:132)
at org.springframework.schedu
ling.quart
z.LocalDat
aSourceJob
Store$2.ge
tConnectio
n(LocalDat
aSourceJob
Store.java
:125)
at org.quartz.utils.DBConnect
ionManager
.getConnec
tion(DBCon
nectionMan
ager.java:
111)
at org.quartz.impl.jdbcjobsto
re.JobStor
eCMT.getNo
nManagedTX
Connection
(JobStoreC
MT.java:14
31)
at org.quartz.impl.jdbcjobsto
re.JobStor
eCMT.doChe
ckin(JobSt
oreCMT.jav
a:1374)
at org.quartz.impl.jdbcjobsto
re.JobStor
eSupport$C
lusterMana
ger.manage
(JobStoreS
upport.jav
a:2378)
at org.quartz.impl.jdbcjobsto
re.JobStor
eSupport$C
lusterMana
ger.run(Jo
bStoreSupp
ort.java:2
409)
Caused by: java.util.NoSuchElementExc
eption: Timeout waiting for idle object
at org.apache.tomcat.dbcp.poo
l.impl.Gen
ericObject
Pool.borro
wObject(Ge
nericObjec
tPool.java
:958)
at org.apache.tomcat.dbcp.dbc
p.PoolingD
ataSource.
getConnect
ion(Poolin
gDataSourc
e.java:96)
... 10 more