[jboss-user] [Datasource Configuration] - Connection Pool (DataSource) is slow

vlc vlc do-not-reply at jboss.com
Thu Sep 15 13:11:44 EDT 2011


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&containerType=14&container=2077]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20110915/4da2a333/attachment.html 


More information about the jboss-user mailing list