users@glassfish.java.net

Re: Connection pool keep-alive flooding database?

From: Binod <Binod.Pg_at_Sun.COM>
Date: Thu, 18 Jan 2007 16:39:54 +0530

Apart from the fact that each getConnection will do a validation on the
table,
there is nothing in the pool that suggest a SQL*Net message transmission
between AS and Database.

I think the ResourceType is fine. That anyway cannot cause a JDBC ping...

Which version of AS and JDK are you using?

- Binod.
> Binod.Pg wrote:
>
>> Guillaume Bilodeau wrote:
>>
>>> Hi guys,
>>>
>>> We are investigating (aside from the odd app server crash...) a huge
>>> performance problem in our production application. The bottleneck seems
>>> to
>>> be the database server, with its 4 CPUs constantly running at 100%.
>>> After
>>> running several statspack reports, we have discovered that over a period
>>> of
>>> 15 minutes with around 30 open sessions, a total of ~480,000 SQL*Net
>>> messages are exchanged between the app server and the database.
>>>
>>> How is this related to Glassfish? We have configured the Connection Pool
>>> (which uses the oracle.jdbc.pool.OracleDataSource driver) to use
>>> Connection
>>> Validation using the table method. My question is: using these settings,
>>> could Glassfish be pinging the database so often?
>>>
>>> Thanks a lot for your insight,
>>> GB
>>>
>>>
>>>
>> Could you share the complete connection pool settings?
>>
>> - Binod.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>>
>>
>>
>>
>
> Sure:
>
> ---
>
> General Settings
> Name: jdbc/PromoDS
> Datasource Classname: oracle.jdbc.pool.OracleDataSource
> Resource Type: javax.sql.DataSource
> Description: <empty>
>
> Pool Settings
> Initial and Minimum Pool Size: 10 Connections
> Maximum Pool Size: 100 Connections
> Pool Resize Quantity: 5 Connections
> Idle Timeout: 300 Seconds
> Max Wait Time: 60000 Milliseconds
>
> Connection Validation
> Required: Yes
> Validation Method: table
> Table Name: IP_ADDRESS
> On Any Failure: Nothing
> Allow Non Component Callers: Disabled
> Non Transactional Connections: Disabled
>
> Transaction Isolation
> Transaction Isolation: <empty>
> Isolation Level: No (disabled anyway)
>
> Properties
> user - promo
> password - promo
> url - jdbc:oracle:thin:@1.2.3.4:1521:promo
> xa-driver-does-not-support-non-tx-operations - true
>
> ---
>
> Now that I see this I'm wondering if the resource type should be changed to
> javax.sql.ConnectionPoolDataSource instead?
>
> Thanks,
> GB
>
>