27-Dec-06 (Created: 27-Dec-06) | More in 'Howto'

How to test Connection Pools

Check preloaded connections

The startup of aspire should preload the number of connections that are wanted. You can check this from the log file

The state of the pool should be intact at all times

During the cleanup task make sure that the following formula is always valid

free connections + checked out connections = all connections

Repeated Single page hit

Access a web page once, and then repeatedly. If the connections are preloaded, then the log file should not have an indication of new connections being created.

Multiple pages at the same time

The number of new connectiosn created should take into account the preexisting connections.

Dormant connections test

After a prolonged time of inactivity the number of connections should be at least the minimum number

Guaranteed minimum

At no time should connections be less than the minimum specified

Closing additional connections

After activity the connections should be brought back to their original number.

Cleanup task should allow for checked out connections

The cleanup task should work in parallel with checked out connections

No Orphaned connections

If a connection has been checked out for too long, then it should be flagged or even closed under right circumstances. Ideally there should not be any orphaned connections.

Cleanup task should not interrupt what is going on

Cleanup task should allow the current threads working properly. This task should not be blocking them.

Cleanup task should not drastically affect performance

Cleanup task should minimally impact the workings of the threads.

No dead locks

Threads should not hang either during normal process or during the cleanup task

Commit wrong things

Threads shoudl commit their work before they let go of a connection. Otherwise a subsequent thread might commit a previous threads work.