vlc vlc [
http://community.jboss.org/people/vlc] created the discussion
"Connection Pool (DataSource) is slow"
To view the discussion, visit:
http://community.jboss.org/message/626762#626762
--------------------------------------------------------------
Hi Community,
I am using the following MySQL DataSource XML:
| | <jndi-name>MySQLDB</jndi-name> |
| | <xa-datasource-property
name="URL">jdbc:mysql://127.0.0.1:3306/db</xa-datasource-property> |
| |
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
|
| | <user-name>username</user-name> |
| | <password>password</password> |
| | <!-- <track-connection-by-tx>true</track-connection-by-tx> --> |
| |
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
|
| |
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
|
| | <min-pool-size>10</min-pool-size> |
| | <max-pool-size>100</max-pool-size> |
| | <idle-timeout-minutes>15</idle-timeout-minutes> |
| | <blocking-timeout-millis>500</blocking-timeout-millis> |
| | <track-statements>true</track-statements> |
I am doing something like this:
0. create at application startup DataSource (InitialContext, lookup())
1. execute at each request java.sql.Connection = ds.getConnection();
2. do queries (PreparedStatement-s, ResultSet-s)
3. close PreparedStatement-s, ResultSet-s, Connection object
TEST: I execute 100 or 1000 requests requiring connection to the Database.
The problem is DataSource.getConnection() takes very often 500 ms ~ 600 ms.
At every get connection a new WrappedConnection object is returned (but I expect to reuse
some already created connections)
"show processlist" in MySQL show always 10 connections, jmx-console shows the
pool is working with information like: created, in-use, destroyed connections.
Please give me some answars:
1. Why getConnection() function is so slow?
2. Why diferrent WrappedConnection objects are create at each getConnection() call?
3. The pool is between 10~100. Why does not exceed 10 connections even I execute 100 or
1000 parallel requests.
Thank you for your interest.
Cristi,
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/626762#626762]
Start a new discussion in Datasource Configuration at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]